53 lines
1.4 KiB
C#
53 lines
1.4 KiB
C#
using Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax;
|
|
|
|
namespace Microsoft.CodeAnalysis.CSharp.Syntax;
|
|
|
|
public abstract class NameSyntax : TypeSyntax
|
|
{
|
|
public int Arity
|
|
{
|
|
get
|
|
{
|
|
//IL_0015: Unknown result type (might be due to invalid IL or missing references)
|
|
//IL_001a: Unknown result type (might be due to invalid IL or missing references)
|
|
if (!(this is GenericNameSyntax))
|
|
{
|
|
return 0;
|
|
}
|
|
return ((GenericNameSyntax)this).TypeArgumentList.Arguments.Count;
|
|
}
|
|
}
|
|
|
|
internal abstract SimpleNameSyntax GetUnqualifiedName();
|
|
|
|
internal abstract string ErrorDisplayName();
|
|
|
|
internal string? GetAliasQualifierOpt()
|
|
{
|
|
//IL_0034: Unknown result type (might be due to invalid IL or missing references)
|
|
//IL_0039: Unknown result type (might be due to invalid IL or missing references)
|
|
NameSyntax nameSyntax = this;
|
|
while (true)
|
|
{
|
|
switch (nameSyntax.Kind())
|
|
{
|
|
case SyntaxKind.QualifiedName:
|
|
break;
|
|
case SyntaxKind.AliasQualifiedName:
|
|
{
|
|
SyntaxToken identifier = ((AliasQualifiedNameSyntax)nameSyntax).Alias.Identifier;
|
|
return ((SyntaxToken)(ref identifier)).ValueText;
|
|
}
|
|
default:
|
|
return null;
|
|
}
|
|
nameSyntax = ((QualifiedNameSyntax)nameSyntax).Left;
|
|
}
|
|
}
|
|
|
|
internal NameSyntax(Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.CSharpSyntaxNode green, SyntaxNode? parent, int position)
|
|
: base(green, parent, position)
|
|
{
|
|
}
|
|
}
|