143 lines
6.3 KiB
C#
143 lines
6.3 KiB
C#
using Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax;
|
|
|
|
namespace Microsoft.CodeAnalysis.CSharp.Syntax;
|
|
|
|
public sealed class XmlCrefAttributeSyntax : XmlAttributeSyntax
|
|
{
|
|
private XmlNameSyntax? name;
|
|
|
|
private CrefSyntax? cref;
|
|
|
|
public override XmlNameSyntax Name => ((SyntaxNode)this).GetRedAtZero<XmlNameSyntax>(ref name);
|
|
|
|
public override SyntaxToken EqualsToken => new SyntaxToken((SyntaxNode)(object)this, (GreenNode)(object)((Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.XmlCrefAttributeSyntax)(object)((SyntaxNode)this).Green).equalsToken, ((SyntaxNode)this).GetChildPosition(1), ((SyntaxNode)this).GetChildIndex(1));
|
|
|
|
public override SyntaxToken StartQuoteToken => new SyntaxToken((SyntaxNode)(object)this, (GreenNode)(object)((Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.XmlCrefAttributeSyntax)(object)((SyntaxNode)this).Green).startQuoteToken, ((SyntaxNode)this).GetChildPosition(2), ((SyntaxNode)this).GetChildIndex(2));
|
|
|
|
public CrefSyntax Cref => ((SyntaxNode)this).GetRed<CrefSyntax>(ref cref, 3);
|
|
|
|
public override SyntaxToken EndQuoteToken => new SyntaxToken((SyntaxNode)(object)this, (GreenNode)(object)((Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.XmlCrefAttributeSyntax)(object)((SyntaxNode)this).Green).endQuoteToken, ((SyntaxNode)this).GetChildPosition(4), ((SyntaxNode)this).GetChildIndex(4));
|
|
|
|
internal XmlCrefAttributeSyntax(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<XmlNameSyntax>(ref name),
|
|
3 => ((SyntaxNode)this).GetRed<CrefSyntax>(ref cref, 3),
|
|
_ => null,
|
|
});
|
|
}
|
|
|
|
internal override SyntaxNode? GetCachedSlot(int index)
|
|
{
|
|
return (SyntaxNode?)(index switch
|
|
{
|
|
0 => name,
|
|
3 => cref,
|
|
_ => null,
|
|
});
|
|
}
|
|
|
|
public override void Accept(CSharpSyntaxVisitor visitor)
|
|
{
|
|
visitor.VisitXmlCrefAttribute(this);
|
|
}
|
|
|
|
public override TResult? Accept<TResult>(CSharpSyntaxVisitor<TResult> visitor)
|
|
{
|
|
return visitor.VisitXmlCrefAttribute(this);
|
|
}
|
|
|
|
public XmlCrefAttributeSyntax Update(XmlNameSyntax name, SyntaxToken equalsToken, SyntaxToken startQuoteToken, CrefSyntax cref, SyntaxToken endQuoteToken)
|
|
{
|
|
//IL_003f: Unknown result type (might be due to invalid IL or missing references)
|
|
//IL_0040: Unknown result type (might be due to invalid IL or missing references)
|
|
//IL_0043: Unknown result type (might be due to invalid IL or missing references)
|
|
//IL_0009: Unknown result type (might be due to invalid IL or missing references)
|
|
//IL_000b: Unknown result type (might be due to invalid IL or missing references)
|
|
//IL_0017: Unknown result type (might be due to invalid IL or missing references)
|
|
//IL_0019: Unknown result type (might be due to invalid IL or missing references)
|
|
//IL_002f: Unknown result type (might be due to invalid IL or missing references)
|
|
//IL_0032: Unknown result type (might be due to invalid IL or missing references)
|
|
if (name != Name || equalsToken != EqualsToken || startQuoteToken != StartQuoteToken || cref != Cref || endQuoteToken != EndQuoteToken)
|
|
{
|
|
XmlCrefAttributeSyntax xmlCrefAttributeSyntax = SyntaxFactory.XmlCrefAttribute(name, equalsToken, startQuoteToken, cref, endQuoteToken);
|
|
SyntaxAnnotation[] annotations = ((SyntaxNode)this).GetAnnotations();
|
|
if (annotations == null || annotations.Length == 0)
|
|
{
|
|
return xmlCrefAttributeSyntax;
|
|
}
|
|
return xmlCrefAttributeSyntax.WithAnnotations(annotations);
|
|
}
|
|
return this;
|
|
}
|
|
|
|
internal override XmlAttributeSyntax WithNameCore(XmlNameSyntax name)
|
|
{
|
|
return WithName(name);
|
|
}
|
|
|
|
public new XmlCrefAttributeSyntax WithName(XmlNameSyntax name)
|
|
{
|
|
//IL_0003: Unknown result type (might be due to invalid IL or missing references)
|
|
//IL_0009: Unknown result type (might be due to invalid IL or missing references)
|
|
//IL_0015: Unknown result type (might be due to invalid IL or missing references)
|
|
return Update(name, EqualsToken, StartQuoteToken, Cref, EndQuoteToken);
|
|
}
|
|
|
|
internal override XmlAttributeSyntax WithEqualsTokenCore(SyntaxToken equalsToken)
|
|
{
|
|
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
|
|
return WithEqualsToken(equalsToken);
|
|
}
|
|
|
|
public new XmlCrefAttributeSyntax WithEqualsToken(SyntaxToken equalsToken)
|
|
{
|
|
//IL_0007: Unknown result type (might be due to invalid IL or missing references)
|
|
//IL_0009: Unknown result type (might be due to invalid IL or missing references)
|
|
//IL_0015: Unknown result type (might be due to invalid IL or missing references)
|
|
return Update(Name, equalsToken, StartQuoteToken, Cref, EndQuoteToken);
|
|
}
|
|
|
|
internal override XmlAttributeSyntax WithStartQuoteTokenCore(SyntaxToken startQuoteToken)
|
|
{
|
|
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
|
|
return WithStartQuoteToken(startQuoteToken);
|
|
}
|
|
|
|
public new XmlCrefAttributeSyntax WithStartQuoteToken(SyntaxToken startQuoteToken)
|
|
{
|
|
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
|
|
//IL_000d: Unknown result type (might be due to invalid IL or missing references)
|
|
//IL_0015: Unknown result type (might be due to invalid IL or missing references)
|
|
return Update(Name, EqualsToken, startQuoteToken, Cref, EndQuoteToken);
|
|
}
|
|
|
|
public XmlCrefAttributeSyntax WithCref(CrefSyntax cref)
|
|
{
|
|
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
|
|
//IL_000e: Unknown result type (might be due to invalid IL or missing references)
|
|
//IL_0015: Unknown result type (might be due to invalid IL or missing references)
|
|
return Update(Name, EqualsToken, StartQuoteToken, cref, EndQuoteToken);
|
|
}
|
|
|
|
internal override XmlAttributeSyntax WithEndQuoteTokenCore(SyntaxToken endQuoteToken)
|
|
{
|
|
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
|
|
return WithEndQuoteToken(endQuoteToken);
|
|
}
|
|
|
|
public new XmlCrefAttributeSyntax WithEndQuoteToken(SyntaxToken endQuoteToken)
|
|
{
|
|
//IL_0008: Unknown result type (might be due to invalid IL or missing references)
|
|
//IL_000e: Unknown result type (might be due to invalid IL or missing references)
|
|
//IL_0019: Unknown result type (might be due to invalid IL or missing references)
|
|
return Update(Name, EqualsToken, StartQuoteToken, Cref, endQuoteToken);
|
|
}
|
|
}
|