Files
PURErat-crack-scode/decompiled/Libraries/microsoft.codeanalysis.csharp/Microsoft.CodeAnalysis.CSharp.Syntax/NameMemberCrefSyntax.cs
T
2026-08-27 10:56:38 -06:00

87 lines
2.7 KiB
C#

using System.Collections.Generic;
using Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax;
namespace Microsoft.CodeAnalysis.CSharp.Syntax;
public sealed class NameMemberCrefSyntax : MemberCrefSyntax
{
private TypeSyntax? name;
private CrefParameterListSyntax? parameters;
public TypeSyntax Name => ((SyntaxNode)this).GetRedAtZero<TypeSyntax>(ref name);
public CrefParameterListSyntax? Parameters => ((SyntaxNode)this).GetRed<CrefParameterListSyntax>(ref parameters, 1);
internal NameMemberCrefSyntax(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position)
: base(green, parent, position)
{
}
internal override SyntaxNode? GetNodeSlot(int index)
{
return (SyntaxNode?)(index switch
{
0 => ((SyntaxNode)this).GetRedAtZero<TypeSyntax>(ref name),
1 => ((SyntaxNode)this).GetRed<CrefParameterListSyntax>(ref parameters, 1),
_ => null,
});
}
internal override SyntaxNode? GetCachedSlot(int index)
{
return (SyntaxNode?)(index switch
{
0 => name,
1 => parameters,
_ => null,
});
}
public override void Accept(CSharpSyntaxVisitor visitor)
{
visitor.VisitNameMemberCref(this);
}
public override TResult? Accept<TResult>(CSharpSyntaxVisitor<TResult> visitor)
{
return visitor.VisitNameMemberCref(this);
}
public NameMemberCrefSyntax Update(TypeSyntax name, CrefParameterListSyntax? parameters)
{
if (name != Name || parameters != Parameters)
{
NameMemberCrefSyntax nameMemberCrefSyntax = SyntaxFactory.NameMemberCref(name, parameters);
SyntaxAnnotation[] annotations = ((SyntaxNode)this).GetAnnotations();
if (annotations == null || annotations.Length == 0)
{
return nameMemberCrefSyntax;
}
return nameMemberCrefSyntax.WithAnnotations(annotations);
}
return this;
}
public NameMemberCrefSyntax WithName(TypeSyntax name)
{
return Update(name, Parameters);
}
public NameMemberCrefSyntax WithParameters(CrefParameterListSyntax? parameters)
{
return Update(Name, parameters);
}
public NameMemberCrefSyntax AddParametersParameters(params CrefParameterSyntax[] items)
{
//IL_001c: Unknown result type (might be due to invalid IL or missing references)
//IL_0021: Unknown result type (might be due to invalid IL or missing references)
//IL_0025: Unknown result type (might be due to invalid IL or missing references)
//IL_000c: Unknown result type (might be due to invalid IL or missing references)
//IL_0012: Unknown result type (might be due to invalid IL or missing references)
CrefParameterListSyntax crefParameterListSyntax = Parameters ?? SyntaxFactory.CrefParameterList();
return WithParameters(crefParameterListSyntax.WithParameters(crefParameterListSyntax.Parameters.AddRange((IEnumerable<CrefParameterSyntax>)items)));
}
}