using System; using System.Collections.Generic; using Microsoft.CodeAnalysis.Syntax.InternalSyntax; namespace Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax; internal static class SyntaxFactory { private const string CrLf = "\r\n"; internal static readonly SyntaxTrivia CarriageReturnLineFeed = EndOfLine("\r\n"); internal static readonly SyntaxTrivia LineFeed = EndOfLine("\n"); internal static readonly SyntaxTrivia CarriageReturn = EndOfLine("\r"); internal static readonly SyntaxTrivia Space = Whitespace(" "); internal static readonly SyntaxTrivia Tab = Whitespace("\t"); internal static readonly SyntaxTrivia ElasticCarriageReturnLineFeed = EndOfLine("\r\n", elastic: true); internal static readonly SyntaxTrivia ElasticLineFeed = EndOfLine("\n", elastic: true); internal static readonly SyntaxTrivia ElasticCarriageReturn = EndOfLine("\r", elastic: true); internal static readonly SyntaxTrivia ElasticSpace = Whitespace(" ", elastic: true); internal static readonly SyntaxTrivia ElasticTab = Whitespace("\t", elastic: true); internal static readonly SyntaxTrivia ElasticZeroSpace = Whitespace(string.Empty, elastic: true); private static SyntaxToken s_xmlCarriageReturnLineFeed; private static SyntaxToken XmlCarriageReturnLineFeed => s_xmlCarriageReturnLineFeed ?? (s_xmlCarriageReturnLineFeed = XmlTextNewLine("\r\n")); internal static SyntaxTrivia EndOfLine(string text, bool elastic = false) { SyntaxTrivia syntaxTrivia = null; switch (text) { case "\r": syntaxTrivia = (elastic ? ElasticCarriageReturn : CarriageReturn); break; case "\n": syntaxTrivia = (elastic ? ElasticLineFeed : LineFeed); break; case "\r\n": syntaxTrivia = (elastic ? ElasticCarriageReturnLineFeed : CarriageReturnLineFeed); break; } if (syntaxTrivia != null) { return syntaxTrivia; } syntaxTrivia = SyntaxTrivia.Create(SyntaxKind.EndOfLineTrivia, text); if (!elastic) { return syntaxTrivia; } return GreenNodeExtensions.WithAnnotationsGreen(syntaxTrivia, (IEnumerable)(object)new SyntaxAnnotation[1] { SyntaxAnnotation.ElasticAnnotation }); } internal static SyntaxTrivia Whitespace(string text, bool elastic = false) { SyntaxTrivia syntaxTrivia = SyntaxTrivia.Create(SyntaxKind.WhitespaceTrivia, text); if (!elastic) { return syntaxTrivia; } return GreenNodeExtensions.WithAnnotationsGreen(syntaxTrivia, (IEnumerable)(object)new SyntaxAnnotation[1] { SyntaxAnnotation.ElasticAnnotation }); } internal static SyntaxTrivia Comment(string text) { if (text.StartsWith("/*", StringComparison.Ordinal)) { return SyntaxTrivia.Create(SyntaxKind.MultiLineCommentTrivia, text); } return SyntaxTrivia.Create(SyntaxKind.SingleLineCommentTrivia, text); } internal static SyntaxTrivia ConflictMarker(string text) { return SyntaxTrivia.Create(SyntaxKind.ConflictMarkerTrivia, text); } internal static SyntaxTrivia DisabledText(string text) { return SyntaxTrivia.Create(SyntaxKind.DisabledTextTrivia, text); } internal static SyntaxTrivia PreprocessingMessage(string text) { return SyntaxTrivia.Create(SyntaxKind.PreprocessingMessageTrivia, text); } public static SyntaxToken Token(SyntaxKind kind) { return SyntaxToken.Create(kind); } internal static SyntaxToken Token(GreenNode leading, SyntaxKind kind, GreenNode trailing) { return SyntaxToken.Create(kind, leading, trailing); } internal static SyntaxToken Token(GreenNode leading, SyntaxKind kind, string text, GreenNode trailing) { return Token(leading, kind, text, text, trailing); } internal static SyntaxToken Token(GreenNode leading, SyntaxKind kind, string text, string valueText, GreenNode trailing) { string text2 = SyntaxFacts.GetText(kind); if ((int)kind < 8193 || (int)kind > 8496 || !(text == text2) || !(valueText == text2)) { return SyntaxToken.WithValue(kind, leading, text, valueText, trailing); } return Token(leading, kind, trailing); } internal static SyntaxToken MissingToken(SyntaxKind kind) { return SyntaxToken.CreateMissing(kind, null, null); } internal static SyntaxToken MissingToken(GreenNode leading, SyntaxKind kind, GreenNode trailing) { return SyntaxToken.CreateMissing(kind, leading, trailing); } internal static SyntaxToken Identifier(string text) { return Identifier(SyntaxKind.IdentifierToken, null, text, text, null); } internal static SyntaxToken Identifier(GreenNode leading, string text, GreenNode trailing) { return Identifier(SyntaxKind.IdentifierToken, leading, text, text, trailing); } internal static SyntaxToken Identifier(SyntaxKind contextualKind, GreenNode leading, string text, string valueText, GreenNode trailing) { return SyntaxToken.Identifier(contextualKind, leading, text, valueText, trailing); } internal static SyntaxToken Literal(GreenNode leading, string text, int value, GreenNode trailing) { return SyntaxToken.WithValue(SyntaxKind.NumericLiteralToken, leading, text, value, trailing); } internal static SyntaxToken Literal(GreenNode leading, string text, uint value, GreenNode trailing) { return SyntaxToken.WithValue(SyntaxKind.NumericLiteralToken, leading, text, value, trailing); } internal static SyntaxToken Literal(GreenNode leading, string text, long value, GreenNode trailing) { return SyntaxToken.WithValue(SyntaxKind.NumericLiteralToken, leading, text, value, trailing); } internal static SyntaxToken Literal(GreenNode leading, string text, ulong value, GreenNode trailing) { return SyntaxToken.WithValue(SyntaxKind.NumericLiteralToken, leading, text, value, trailing); } internal static SyntaxToken Literal(GreenNode leading, string text, float value, GreenNode trailing) { return SyntaxToken.WithValue(SyntaxKind.NumericLiteralToken, leading, text, value, trailing); } internal static SyntaxToken Literal(GreenNode leading, string text, double value, GreenNode trailing) { return SyntaxToken.WithValue(SyntaxKind.NumericLiteralToken, leading, text, value, trailing); } internal static SyntaxToken Literal(GreenNode leading, string text, decimal value, GreenNode trailing) { return SyntaxToken.WithValue(SyntaxKind.NumericLiteralToken, leading, text, value, trailing); } internal static SyntaxToken Literal(GreenNode leading, string text, string value, GreenNode trailing) { return SyntaxToken.WithValue(SyntaxKind.StringLiteralToken, leading, text, value, trailing); } internal static SyntaxToken Literal(GreenNode leading, string text, SyntaxKind kind, string value, GreenNode trailing) { return SyntaxToken.WithValue(kind, leading, text, value, trailing); } internal static SyntaxToken Literal(GreenNode leading, string text, char value, GreenNode trailing) { return SyntaxToken.WithValue(SyntaxKind.CharacterLiteralToken, leading, text, value, trailing); } internal static SyntaxToken BadToken(GreenNode leading, string text, GreenNode trailing) { return SyntaxToken.WithValue(SyntaxKind.BadToken, leading, text, text, trailing); } internal static SyntaxToken XmlTextLiteral(GreenNode leading, string text, string value, GreenNode trailing) { return SyntaxToken.WithValue(SyntaxKind.XmlTextLiteralToken, leading, text, value, trailing); } internal static SyntaxToken XmlTextNewLine(GreenNode leading, string text, string value, GreenNode trailing) { if (leading == null && trailing == null && text == "\r\n" && value == "\r\n") { return XmlCarriageReturnLineFeed; } return SyntaxToken.WithValue(SyntaxKind.XmlTextLiteralNewLineToken, leading, text, value, trailing); } internal static SyntaxToken XmlTextNewLine(string text) { return SyntaxToken.WithValue(SyntaxKind.XmlTextLiteralNewLineToken, null, text, text, null); } internal static SyntaxToken XmlEntity(GreenNode leading, string text, string value, GreenNode trailing) { return SyntaxToken.WithValue(SyntaxKind.XmlEntityLiteralToken, leading, text, value, trailing); } internal static SyntaxTrivia DocumentationCommentExteriorTrivia(string text) { return SyntaxTrivia.Create(SyntaxKind.DocumentationCommentExteriorTrivia, text); } public static SyntaxList List() where TNode : CSharpSyntaxNode { //IL_0002: Unknown result type (might be due to invalid IL or missing references) //IL_0008: Unknown result type (might be due to invalid IL or missing references) return default(SyntaxList); } public static SyntaxList List(TNode node) where TNode : CSharpSyntaxNode { //IL_000b: Unknown result type (might be due to invalid IL or missing references) return new SyntaxList(SyntaxList.List((GreenNode)(object)node)); } public static SyntaxList List(TNode node0, TNode node1) where TNode : CSharpSyntaxNode { //IL_0011: Unknown result type (might be due to invalid IL or missing references) return new SyntaxList((GreenNode)(object)SyntaxList.List((GreenNode)(object)node0, (GreenNode)(object)node1)); } internal static GreenNode ListNode(CSharpSyntaxNode node0, CSharpSyntaxNode node1) { return (GreenNode)(object)SyntaxList.List((GreenNode)(object)node0, (GreenNode)(object)node1); } public static SyntaxList List(TNode node0, TNode node1, TNode node2) where TNode : CSharpSyntaxNode { //IL_0017: Unknown result type (might be due to invalid IL or missing references) return new SyntaxList((GreenNode)(object)SyntaxList.List((GreenNode)(object)node0, (GreenNode)(object)node1, (GreenNode)(object)node2)); } internal static GreenNode ListNode(CSharpSyntaxNode node0, CSharpSyntaxNode node1, CSharpSyntaxNode node2) { return (GreenNode)(object)SyntaxList.List((GreenNode)(object)node0, (GreenNode)(object)node1, (GreenNode)(object)node2); } public static SyntaxList List(params TNode[] nodes) where TNode : CSharpSyntaxNode { //IL_0013: 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_000b: Unknown result type (might be due to invalid IL or missing references) if (nodes != null) { return new SyntaxList(SyntaxList.List((GreenNode[])(object)nodes)); } return default(SyntaxList); } internal static GreenNode ListNode(params ArrayElement[] nodes) { return (GreenNode)(object)SyntaxList.List(nodes); } public static SeparatedSyntaxList SeparatedList(TNode node) where TNode : CSharpSyntaxNode { //IL_0006: 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_0010: Unknown result type (might be due to invalid IL or missing references) return new SeparatedSyntaxList(SyntaxList.op_Implicit(new SyntaxList((GreenNode)(object)node))); } public static SeparatedSyntaxList SeparatedList(SyntaxToken token) where TNode : CSharpSyntaxNode { //IL_0001: Unknown result type (might be due to invalid IL or missing references) //IL_0006: 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) return new SeparatedSyntaxList(SyntaxList.op_Implicit(new SyntaxList((GreenNode)(object)token))); } public static SeparatedSyntaxList SeparatedList(TNode node1, SyntaxToken token, TNode node2) where TNode : CSharpSyntaxNode { //IL_0012: 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_001c: Unknown result type (might be due to invalid IL or missing references) return new SeparatedSyntaxList(SyntaxList.op_Implicit(new SyntaxList((GreenNode)(object)SyntaxList.List((GreenNode)(object)node1, (GreenNode)(object)token, (GreenNode)(object)node2)))); } public static SeparatedSyntaxList SeparatedList(params CSharpSyntaxNode[] nodes) where TNode : CSharpSyntaxNode { //IL_0018: Unknown result type (might be due to invalid IL or missing references) //IL_001e: 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_0010: Unknown result type (might be due to invalid IL or missing references) if (nodes != null) { return new SeparatedSyntaxList(SyntaxList.op_Implicit(SyntaxList.List((GreenNode[])(object)nodes))); } return default(SeparatedSyntaxList); } internal static IEnumerable GetWellKnownTrivia() { yield return CarriageReturnLineFeed; yield return LineFeed; yield return CarriageReturn; yield return Space; yield return Tab; yield return ElasticCarriageReturnLineFeed; yield return ElasticLineFeed; yield return ElasticCarriageReturn; yield return ElasticSpace; yield return ElasticTab; yield return ElasticZeroSpace; } internal static IEnumerable GetWellKnownTokens() { return SyntaxToken.GetWellKnownTokens(); } public static IdentifierNameSyntax IdentifierName(SyntaxToken identifier) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8616, (GreenNode)(object)identifier, ref num); if (val != null) { return (IdentifierNameSyntax)(object)val; } IdentifierNameSyntax identifierNameSyntax = new IdentifierNameSyntax(SyntaxKind.IdentifierName, identifier); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)identifierNameSyntax, num); } return identifierNameSyntax; } public static QualifiedNameSyntax QualifiedName(NameSyntax left, SyntaxToken dotToken, SimpleNameSyntax right) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8617, (GreenNode)(object)left, (GreenNode)(object)dotToken, (GreenNode)(object)right, ref num); if (val != null) { return (QualifiedNameSyntax)(object)val; } QualifiedNameSyntax qualifiedNameSyntax = new QualifiedNameSyntax(SyntaxKind.QualifiedName, left, dotToken, right); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)qualifiedNameSyntax, num); } return qualifiedNameSyntax; } public static GenericNameSyntax GenericName(SyntaxToken identifier, TypeArgumentListSyntax typeArgumentList) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8618, (GreenNode)(object)identifier, (GreenNode)(object)typeArgumentList, ref num); if (val != null) { return (GenericNameSyntax)(object)val; } GenericNameSyntax genericNameSyntax = new GenericNameSyntax(SyntaxKind.GenericName, identifier, typeArgumentList); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)genericNameSyntax, num); } return genericNameSyntax; } public static TypeArgumentListSyntax TypeArgumentList(SyntaxToken lessThanToken, SeparatedSyntaxList arguments, SyntaxToken greaterThanToken) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8619, (GreenNode)(object)lessThanToken, arguments.Node, (GreenNode)(object)greaterThanToken, ref num); if (val != null) { return (TypeArgumentListSyntax)(object)val; } TypeArgumentListSyntax typeArgumentListSyntax = new TypeArgumentListSyntax(SyntaxKind.TypeArgumentList, lessThanToken, arguments.Node, greaterThanToken); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)typeArgumentListSyntax, num); } return typeArgumentListSyntax; } public static AliasQualifiedNameSyntax AliasQualifiedName(IdentifierNameSyntax alias, SyntaxToken colonColonToken, SimpleNameSyntax name) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8620, (GreenNode)(object)alias, (GreenNode)(object)colonColonToken, (GreenNode)(object)name, ref num); if (val != null) { return (AliasQualifiedNameSyntax)(object)val; } AliasQualifiedNameSyntax aliasQualifiedNameSyntax = new AliasQualifiedNameSyntax(SyntaxKind.AliasQualifiedName, alias, colonColonToken, name); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)aliasQualifiedNameSyntax, num); } return aliasQualifiedNameSyntax; } public static PredefinedTypeSyntax PredefinedType(SyntaxToken keyword) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8621, (GreenNode)(object)keyword, ref num); if (val != null) { return (PredefinedTypeSyntax)(object)val; } PredefinedTypeSyntax predefinedTypeSyntax = new PredefinedTypeSyntax(SyntaxKind.PredefinedType, keyword); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)predefinedTypeSyntax, num); } return predefinedTypeSyntax; } public static ArrayTypeSyntax ArrayType(TypeSyntax elementType, SyntaxList rankSpecifiers) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8622, (GreenNode)(object)elementType, rankSpecifiers.Node, ref num); if (val != null) { return (ArrayTypeSyntax)(object)val; } ArrayTypeSyntax arrayTypeSyntax = new ArrayTypeSyntax(SyntaxKind.ArrayType, elementType, rankSpecifiers.Node); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)arrayTypeSyntax, num); } return arrayTypeSyntax; } public static ArrayRankSpecifierSyntax ArrayRankSpecifier(SyntaxToken openBracketToken, SeparatedSyntaxList sizes, SyntaxToken closeBracketToken) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8623, (GreenNode)(object)openBracketToken, sizes.Node, (GreenNode)(object)closeBracketToken, ref num); if (val != null) { return (ArrayRankSpecifierSyntax)(object)val; } ArrayRankSpecifierSyntax arrayRankSpecifierSyntax = new ArrayRankSpecifierSyntax(SyntaxKind.ArrayRankSpecifier, openBracketToken, sizes.Node, closeBracketToken); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)arrayRankSpecifierSyntax, num); } return arrayRankSpecifierSyntax; } public static PointerTypeSyntax PointerType(TypeSyntax elementType, SyntaxToken asteriskToken) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8624, (GreenNode)(object)elementType, (GreenNode)(object)asteriskToken, ref num); if (val != null) { return (PointerTypeSyntax)(object)val; } PointerTypeSyntax pointerTypeSyntax = new PointerTypeSyntax(SyntaxKind.PointerType, elementType, asteriskToken); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)pointerTypeSyntax, num); } return pointerTypeSyntax; } public static FunctionPointerTypeSyntax FunctionPointerType(SyntaxToken delegateKeyword, SyntaxToken asteriskToken, FunctionPointerCallingConventionSyntax? callingConvention, FunctionPointerParameterListSyntax parameterList) { return new FunctionPointerTypeSyntax(SyntaxKind.FunctionPointerType, delegateKeyword, asteriskToken, callingConvention, parameterList); } public static FunctionPointerParameterListSyntax FunctionPointerParameterList(SyntaxToken lessThanToken, SeparatedSyntaxList parameters, SyntaxToken greaterThanToken) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(9058, (GreenNode)(object)lessThanToken, parameters.Node, (GreenNode)(object)greaterThanToken, ref num); if (val != null) { return (FunctionPointerParameterListSyntax)(object)val; } FunctionPointerParameterListSyntax functionPointerParameterListSyntax = new FunctionPointerParameterListSyntax(SyntaxKind.FunctionPointerParameterList, lessThanToken, parameters.Node, greaterThanToken); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)functionPointerParameterListSyntax, num); } return functionPointerParameterListSyntax; } public static FunctionPointerCallingConventionSyntax FunctionPointerCallingConvention(SyntaxToken managedOrUnmanagedKeyword, FunctionPointerUnmanagedCallingConventionListSyntax? unmanagedCallingConventionList) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(9059, (GreenNode)(object)managedOrUnmanagedKeyword, (GreenNode)(object)unmanagedCallingConventionList, ref num); if (val != null) { return (FunctionPointerCallingConventionSyntax)(object)val; } FunctionPointerCallingConventionSyntax functionPointerCallingConventionSyntax = new FunctionPointerCallingConventionSyntax(SyntaxKind.FunctionPointerCallingConvention, managedOrUnmanagedKeyword, unmanagedCallingConventionList); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)functionPointerCallingConventionSyntax, num); } return functionPointerCallingConventionSyntax; } public static FunctionPointerUnmanagedCallingConventionListSyntax FunctionPointerUnmanagedCallingConventionList(SyntaxToken openBracketToken, SeparatedSyntaxList callingConventions, SyntaxToken closeBracketToken) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(9066, (GreenNode)(object)openBracketToken, callingConventions.Node, (GreenNode)(object)closeBracketToken, ref num); if (val != null) { return (FunctionPointerUnmanagedCallingConventionListSyntax)(object)val; } FunctionPointerUnmanagedCallingConventionListSyntax functionPointerUnmanagedCallingConventionListSyntax = new FunctionPointerUnmanagedCallingConventionListSyntax(SyntaxKind.FunctionPointerUnmanagedCallingConventionList, openBracketToken, callingConventions.Node, closeBracketToken); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)functionPointerUnmanagedCallingConventionListSyntax, num); } return functionPointerUnmanagedCallingConventionListSyntax; } public static FunctionPointerUnmanagedCallingConventionSyntax FunctionPointerUnmanagedCallingConvention(SyntaxToken name) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(9067, (GreenNode)(object)name, ref num); if (val != null) { return (FunctionPointerUnmanagedCallingConventionSyntax)(object)val; } FunctionPointerUnmanagedCallingConventionSyntax functionPointerUnmanagedCallingConventionSyntax = new FunctionPointerUnmanagedCallingConventionSyntax(SyntaxKind.FunctionPointerUnmanagedCallingConvention, name); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)functionPointerUnmanagedCallingConventionSyntax, num); } return functionPointerUnmanagedCallingConventionSyntax; } public static NullableTypeSyntax NullableType(TypeSyntax elementType, SyntaxToken questionToken) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8625, (GreenNode)(object)elementType, (GreenNode)(object)questionToken, ref num); if (val != null) { return (NullableTypeSyntax)(object)val; } NullableTypeSyntax nullableTypeSyntax = new NullableTypeSyntax(SyntaxKind.NullableType, elementType, questionToken); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)nullableTypeSyntax, num); } return nullableTypeSyntax; } public static TupleTypeSyntax TupleType(SyntaxToken openParenToken, SeparatedSyntaxList elements, SyntaxToken closeParenToken) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8924, (GreenNode)(object)openParenToken, elements.Node, (GreenNode)(object)closeParenToken, ref num); if (val != null) { return (TupleTypeSyntax)(object)val; } TupleTypeSyntax tupleTypeSyntax = new TupleTypeSyntax(SyntaxKind.TupleType, openParenToken, elements.Node, closeParenToken); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)tupleTypeSyntax, num); } return tupleTypeSyntax; } public static TupleElementSyntax TupleElement(TypeSyntax type, SyntaxToken? identifier) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8925, (GreenNode)(object)type, (GreenNode)(object)identifier, ref num); if (val != null) { return (TupleElementSyntax)(object)val; } TupleElementSyntax tupleElementSyntax = new TupleElementSyntax(SyntaxKind.TupleElement, type, identifier); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)tupleElementSyntax, num); } return tupleElementSyntax; } public static OmittedTypeArgumentSyntax OmittedTypeArgument(SyntaxToken omittedTypeArgumentToken) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8626, (GreenNode)(object)omittedTypeArgumentToken, ref num); if (val != null) { return (OmittedTypeArgumentSyntax)(object)val; } OmittedTypeArgumentSyntax omittedTypeArgumentSyntax = new OmittedTypeArgumentSyntax(SyntaxKind.OmittedTypeArgument, omittedTypeArgumentToken); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)omittedTypeArgumentSyntax, num); } return omittedTypeArgumentSyntax; } public static RefTypeSyntax RefType(SyntaxToken refKeyword, SyntaxToken? readOnlyKeyword, TypeSyntax type) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(9051, (GreenNode)(object)refKeyword, (GreenNode)(object)readOnlyKeyword, (GreenNode)(object)type, ref num); if (val != null) { return (RefTypeSyntax)(object)val; } RefTypeSyntax refTypeSyntax = new RefTypeSyntax(SyntaxKind.RefType, refKeyword, readOnlyKeyword, type); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)refTypeSyntax, num); } return refTypeSyntax; } public static ScopedTypeSyntax ScopedType(SyntaxToken scopedKeyword, TypeSyntax type) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(9075, (GreenNode)(object)scopedKeyword, (GreenNode)(object)type, ref num); if (val != null) { return (ScopedTypeSyntax)(object)val; } ScopedTypeSyntax scopedTypeSyntax = new ScopedTypeSyntax(SyntaxKind.ScopedType, scopedKeyword, type); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)scopedTypeSyntax, num); } return scopedTypeSyntax; } public static ParenthesizedExpressionSyntax ParenthesizedExpression(SyntaxToken openParenToken, ExpressionSyntax expression, SyntaxToken closeParenToken) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8632, (GreenNode)(object)openParenToken, (GreenNode)(object)expression, (GreenNode)(object)closeParenToken, ref num); if (val != null) { return (ParenthesizedExpressionSyntax)(object)val; } ParenthesizedExpressionSyntax parenthesizedExpressionSyntax = new ParenthesizedExpressionSyntax(SyntaxKind.ParenthesizedExpression, openParenToken, expression, closeParenToken); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)parenthesizedExpressionSyntax, num); } return parenthesizedExpressionSyntax; } public static TupleExpressionSyntax TupleExpression(SyntaxToken openParenToken, SeparatedSyntaxList arguments, SyntaxToken closeParenToken) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8926, (GreenNode)(object)openParenToken, arguments.Node, (GreenNode)(object)closeParenToken, ref num); if (val != null) { return (TupleExpressionSyntax)(object)val; } TupleExpressionSyntax tupleExpressionSyntax = new TupleExpressionSyntax(SyntaxKind.TupleExpression, openParenToken, arguments.Node, closeParenToken); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)tupleExpressionSyntax, num); } return tupleExpressionSyntax; } public static PrefixUnaryExpressionSyntax PrefixUnaryExpression(SyntaxKind kind, SyntaxToken operatorToken, ExpressionSyntax operand) { if (kind - 8730 > (SyntaxKind)7 && kind != SyntaxKind.IndexExpression) { throw new ArgumentException("kind"); } int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode((int)kind, (GreenNode)(object)operatorToken, (GreenNode)(object)operand, ref num); if (val != null) { return (PrefixUnaryExpressionSyntax)(object)val; } PrefixUnaryExpressionSyntax prefixUnaryExpressionSyntax = new PrefixUnaryExpressionSyntax(kind, operatorToken, operand); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)prefixUnaryExpressionSyntax, num); } return prefixUnaryExpressionSyntax; } public static AwaitExpressionSyntax AwaitExpression(SyntaxToken awaitKeyword, ExpressionSyntax expression) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8740, (GreenNode)(object)awaitKeyword, (GreenNode)(object)expression, ref num); if (val != null) { return (AwaitExpressionSyntax)(object)val; } AwaitExpressionSyntax awaitExpressionSyntax = new AwaitExpressionSyntax(SyntaxKind.AwaitExpression, awaitKeyword, expression); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)awaitExpressionSyntax, num); } return awaitExpressionSyntax; } public static PostfixUnaryExpressionSyntax PostfixUnaryExpression(SyntaxKind kind, ExpressionSyntax operand, SyntaxToken operatorToken) { if (kind - 8738 > SyntaxKind.List && kind != SyntaxKind.SuppressNullableWarningExpression) { throw new ArgumentException("kind"); } int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode((int)kind, (GreenNode)(object)operand, (GreenNode)(object)operatorToken, ref num); if (val != null) { return (PostfixUnaryExpressionSyntax)(object)val; } PostfixUnaryExpressionSyntax postfixUnaryExpressionSyntax = new PostfixUnaryExpressionSyntax(kind, operand, operatorToken); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)postfixUnaryExpressionSyntax, num); } return postfixUnaryExpressionSyntax; } public static MemberAccessExpressionSyntax MemberAccessExpression(SyntaxKind kind, ExpressionSyntax expression, SyntaxToken operatorToken, SimpleNameSyntax name) { if (kind - 8689 > SyntaxKind.List) { throw new ArgumentException("kind"); } int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode((int)kind, (GreenNode)(object)expression, (GreenNode)(object)operatorToken, (GreenNode)(object)name, ref num); if (val != null) { return (MemberAccessExpressionSyntax)(object)val; } MemberAccessExpressionSyntax memberAccessExpressionSyntax = new MemberAccessExpressionSyntax(kind, expression, operatorToken, name); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)memberAccessExpressionSyntax, num); } return memberAccessExpressionSyntax; } public static ConditionalAccessExpressionSyntax ConditionalAccessExpression(ExpressionSyntax expression, SyntaxToken operatorToken, ExpressionSyntax whenNotNull) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8691, (GreenNode)(object)expression, (GreenNode)(object)operatorToken, (GreenNode)(object)whenNotNull, ref num); if (val != null) { return (ConditionalAccessExpressionSyntax)(object)val; } ConditionalAccessExpressionSyntax conditionalAccessExpressionSyntax = new ConditionalAccessExpressionSyntax(SyntaxKind.ConditionalAccessExpression, expression, operatorToken, whenNotNull); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)conditionalAccessExpressionSyntax, num); } return conditionalAccessExpressionSyntax; } public static MemberBindingExpressionSyntax MemberBindingExpression(SyntaxToken operatorToken, SimpleNameSyntax name) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8707, (GreenNode)(object)operatorToken, (GreenNode)(object)name, ref num); if (val != null) { return (MemberBindingExpressionSyntax)(object)val; } MemberBindingExpressionSyntax memberBindingExpressionSyntax = new MemberBindingExpressionSyntax(SyntaxKind.MemberBindingExpression, operatorToken, name); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)memberBindingExpressionSyntax, num); } return memberBindingExpressionSyntax; } public static ElementBindingExpressionSyntax ElementBindingExpression(BracketedArgumentListSyntax argumentList) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8708, (GreenNode)(object)argumentList, ref num); if (val != null) { return (ElementBindingExpressionSyntax)(object)val; } ElementBindingExpressionSyntax elementBindingExpressionSyntax = new ElementBindingExpressionSyntax(SyntaxKind.ElementBindingExpression, argumentList); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)elementBindingExpressionSyntax, num); } return elementBindingExpressionSyntax; } public static RangeExpressionSyntax RangeExpression(ExpressionSyntax? leftOperand, SyntaxToken operatorToken, ExpressionSyntax? rightOperand) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8658, (GreenNode)(object)leftOperand, (GreenNode)(object)operatorToken, (GreenNode)(object)rightOperand, ref num); if (val != null) { return (RangeExpressionSyntax)(object)val; } RangeExpressionSyntax rangeExpressionSyntax = new RangeExpressionSyntax(SyntaxKind.RangeExpression, leftOperand, operatorToken, rightOperand); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)rangeExpressionSyntax, num); } return rangeExpressionSyntax; } public static ImplicitElementAccessSyntax ImplicitElementAccess(BracketedArgumentListSyntax argumentList) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8656, (GreenNode)(object)argumentList, ref num); if (val != null) { return (ImplicitElementAccessSyntax)(object)val; } ImplicitElementAccessSyntax implicitElementAccessSyntax = new ImplicitElementAccessSyntax(SyntaxKind.ImplicitElementAccess, argumentList); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)implicitElementAccessSyntax, num); } return implicitElementAccessSyntax; } public static BinaryExpressionSyntax BinaryExpression(SyntaxKind kind, ExpressionSyntax left, SyntaxToken operatorToken, ExpressionSyntax right) { if (kind - 8668 > (SyntaxKind)20 && kind != SyntaxKind.UnsignedRightShiftExpression) { throw new ArgumentException("kind"); } int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode((int)kind, (GreenNode)(object)left, (GreenNode)(object)operatorToken, (GreenNode)(object)right, ref num); if (val != null) { return (BinaryExpressionSyntax)(object)val; } BinaryExpressionSyntax binaryExpressionSyntax = new BinaryExpressionSyntax(kind, left, operatorToken, right); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)binaryExpressionSyntax, num); } return binaryExpressionSyntax; } public static AssignmentExpressionSyntax AssignmentExpression(SyntaxKind kind, ExpressionSyntax left, SyntaxToken operatorToken, ExpressionSyntax right) { if (kind - 8714 > (SyntaxKind)12) { throw new ArgumentException("kind"); } int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode((int)kind, (GreenNode)(object)left, (GreenNode)(object)operatorToken, (GreenNode)(object)right, ref num); if (val != null) { return (AssignmentExpressionSyntax)(object)val; } AssignmentExpressionSyntax assignmentExpressionSyntax = new AssignmentExpressionSyntax(kind, left, operatorToken, right); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)assignmentExpressionSyntax, num); } return assignmentExpressionSyntax; } public static ConditionalExpressionSyntax ConditionalExpression(ExpressionSyntax condition, SyntaxToken questionToken, ExpressionSyntax whenTrue, SyntaxToken colonToken, ExpressionSyntax whenFalse) { return new ConditionalExpressionSyntax(SyntaxKind.ConditionalExpression, condition, questionToken, whenTrue, colonToken, whenFalse); } public static ThisExpressionSyntax ThisExpression(SyntaxToken token) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8746, (GreenNode)(object)token, ref num); if (val != null) { return (ThisExpressionSyntax)(object)val; } ThisExpressionSyntax thisExpressionSyntax = new ThisExpressionSyntax(SyntaxKind.ThisExpression, token); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)thisExpressionSyntax, num); } return thisExpressionSyntax; } public static BaseExpressionSyntax BaseExpression(SyntaxToken token) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8747, (GreenNode)(object)token, ref num); if (val != null) { return (BaseExpressionSyntax)(object)val; } BaseExpressionSyntax baseExpressionSyntax = new BaseExpressionSyntax(SyntaxKind.BaseExpression, token); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)baseExpressionSyntax, num); } return baseExpressionSyntax; } public static LiteralExpressionSyntax LiteralExpression(SyntaxKind kind, SyntaxToken token) { if (kind - 8748 > (SyntaxKind)8) { throw new ArgumentException("kind"); } int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode((int)kind, (GreenNode)(object)token, ref num); if (val != null) { return (LiteralExpressionSyntax)(object)val; } LiteralExpressionSyntax literalExpressionSyntax = new LiteralExpressionSyntax(kind, token); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)literalExpressionSyntax, num); } return literalExpressionSyntax; } public static MakeRefExpressionSyntax MakeRefExpression(SyntaxToken keyword, SyntaxToken openParenToken, ExpressionSyntax expression, SyntaxToken closeParenToken) { return new MakeRefExpressionSyntax(SyntaxKind.MakeRefExpression, keyword, openParenToken, expression, closeParenToken); } public static RefTypeExpressionSyntax RefTypeExpression(SyntaxToken keyword, SyntaxToken openParenToken, ExpressionSyntax expression, SyntaxToken closeParenToken) { return new RefTypeExpressionSyntax(SyntaxKind.RefTypeExpression, keyword, openParenToken, expression, closeParenToken); } public static RefValueExpressionSyntax RefValueExpression(SyntaxToken keyword, SyntaxToken openParenToken, ExpressionSyntax expression, SyntaxToken comma, TypeSyntax type, SyntaxToken closeParenToken) { return new RefValueExpressionSyntax(SyntaxKind.RefValueExpression, keyword, openParenToken, expression, comma, type, closeParenToken); } public static CheckedExpressionSyntax CheckedExpression(SyntaxKind kind, SyntaxToken keyword, SyntaxToken openParenToken, ExpressionSyntax expression, SyntaxToken closeParenToken) { if (kind - 8762 > SyntaxKind.List) { throw new ArgumentException("kind"); } return new CheckedExpressionSyntax(kind, keyword, openParenToken, expression, closeParenToken); } public static DefaultExpressionSyntax DefaultExpression(SyntaxToken keyword, SyntaxToken openParenToken, TypeSyntax type, SyntaxToken closeParenToken) { return new DefaultExpressionSyntax(SyntaxKind.DefaultExpression, keyword, openParenToken, type, closeParenToken); } public static TypeOfExpressionSyntax TypeOfExpression(SyntaxToken keyword, SyntaxToken openParenToken, TypeSyntax type, SyntaxToken closeParenToken) { return new TypeOfExpressionSyntax(SyntaxKind.TypeOfExpression, keyword, openParenToken, type, closeParenToken); } public static SizeOfExpressionSyntax SizeOfExpression(SyntaxToken keyword, SyntaxToken openParenToken, TypeSyntax type, SyntaxToken closeParenToken) { return new SizeOfExpressionSyntax(SyntaxKind.SizeOfExpression, keyword, openParenToken, type, closeParenToken); } public static InvocationExpressionSyntax InvocationExpression(ExpressionSyntax expression, ArgumentListSyntax argumentList) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8634, (GreenNode)(object)expression, (GreenNode)(object)argumentList, ref num); if (val != null) { return (InvocationExpressionSyntax)(object)val; } InvocationExpressionSyntax invocationExpressionSyntax = new InvocationExpressionSyntax(SyntaxKind.InvocationExpression, expression, argumentList); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)invocationExpressionSyntax, num); } return invocationExpressionSyntax; } public static ElementAccessExpressionSyntax ElementAccessExpression(ExpressionSyntax expression, BracketedArgumentListSyntax argumentList) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8635, (GreenNode)(object)expression, (GreenNode)(object)argumentList, ref num); if (val != null) { return (ElementAccessExpressionSyntax)(object)val; } ElementAccessExpressionSyntax elementAccessExpressionSyntax = new ElementAccessExpressionSyntax(SyntaxKind.ElementAccessExpression, expression, argumentList); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)elementAccessExpressionSyntax, num); } return elementAccessExpressionSyntax; } public static ArgumentListSyntax ArgumentList(SyntaxToken openParenToken, SeparatedSyntaxList arguments, SyntaxToken closeParenToken) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8636, (GreenNode)(object)openParenToken, arguments.Node, (GreenNode)(object)closeParenToken, ref num); if (val != null) { return (ArgumentListSyntax)(object)val; } ArgumentListSyntax argumentListSyntax = new ArgumentListSyntax(SyntaxKind.ArgumentList, openParenToken, arguments.Node, closeParenToken); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)argumentListSyntax, num); } return argumentListSyntax; } public static BracketedArgumentListSyntax BracketedArgumentList(SyntaxToken openBracketToken, SeparatedSyntaxList arguments, SyntaxToken closeBracketToken) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8637, (GreenNode)(object)openBracketToken, arguments.Node, (GreenNode)(object)closeBracketToken, ref num); if (val != null) { return (BracketedArgumentListSyntax)(object)val; } BracketedArgumentListSyntax bracketedArgumentListSyntax = new BracketedArgumentListSyntax(SyntaxKind.BracketedArgumentList, openBracketToken, arguments.Node, closeBracketToken); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)bracketedArgumentListSyntax, num); } return bracketedArgumentListSyntax; } public static ArgumentSyntax Argument(NameColonSyntax? nameColon, SyntaxToken? refKindKeyword, ExpressionSyntax expression) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8638, (GreenNode)(object)nameColon, (GreenNode)(object)refKindKeyword, (GreenNode)(object)expression, ref num); if (val != null) { return (ArgumentSyntax)(object)val; } ArgumentSyntax argumentSyntax = new ArgumentSyntax(SyntaxKind.Argument, nameColon, refKindKeyword, expression); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)argumentSyntax, num); } return argumentSyntax; } public static ExpressionColonSyntax ExpressionColon(ExpressionSyntax expression, SyntaxToken colonToken) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(9069, (GreenNode)(object)expression, (GreenNode)(object)colonToken, ref num); if (val != null) { return (ExpressionColonSyntax)(object)val; } ExpressionColonSyntax expressionColonSyntax = new ExpressionColonSyntax(SyntaxKind.ExpressionColon, expression, colonToken); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)expressionColonSyntax, num); } return expressionColonSyntax; } public static NameColonSyntax NameColon(IdentifierNameSyntax name, SyntaxToken colonToken) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8639, (GreenNode)(object)name, (GreenNode)(object)colonToken, ref num); if (val != null) { return (NameColonSyntax)(object)val; } NameColonSyntax nameColonSyntax = new NameColonSyntax(SyntaxKind.NameColon, name, colonToken); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)nameColonSyntax, num); } return nameColonSyntax; } public static DeclarationExpressionSyntax DeclarationExpression(TypeSyntax type, VariableDesignationSyntax designation) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(9040, (GreenNode)(object)type, (GreenNode)(object)designation, ref num); if (val != null) { return (DeclarationExpressionSyntax)(object)val; } DeclarationExpressionSyntax declarationExpressionSyntax = new DeclarationExpressionSyntax(SyntaxKind.DeclarationExpression, type, designation); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)declarationExpressionSyntax, num); } return declarationExpressionSyntax; } public static CastExpressionSyntax CastExpression(SyntaxToken openParenToken, TypeSyntax type, SyntaxToken closeParenToken, ExpressionSyntax expression) { return new CastExpressionSyntax(SyntaxKind.CastExpression, openParenToken, type, closeParenToken, expression); } public static AnonymousMethodExpressionSyntax AnonymousMethodExpression(SyntaxList modifiers, SyntaxToken delegateKeyword, ParameterListSyntax? parameterList, BlockSyntax block, ExpressionSyntax? expressionBody) { return new AnonymousMethodExpressionSyntax(SyntaxKind.AnonymousMethodExpression, modifiers.Node, delegateKeyword, parameterList, block, expressionBody); } public static SimpleLambdaExpressionSyntax SimpleLambdaExpression(SyntaxList attributeLists, SyntaxList modifiers, ParameterSyntax parameter, SyntaxToken arrowToken, BlockSyntax? block, ExpressionSyntax? expressionBody) { return new SimpleLambdaExpressionSyntax(SyntaxKind.SimpleLambdaExpression, attributeLists.Node, modifiers.Node, parameter, arrowToken, block, expressionBody); } public static RefExpressionSyntax RefExpression(SyntaxToken refKeyword, ExpressionSyntax expression) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(9050, (GreenNode)(object)refKeyword, (GreenNode)(object)expression, ref num); if (val != null) { return (RefExpressionSyntax)(object)val; } RefExpressionSyntax refExpressionSyntax = new RefExpressionSyntax(SyntaxKind.RefExpression, refKeyword, expression); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)refExpressionSyntax, num); } return refExpressionSyntax; } public static ParenthesizedLambdaExpressionSyntax ParenthesizedLambdaExpression(SyntaxList attributeLists, SyntaxList modifiers, TypeSyntax? returnType, ParameterListSyntax parameterList, SyntaxToken arrowToken, BlockSyntax? block, ExpressionSyntax? expressionBody) { return new ParenthesizedLambdaExpressionSyntax(SyntaxKind.ParenthesizedLambdaExpression, attributeLists.Node, modifiers.Node, returnType, parameterList, arrowToken, block, expressionBody); } public static InitializerExpressionSyntax InitializerExpression(SyntaxKind kind, SyntaxToken openBraceToken, SeparatedSyntaxList expressions, SyntaxToken closeBraceToken) { if (kind - 8644 > (SyntaxKind)2 && kind != SyntaxKind.ComplexElementInitializerExpression && kind != SyntaxKind.WithInitializerExpression) { throw new ArgumentException("kind"); } int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode((int)kind, (GreenNode)(object)openBraceToken, expressions.Node, (GreenNode)(object)closeBraceToken, ref num); if (val != null) { return (InitializerExpressionSyntax)(object)val; } InitializerExpressionSyntax initializerExpressionSyntax = new InitializerExpressionSyntax(kind, openBraceToken, expressions.Node, closeBraceToken); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)initializerExpressionSyntax, num); } return initializerExpressionSyntax; } public static ImplicitObjectCreationExpressionSyntax ImplicitObjectCreationExpression(SyntaxToken newKeyword, ArgumentListSyntax argumentList, InitializerExpressionSyntax? initializer) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8659, (GreenNode)(object)newKeyword, (GreenNode)(object)argumentList, (GreenNode)(object)initializer, ref num); if (val != null) { return (ImplicitObjectCreationExpressionSyntax)(object)val; } ImplicitObjectCreationExpressionSyntax implicitObjectCreationExpressionSyntax = new ImplicitObjectCreationExpressionSyntax(SyntaxKind.ImplicitObjectCreationExpression, newKeyword, argumentList, initializer); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)implicitObjectCreationExpressionSyntax, num); } return implicitObjectCreationExpressionSyntax; } public static ObjectCreationExpressionSyntax ObjectCreationExpression(SyntaxToken newKeyword, TypeSyntax type, ArgumentListSyntax? argumentList, InitializerExpressionSyntax? initializer) { return new ObjectCreationExpressionSyntax(SyntaxKind.ObjectCreationExpression, newKeyword, type, argumentList, initializer); } public static WithExpressionSyntax WithExpression(ExpressionSyntax expression, SyntaxToken withKeyword, InitializerExpressionSyntax initializer) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(9061, (GreenNode)(object)expression, (GreenNode)(object)withKeyword, (GreenNode)(object)initializer, ref num); if (val != null) { return (WithExpressionSyntax)(object)val; } WithExpressionSyntax withExpressionSyntax = new WithExpressionSyntax(SyntaxKind.WithExpression, expression, withKeyword, initializer); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)withExpressionSyntax, num); } return withExpressionSyntax; } public static AnonymousObjectMemberDeclaratorSyntax AnonymousObjectMemberDeclarator(NameEqualsSyntax? nameEquals, ExpressionSyntax expression) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8647, (GreenNode)(object)nameEquals, (GreenNode)(object)expression, ref num); if (val != null) { return (AnonymousObjectMemberDeclaratorSyntax)(object)val; } AnonymousObjectMemberDeclaratorSyntax anonymousObjectMemberDeclaratorSyntax = new AnonymousObjectMemberDeclaratorSyntax(SyntaxKind.AnonymousObjectMemberDeclarator, nameEquals, expression); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)anonymousObjectMemberDeclaratorSyntax, num); } return anonymousObjectMemberDeclaratorSyntax; } public static AnonymousObjectCreationExpressionSyntax AnonymousObjectCreationExpression(SyntaxToken newKeyword, SyntaxToken openBraceToken, SeparatedSyntaxList initializers, SyntaxToken closeBraceToken) { return new AnonymousObjectCreationExpressionSyntax(SyntaxKind.AnonymousObjectCreationExpression, newKeyword, openBraceToken, initializers.Node, closeBraceToken); } public static ArrayCreationExpressionSyntax ArrayCreationExpression(SyntaxToken newKeyword, ArrayTypeSyntax type, InitializerExpressionSyntax? initializer) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8651, (GreenNode)(object)newKeyword, (GreenNode)(object)type, (GreenNode)(object)initializer, ref num); if (val != null) { return (ArrayCreationExpressionSyntax)(object)val; } ArrayCreationExpressionSyntax arrayCreationExpressionSyntax = new ArrayCreationExpressionSyntax(SyntaxKind.ArrayCreationExpression, newKeyword, type, initializer); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)arrayCreationExpressionSyntax, num); } return arrayCreationExpressionSyntax; } public static ImplicitArrayCreationExpressionSyntax ImplicitArrayCreationExpression(SyntaxToken newKeyword, SyntaxToken openBracketToken, SyntaxList commas, SyntaxToken closeBracketToken, InitializerExpressionSyntax initializer) { return new ImplicitArrayCreationExpressionSyntax(SyntaxKind.ImplicitArrayCreationExpression, newKeyword, openBracketToken, commas.Node, closeBracketToken, initializer); } public static StackAllocArrayCreationExpressionSyntax StackAllocArrayCreationExpression(SyntaxToken stackAllocKeyword, TypeSyntax type, InitializerExpressionSyntax? initializer) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8653, (GreenNode)(object)stackAllocKeyword, (GreenNode)(object)type, (GreenNode)(object)initializer, ref num); if (val != null) { return (StackAllocArrayCreationExpressionSyntax)(object)val; } StackAllocArrayCreationExpressionSyntax stackAllocArrayCreationExpressionSyntax = new StackAllocArrayCreationExpressionSyntax(SyntaxKind.StackAllocArrayCreationExpression, stackAllocKeyword, type, initializer); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)stackAllocArrayCreationExpressionSyntax, num); } return stackAllocArrayCreationExpressionSyntax; } public static ImplicitStackAllocArrayCreationExpressionSyntax ImplicitStackAllocArrayCreationExpression(SyntaxToken stackAllocKeyword, SyntaxToken openBracketToken, SyntaxToken closeBracketToken, InitializerExpressionSyntax initializer) { return new ImplicitStackAllocArrayCreationExpressionSyntax(SyntaxKind.ImplicitStackAllocArrayCreationExpression, stackAllocKeyword, openBracketToken, closeBracketToken, initializer); } public static CollectionExpressionSyntax CollectionExpression(SyntaxToken openBracketToken, SeparatedSyntaxList elements, SyntaxToken closeBracketToken) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(9076, (GreenNode)(object)openBracketToken, elements.Node, (GreenNode)(object)closeBracketToken, ref num); if (val != null) { return (CollectionExpressionSyntax)(object)val; } CollectionExpressionSyntax collectionExpressionSyntax = new CollectionExpressionSyntax(SyntaxKind.CollectionExpression, openBracketToken, elements.Node, closeBracketToken); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)collectionExpressionSyntax, num); } return collectionExpressionSyntax; } public static ExpressionElementSyntax ExpressionElement(ExpressionSyntax expression) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(9077, (GreenNode)(object)expression, ref num); if (val != null) { return (ExpressionElementSyntax)(object)val; } ExpressionElementSyntax expressionElementSyntax = new ExpressionElementSyntax(SyntaxKind.ExpressionElement, expression); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)expressionElementSyntax, num); } return expressionElementSyntax; } public static SpreadElementSyntax SpreadElement(SyntaxToken operatorToken, ExpressionSyntax expression) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(9078, (GreenNode)(object)operatorToken, (GreenNode)(object)expression, ref num); if (val != null) { return (SpreadElementSyntax)(object)val; } SpreadElementSyntax spreadElementSyntax = new SpreadElementSyntax(SyntaxKind.SpreadElement, operatorToken, expression); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)spreadElementSyntax, num); } return spreadElementSyntax; } public static QueryExpressionSyntax QueryExpression(FromClauseSyntax fromClause, QueryBodySyntax body) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8774, (GreenNode)(object)fromClause, (GreenNode)(object)body, ref num); if (val != null) { return (QueryExpressionSyntax)(object)val; } QueryExpressionSyntax queryExpressionSyntax = new QueryExpressionSyntax(SyntaxKind.QueryExpression, fromClause, body); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)queryExpressionSyntax, num); } return queryExpressionSyntax; } public static QueryBodySyntax QueryBody(SyntaxList clauses, SelectOrGroupClauseSyntax selectOrGroup, QueryContinuationSyntax? continuation) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8775, clauses.Node, (GreenNode)(object)selectOrGroup, (GreenNode)(object)continuation, ref num); if (val != null) { return (QueryBodySyntax)(object)val; } QueryBodySyntax queryBodySyntax = new QueryBodySyntax(SyntaxKind.QueryBody, clauses.Node, selectOrGroup, continuation); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)queryBodySyntax, num); } return queryBodySyntax; } public static FromClauseSyntax FromClause(SyntaxToken fromKeyword, TypeSyntax? type, SyntaxToken identifier, SyntaxToken inKeyword, ExpressionSyntax expression) { return new FromClauseSyntax(SyntaxKind.FromClause, fromKeyword, type, identifier, inKeyword, expression); } public static LetClauseSyntax LetClause(SyntaxToken letKeyword, SyntaxToken identifier, SyntaxToken equalsToken, ExpressionSyntax expression) { return new LetClauseSyntax(SyntaxKind.LetClause, letKeyword, identifier, equalsToken, expression); } public static JoinClauseSyntax JoinClause(SyntaxToken joinKeyword, TypeSyntax? type, SyntaxToken identifier, SyntaxToken inKeyword, ExpressionSyntax inExpression, SyntaxToken onKeyword, ExpressionSyntax leftExpression, SyntaxToken equalsKeyword, ExpressionSyntax rightExpression, JoinIntoClauseSyntax? into) { return new JoinClauseSyntax(SyntaxKind.JoinClause, joinKeyword, type, identifier, inKeyword, inExpression, onKeyword, leftExpression, equalsKeyword, rightExpression, into); } public static JoinIntoClauseSyntax JoinIntoClause(SyntaxToken intoKeyword, SyntaxToken identifier) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8779, (GreenNode)(object)intoKeyword, (GreenNode)(object)identifier, ref num); if (val != null) { return (JoinIntoClauseSyntax)(object)val; } JoinIntoClauseSyntax joinIntoClauseSyntax = new JoinIntoClauseSyntax(SyntaxKind.JoinIntoClause, intoKeyword, identifier); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)joinIntoClauseSyntax, num); } return joinIntoClauseSyntax; } public static WhereClauseSyntax WhereClause(SyntaxToken whereKeyword, ExpressionSyntax condition) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8780, (GreenNode)(object)whereKeyword, (GreenNode)(object)condition, ref num); if (val != null) { return (WhereClauseSyntax)(object)val; } WhereClauseSyntax whereClauseSyntax = new WhereClauseSyntax(SyntaxKind.WhereClause, whereKeyword, condition); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)whereClauseSyntax, num); } return whereClauseSyntax; } public static OrderByClauseSyntax OrderByClause(SyntaxToken orderByKeyword, SeparatedSyntaxList orderings) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8781, (GreenNode)(object)orderByKeyword, orderings.Node, ref num); if (val != null) { return (OrderByClauseSyntax)(object)val; } OrderByClauseSyntax orderByClauseSyntax = new OrderByClauseSyntax(SyntaxKind.OrderByClause, orderByKeyword, orderings.Node); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)orderByClauseSyntax, num); } return orderByClauseSyntax; } public static OrderingSyntax Ordering(SyntaxKind kind, ExpressionSyntax expression, SyntaxToken? ascendingOrDescendingKeyword) { if (kind - 8782 > SyntaxKind.List) { throw new ArgumentException("kind"); } int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode((int)kind, (GreenNode)(object)expression, (GreenNode)(object)ascendingOrDescendingKeyword, ref num); if (val != null) { return (OrderingSyntax)(object)val; } OrderingSyntax orderingSyntax = new OrderingSyntax(kind, expression, ascendingOrDescendingKeyword); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)orderingSyntax, num); } return orderingSyntax; } public static SelectClauseSyntax SelectClause(SyntaxToken selectKeyword, ExpressionSyntax expression) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8784, (GreenNode)(object)selectKeyword, (GreenNode)(object)expression, ref num); if (val != null) { return (SelectClauseSyntax)(object)val; } SelectClauseSyntax selectClauseSyntax = new SelectClauseSyntax(SyntaxKind.SelectClause, selectKeyword, expression); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)selectClauseSyntax, num); } return selectClauseSyntax; } public static GroupClauseSyntax GroupClause(SyntaxToken groupKeyword, ExpressionSyntax groupExpression, SyntaxToken byKeyword, ExpressionSyntax byExpression) { return new GroupClauseSyntax(SyntaxKind.GroupClause, groupKeyword, groupExpression, byKeyword, byExpression); } public static QueryContinuationSyntax QueryContinuation(SyntaxToken intoKeyword, SyntaxToken identifier, QueryBodySyntax body) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8786, (GreenNode)(object)intoKeyword, (GreenNode)(object)identifier, (GreenNode)(object)body, ref num); if (val != null) { return (QueryContinuationSyntax)(object)val; } QueryContinuationSyntax queryContinuationSyntax = new QueryContinuationSyntax(SyntaxKind.QueryContinuation, intoKeyword, identifier, body); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)queryContinuationSyntax, num); } return queryContinuationSyntax; } public static OmittedArraySizeExpressionSyntax OmittedArraySizeExpression(SyntaxToken omittedArraySizeExpressionToken) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8654, (GreenNode)(object)omittedArraySizeExpressionToken, ref num); if (val != null) { return (OmittedArraySizeExpressionSyntax)(object)val; } OmittedArraySizeExpressionSyntax omittedArraySizeExpressionSyntax = new OmittedArraySizeExpressionSyntax(SyntaxKind.OmittedArraySizeExpression, omittedArraySizeExpressionToken); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)omittedArraySizeExpressionSyntax, num); } return omittedArraySizeExpressionSyntax; } public static InterpolatedStringExpressionSyntax InterpolatedStringExpression(SyntaxToken stringStartToken, SyntaxList contents, SyntaxToken stringEndToken) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8655, (GreenNode)(object)stringStartToken, contents.Node, (GreenNode)(object)stringEndToken, ref num); if (val != null) { return (InterpolatedStringExpressionSyntax)(object)val; } InterpolatedStringExpressionSyntax interpolatedStringExpressionSyntax = new InterpolatedStringExpressionSyntax(SyntaxKind.InterpolatedStringExpression, stringStartToken, contents.Node, stringEndToken); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)interpolatedStringExpressionSyntax, num); } return interpolatedStringExpressionSyntax; } public static IsPatternExpressionSyntax IsPatternExpression(ExpressionSyntax expression, SyntaxToken isKeyword, PatternSyntax pattern) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8657, (GreenNode)(object)expression, (GreenNode)(object)isKeyword, (GreenNode)(object)pattern, ref num); if (val != null) { return (IsPatternExpressionSyntax)(object)val; } IsPatternExpressionSyntax isPatternExpressionSyntax = new IsPatternExpressionSyntax(SyntaxKind.IsPatternExpression, expression, isKeyword, pattern); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)isPatternExpressionSyntax, num); } return isPatternExpressionSyntax; } public static ThrowExpressionSyntax ThrowExpression(SyntaxToken throwKeyword, ExpressionSyntax expression) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(9052, (GreenNode)(object)throwKeyword, (GreenNode)(object)expression, ref num); if (val != null) { return (ThrowExpressionSyntax)(object)val; } ThrowExpressionSyntax throwExpressionSyntax = new ThrowExpressionSyntax(SyntaxKind.ThrowExpression, throwKeyword, expression); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)throwExpressionSyntax, num); } return throwExpressionSyntax; } public static WhenClauseSyntax WhenClause(SyntaxToken whenKeyword, ExpressionSyntax condition) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(9013, (GreenNode)(object)whenKeyword, (GreenNode)(object)condition, ref num); if (val != null) { return (WhenClauseSyntax)(object)val; } WhenClauseSyntax whenClauseSyntax = new WhenClauseSyntax(SyntaxKind.WhenClause, whenKeyword, condition); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)whenClauseSyntax, num); } return whenClauseSyntax; } public static DiscardPatternSyntax DiscardPattern(SyntaxToken underscoreToken) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(9024, (GreenNode)(object)underscoreToken, ref num); if (val != null) { return (DiscardPatternSyntax)(object)val; } DiscardPatternSyntax discardPatternSyntax = new DiscardPatternSyntax(SyntaxKind.DiscardPattern, underscoreToken); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)discardPatternSyntax, num); } return discardPatternSyntax; } public static DeclarationPatternSyntax DeclarationPattern(TypeSyntax type, VariableDesignationSyntax designation) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(9000, (GreenNode)(object)type, (GreenNode)(object)designation, ref num); if (val != null) { return (DeclarationPatternSyntax)(object)val; } DeclarationPatternSyntax declarationPatternSyntax = new DeclarationPatternSyntax(SyntaxKind.DeclarationPattern, type, designation); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)declarationPatternSyntax, num); } return declarationPatternSyntax; } public static VarPatternSyntax VarPattern(SyntaxToken varKeyword, VariableDesignationSyntax designation) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(9027, (GreenNode)(object)varKeyword, (GreenNode)(object)designation, ref num); if (val != null) { return (VarPatternSyntax)(object)val; } VarPatternSyntax varPatternSyntax = new VarPatternSyntax(SyntaxKind.VarPattern, varKeyword, designation); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)varPatternSyntax, num); } return varPatternSyntax; } public static RecursivePatternSyntax RecursivePattern(TypeSyntax? type, PositionalPatternClauseSyntax? positionalPatternClause, PropertyPatternClauseSyntax? propertyPatternClause, VariableDesignationSyntax? designation) { return new RecursivePatternSyntax(SyntaxKind.RecursivePattern, type, positionalPatternClause, propertyPatternClause, designation); } public static PositionalPatternClauseSyntax PositionalPatternClause(SyntaxToken openParenToken, SeparatedSyntaxList subpatterns, SyntaxToken closeParenToken) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(9023, (GreenNode)(object)openParenToken, subpatterns.Node, (GreenNode)(object)closeParenToken, ref num); if (val != null) { return (PositionalPatternClauseSyntax)(object)val; } PositionalPatternClauseSyntax positionalPatternClauseSyntax = new PositionalPatternClauseSyntax(SyntaxKind.PositionalPatternClause, openParenToken, subpatterns.Node, closeParenToken); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)positionalPatternClauseSyntax, num); } return positionalPatternClauseSyntax; } public static PropertyPatternClauseSyntax PropertyPatternClause(SyntaxToken openBraceToken, SeparatedSyntaxList subpatterns, SyntaxToken closeBraceToken) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(9021, (GreenNode)(object)openBraceToken, subpatterns.Node, (GreenNode)(object)closeBraceToken, ref num); if (val != null) { return (PropertyPatternClauseSyntax)(object)val; } PropertyPatternClauseSyntax propertyPatternClauseSyntax = new PropertyPatternClauseSyntax(SyntaxKind.PropertyPatternClause, openBraceToken, subpatterns.Node, closeBraceToken); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)propertyPatternClauseSyntax, num); } return propertyPatternClauseSyntax; } public static SubpatternSyntax Subpattern(BaseExpressionColonSyntax? expressionColon, PatternSyntax pattern) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(9022, (GreenNode)(object)expressionColon, (GreenNode)(object)pattern, ref num); if (val != null) { return (SubpatternSyntax)(object)val; } SubpatternSyntax subpatternSyntax = new SubpatternSyntax(SyntaxKind.Subpattern, expressionColon, pattern); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)subpatternSyntax, num); } return subpatternSyntax; } public static ConstantPatternSyntax ConstantPattern(ExpressionSyntax expression) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(9002, (GreenNode)(object)expression, ref num); if (val != null) { return (ConstantPatternSyntax)(object)val; } ConstantPatternSyntax constantPatternSyntax = new ConstantPatternSyntax(SyntaxKind.ConstantPattern, expression); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)constantPatternSyntax, num); } return constantPatternSyntax; } public static ParenthesizedPatternSyntax ParenthesizedPattern(SyntaxToken openParenToken, PatternSyntax pattern, SyntaxToken closeParenToken) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(9028, (GreenNode)(object)openParenToken, (GreenNode)(object)pattern, (GreenNode)(object)closeParenToken, ref num); if (val != null) { return (ParenthesizedPatternSyntax)(object)val; } ParenthesizedPatternSyntax parenthesizedPatternSyntax = new ParenthesizedPatternSyntax(SyntaxKind.ParenthesizedPattern, openParenToken, pattern, closeParenToken); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)parenthesizedPatternSyntax, num); } return parenthesizedPatternSyntax; } public static RelationalPatternSyntax RelationalPattern(SyntaxToken operatorToken, ExpressionSyntax expression) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(9029, (GreenNode)(object)operatorToken, (GreenNode)(object)expression, ref num); if (val != null) { return (RelationalPatternSyntax)(object)val; } RelationalPatternSyntax relationalPatternSyntax = new RelationalPatternSyntax(SyntaxKind.RelationalPattern, operatorToken, expression); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)relationalPatternSyntax, num); } return relationalPatternSyntax; } public static TypePatternSyntax TypePattern(TypeSyntax type) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(9030, (GreenNode)(object)type, ref num); if (val != null) { return (TypePatternSyntax)(object)val; } TypePatternSyntax typePatternSyntax = new TypePatternSyntax(SyntaxKind.TypePattern, type); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)typePatternSyntax, num); } return typePatternSyntax; } public static BinaryPatternSyntax BinaryPattern(SyntaxKind kind, PatternSyntax left, SyntaxToken operatorToken, PatternSyntax right) { if (kind - 9031 > SyntaxKind.List) { throw new ArgumentException("kind"); } int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode((int)kind, (GreenNode)(object)left, (GreenNode)(object)operatorToken, (GreenNode)(object)right, ref num); if (val != null) { return (BinaryPatternSyntax)(object)val; } BinaryPatternSyntax binaryPatternSyntax = new BinaryPatternSyntax(kind, left, operatorToken, right); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)binaryPatternSyntax, num); } return binaryPatternSyntax; } public static UnaryPatternSyntax UnaryPattern(SyntaxToken operatorToken, PatternSyntax pattern) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(9033, (GreenNode)(object)operatorToken, (GreenNode)(object)pattern, ref num); if (val != null) { return (UnaryPatternSyntax)(object)val; } UnaryPatternSyntax unaryPatternSyntax = new UnaryPatternSyntax(SyntaxKind.NotPattern, operatorToken, pattern); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)unaryPatternSyntax, num); } return unaryPatternSyntax; } public static ListPatternSyntax ListPattern(SyntaxToken openBracketToken, SeparatedSyntaxList patterns, SyntaxToken closeBracketToken, VariableDesignationSyntax? designation) { return new ListPatternSyntax(SyntaxKind.ListPattern, openBracketToken, patterns.Node, closeBracketToken, designation); } public static SlicePatternSyntax SlicePattern(SyntaxToken dotDotToken, PatternSyntax? pattern) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(9034, (GreenNode)(object)dotDotToken, (GreenNode)(object)pattern, ref num); if (val != null) { return (SlicePatternSyntax)(object)val; } SlicePatternSyntax slicePatternSyntax = new SlicePatternSyntax(SyntaxKind.SlicePattern, dotDotToken, pattern); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)slicePatternSyntax, num); } return slicePatternSyntax; } public static InterpolatedStringTextSyntax InterpolatedStringText(SyntaxToken textToken) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8919, (GreenNode)(object)textToken, ref num); if (val != null) { return (InterpolatedStringTextSyntax)(object)val; } InterpolatedStringTextSyntax interpolatedStringTextSyntax = new InterpolatedStringTextSyntax(SyntaxKind.InterpolatedStringText, textToken); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)interpolatedStringTextSyntax, num); } return interpolatedStringTextSyntax; } public static InterpolationSyntax Interpolation(SyntaxToken openBraceToken, ExpressionSyntax expression, InterpolationAlignmentClauseSyntax? alignmentClause, InterpolationFormatClauseSyntax? formatClause, SyntaxToken closeBraceToken) { return new InterpolationSyntax(SyntaxKind.Interpolation, openBraceToken, expression, alignmentClause, formatClause, closeBraceToken); } public static InterpolationAlignmentClauseSyntax InterpolationAlignmentClause(SyntaxToken commaToken, ExpressionSyntax value) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8920, (GreenNode)(object)commaToken, (GreenNode)(object)value, ref num); if (val != null) { return (InterpolationAlignmentClauseSyntax)(object)val; } InterpolationAlignmentClauseSyntax interpolationAlignmentClauseSyntax = new InterpolationAlignmentClauseSyntax(SyntaxKind.InterpolationAlignmentClause, commaToken, value); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)interpolationAlignmentClauseSyntax, num); } return interpolationAlignmentClauseSyntax; } public static InterpolationFormatClauseSyntax InterpolationFormatClause(SyntaxToken colonToken, SyntaxToken formatStringToken) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8921, (GreenNode)(object)colonToken, (GreenNode)(object)formatStringToken, ref num); if (val != null) { return (InterpolationFormatClauseSyntax)(object)val; } InterpolationFormatClauseSyntax interpolationFormatClauseSyntax = new InterpolationFormatClauseSyntax(SyntaxKind.InterpolationFormatClause, colonToken, formatStringToken); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)interpolationFormatClauseSyntax, num); } return interpolationFormatClauseSyntax; } public static GlobalStatementSyntax GlobalStatement(SyntaxList attributeLists, SyntaxList modifiers, StatementSyntax statement) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8841, attributeLists.Node, modifiers.Node, (GreenNode)(object)statement, ref num); if (val != null) { return (GlobalStatementSyntax)(object)val; } GlobalStatementSyntax globalStatementSyntax = new GlobalStatementSyntax(SyntaxKind.GlobalStatement, attributeLists.Node, modifiers.Node, statement); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)globalStatementSyntax, num); } return globalStatementSyntax; } public static BlockSyntax Block(SyntaxList attributeLists, SyntaxToken openBraceToken, SyntaxList statements, SyntaxToken closeBraceToken) { return new BlockSyntax(SyntaxKind.Block, attributeLists.Node, openBraceToken, statements.Node, closeBraceToken); } public static LocalFunctionStatementSyntax LocalFunctionStatement(SyntaxList attributeLists, SyntaxList modifiers, TypeSyntax returnType, SyntaxToken identifier, TypeParameterListSyntax? typeParameterList, ParameterListSyntax parameterList, SyntaxList constraintClauses, BlockSyntax? body, ArrowExpressionClauseSyntax? expressionBody, SyntaxToken? semicolonToken) { return new LocalFunctionStatementSyntax(SyntaxKind.LocalFunctionStatement, attributeLists.Node, modifiers.Node, returnType, identifier, typeParameterList, parameterList, constraintClauses.Node, body, expressionBody, semicolonToken); } public static LocalDeclarationStatementSyntax LocalDeclarationStatement(SyntaxList attributeLists, SyntaxToken? awaitKeyword, SyntaxToken? usingKeyword, SyntaxList modifiers, VariableDeclarationSyntax declaration, SyntaxToken semicolonToken) { return new LocalDeclarationStatementSyntax(SyntaxKind.LocalDeclarationStatement, attributeLists.Node, awaitKeyword, usingKeyword, modifiers.Node, declaration, semicolonToken); } public static VariableDeclarationSyntax VariableDeclaration(TypeSyntax type, SeparatedSyntaxList variables) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8794, (GreenNode)(object)type, variables.Node, ref num); if (val != null) { return (VariableDeclarationSyntax)(object)val; } VariableDeclarationSyntax variableDeclarationSyntax = new VariableDeclarationSyntax(SyntaxKind.VariableDeclaration, type, variables.Node); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)variableDeclarationSyntax, num); } return variableDeclarationSyntax; } public static VariableDeclaratorSyntax VariableDeclarator(SyntaxToken identifier, BracketedArgumentListSyntax? argumentList, EqualsValueClauseSyntax? initializer) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8795, (GreenNode)(object)identifier, (GreenNode)(object)argumentList, (GreenNode)(object)initializer, ref num); if (val != null) { return (VariableDeclaratorSyntax)(object)val; } VariableDeclaratorSyntax variableDeclaratorSyntax = new VariableDeclaratorSyntax(SyntaxKind.VariableDeclarator, identifier, argumentList, initializer); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)variableDeclaratorSyntax, num); } return variableDeclaratorSyntax; } public static EqualsValueClauseSyntax EqualsValueClause(SyntaxToken equalsToken, ExpressionSyntax value) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8796, (GreenNode)(object)equalsToken, (GreenNode)(object)value, ref num); if (val != null) { return (EqualsValueClauseSyntax)(object)val; } EqualsValueClauseSyntax equalsValueClauseSyntax = new EqualsValueClauseSyntax(SyntaxKind.EqualsValueClause, equalsToken, value); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)equalsValueClauseSyntax, num); } return equalsValueClauseSyntax; } public static SingleVariableDesignationSyntax SingleVariableDesignation(SyntaxToken identifier) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8927, (GreenNode)(object)identifier, ref num); if (val != null) { return (SingleVariableDesignationSyntax)(object)val; } SingleVariableDesignationSyntax singleVariableDesignationSyntax = new SingleVariableDesignationSyntax(SyntaxKind.SingleVariableDesignation, identifier); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)singleVariableDesignationSyntax, num); } return singleVariableDesignationSyntax; } public static DiscardDesignationSyntax DiscardDesignation(SyntaxToken underscoreToken) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(9014, (GreenNode)(object)underscoreToken, ref num); if (val != null) { return (DiscardDesignationSyntax)(object)val; } DiscardDesignationSyntax discardDesignationSyntax = new DiscardDesignationSyntax(SyntaxKind.DiscardDesignation, underscoreToken); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)discardDesignationSyntax, num); } return discardDesignationSyntax; } public static ParenthesizedVariableDesignationSyntax ParenthesizedVariableDesignation(SyntaxToken openParenToken, SeparatedSyntaxList variables, SyntaxToken closeParenToken) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8928, (GreenNode)(object)openParenToken, variables.Node, (GreenNode)(object)closeParenToken, ref num); if (val != null) { return (ParenthesizedVariableDesignationSyntax)(object)val; } ParenthesizedVariableDesignationSyntax parenthesizedVariableDesignationSyntax = new ParenthesizedVariableDesignationSyntax(SyntaxKind.ParenthesizedVariableDesignation, openParenToken, variables.Node, closeParenToken); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)parenthesizedVariableDesignationSyntax, num); } return parenthesizedVariableDesignationSyntax; } public static ExpressionStatementSyntax ExpressionStatement(SyntaxList attributeLists, ExpressionSyntax expression, SyntaxToken semicolonToken) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8797, attributeLists.Node, (GreenNode)(object)expression, (GreenNode)(object)semicolonToken, ref num); if (val != null) { return (ExpressionStatementSyntax)(object)val; } ExpressionStatementSyntax expressionStatementSyntax = new ExpressionStatementSyntax(SyntaxKind.ExpressionStatement, attributeLists.Node, expression, semicolonToken); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)expressionStatementSyntax, num); } return expressionStatementSyntax; } public static EmptyStatementSyntax EmptyStatement(SyntaxList attributeLists, SyntaxToken semicolonToken) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8798, attributeLists.Node, (GreenNode)(object)semicolonToken, ref num); if (val != null) { return (EmptyStatementSyntax)(object)val; } EmptyStatementSyntax emptyStatementSyntax = new EmptyStatementSyntax(SyntaxKind.EmptyStatement, attributeLists.Node, semicolonToken); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)emptyStatementSyntax, num); } return emptyStatementSyntax; } public static LabeledStatementSyntax LabeledStatement(SyntaxList attributeLists, SyntaxToken identifier, SyntaxToken colonToken, StatementSyntax statement) { return new LabeledStatementSyntax(SyntaxKind.LabeledStatement, attributeLists.Node, identifier, colonToken, statement); } public static GotoStatementSyntax GotoStatement(SyntaxKind kind, SyntaxList attributeLists, SyntaxToken gotoKeyword, SyntaxToken? caseOrDefaultKeyword, ExpressionSyntax? expression, SyntaxToken semicolonToken) { if (kind - 8800 > (SyntaxKind)2) { throw new ArgumentException("kind"); } return new GotoStatementSyntax(kind, attributeLists.Node, gotoKeyword, caseOrDefaultKeyword, expression, semicolonToken); } public static BreakStatementSyntax BreakStatement(SyntaxList attributeLists, SyntaxToken breakKeyword, SyntaxToken semicolonToken) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8803, attributeLists.Node, (GreenNode)(object)breakKeyword, (GreenNode)(object)semicolonToken, ref num); if (val != null) { return (BreakStatementSyntax)(object)val; } BreakStatementSyntax breakStatementSyntax = new BreakStatementSyntax(SyntaxKind.BreakStatement, attributeLists.Node, breakKeyword, semicolonToken); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)breakStatementSyntax, num); } return breakStatementSyntax; } public static ContinueStatementSyntax ContinueStatement(SyntaxList attributeLists, SyntaxToken continueKeyword, SyntaxToken semicolonToken) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8804, attributeLists.Node, (GreenNode)(object)continueKeyword, (GreenNode)(object)semicolonToken, ref num); if (val != null) { return (ContinueStatementSyntax)(object)val; } ContinueStatementSyntax continueStatementSyntax = new ContinueStatementSyntax(SyntaxKind.ContinueStatement, attributeLists.Node, continueKeyword, semicolonToken); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)continueStatementSyntax, num); } return continueStatementSyntax; } public static ReturnStatementSyntax ReturnStatement(SyntaxList attributeLists, SyntaxToken returnKeyword, ExpressionSyntax? expression, SyntaxToken semicolonToken) { return new ReturnStatementSyntax(SyntaxKind.ReturnStatement, attributeLists.Node, returnKeyword, expression, semicolonToken); } public static ThrowStatementSyntax ThrowStatement(SyntaxList attributeLists, SyntaxToken throwKeyword, ExpressionSyntax? expression, SyntaxToken semicolonToken) { return new ThrowStatementSyntax(SyntaxKind.ThrowStatement, attributeLists.Node, throwKeyword, expression, semicolonToken); } public static YieldStatementSyntax YieldStatement(SyntaxKind kind, SyntaxList attributeLists, SyntaxToken yieldKeyword, SyntaxToken returnOrBreakKeyword, ExpressionSyntax? expression, SyntaxToken semicolonToken) { if (kind - 8806 > SyntaxKind.List) { throw new ArgumentException("kind"); } return new YieldStatementSyntax(kind, attributeLists.Node, yieldKeyword, returnOrBreakKeyword, expression, semicolonToken); } public static WhileStatementSyntax WhileStatement(SyntaxList attributeLists, SyntaxToken whileKeyword, SyntaxToken openParenToken, ExpressionSyntax condition, SyntaxToken closeParenToken, StatementSyntax statement) { return new WhileStatementSyntax(SyntaxKind.WhileStatement, attributeLists.Node, whileKeyword, openParenToken, condition, closeParenToken, statement); } public static DoStatementSyntax DoStatement(SyntaxList attributeLists, SyntaxToken doKeyword, StatementSyntax statement, SyntaxToken whileKeyword, SyntaxToken openParenToken, ExpressionSyntax condition, SyntaxToken closeParenToken, SyntaxToken semicolonToken) { return new DoStatementSyntax(SyntaxKind.DoStatement, attributeLists.Node, doKeyword, statement, whileKeyword, openParenToken, condition, closeParenToken, semicolonToken); } public static ForStatementSyntax ForStatement(SyntaxList attributeLists, SyntaxToken forKeyword, SyntaxToken openParenToken, VariableDeclarationSyntax? declaration, SeparatedSyntaxList initializers, SyntaxToken firstSemicolonToken, ExpressionSyntax? condition, SyntaxToken secondSemicolonToken, SeparatedSyntaxList incrementors, SyntaxToken closeParenToken, StatementSyntax statement) { return new ForStatementSyntax(SyntaxKind.ForStatement, attributeLists.Node, forKeyword, openParenToken, declaration, initializers.Node, firstSemicolonToken, condition, secondSemicolonToken, incrementors.Node, closeParenToken, statement); } public static ForEachStatementSyntax ForEachStatement(SyntaxList attributeLists, SyntaxToken? awaitKeyword, SyntaxToken forEachKeyword, SyntaxToken openParenToken, TypeSyntax type, SyntaxToken identifier, SyntaxToken inKeyword, ExpressionSyntax expression, SyntaxToken closeParenToken, StatementSyntax statement) { return new ForEachStatementSyntax(SyntaxKind.ForEachStatement, attributeLists.Node, awaitKeyword, forEachKeyword, openParenToken, type, identifier, inKeyword, expression, closeParenToken, statement); } public static ForEachVariableStatementSyntax ForEachVariableStatement(SyntaxList attributeLists, SyntaxToken? awaitKeyword, SyntaxToken forEachKeyword, SyntaxToken openParenToken, ExpressionSyntax variable, SyntaxToken inKeyword, ExpressionSyntax expression, SyntaxToken closeParenToken, StatementSyntax statement) { return new ForEachVariableStatementSyntax(SyntaxKind.ForEachVariableStatement, attributeLists.Node, awaitKeyword, forEachKeyword, openParenToken, variable, inKeyword, expression, closeParenToken, statement); } public static UsingStatementSyntax UsingStatement(SyntaxList attributeLists, SyntaxToken? awaitKeyword, SyntaxToken usingKeyword, SyntaxToken openParenToken, VariableDeclarationSyntax? declaration, ExpressionSyntax? expression, SyntaxToken closeParenToken, StatementSyntax statement) { return new UsingStatementSyntax(SyntaxKind.UsingStatement, attributeLists.Node, awaitKeyword, usingKeyword, openParenToken, declaration, expression, closeParenToken, statement); } public static FixedStatementSyntax FixedStatement(SyntaxList attributeLists, SyntaxToken fixedKeyword, SyntaxToken openParenToken, VariableDeclarationSyntax declaration, SyntaxToken closeParenToken, StatementSyntax statement) { return new FixedStatementSyntax(SyntaxKind.FixedStatement, attributeLists.Node, fixedKeyword, openParenToken, declaration, closeParenToken, statement); } public static CheckedStatementSyntax CheckedStatement(SyntaxKind kind, SyntaxList attributeLists, SyntaxToken keyword, BlockSyntax block) { if (kind - 8815 > SyntaxKind.List) { throw new ArgumentException("kind"); } int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode((int)kind, attributeLists.Node, (GreenNode)(object)keyword, (GreenNode)(object)block, ref num); if (val != null) { return (CheckedStatementSyntax)(object)val; } CheckedStatementSyntax checkedStatementSyntax = new CheckedStatementSyntax(kind, attributeLists.Node, keyword, block); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)checkedStatementSyntax, num); } return checkedStatementSyntax; } public static UnsafeStatementSyntax UnsafeStatement(SyntaxList attributeLists, SyntaxToken unsafeKeyword, BlockSyntax block) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8817, attributeLists.Node, (GreenNode)(object)unsafeKeyword, (GreenNode)(object)block, ref num); if (val != null) { return (UnsafeStatementSyntax)(object)val; } UnsafeStatementSyntax unsafeStatementSyntax = new UnsafeStatementSyntax(SyntaxKind.UnsafeStatement, attributeLists.Node, unsafeKeyword, block); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)unsafeStatementSyntax, num); } return unsafeStatementSyntax; } public static LockStatementSyntax LockStatement(SyntaxList attributeLists, SyntaxToken lockKeyword, SyntaxToken openParenToken, ExpressionSyntax expression, SyntaxToken closeParenToken, StatementSyntax statement) { return new LockStatementSyntax(SyntaxKind.LockStatement, attributeLists.Node, lockKeyword, openParenToken, expression, closeParenToken, statement); } public static IfStatementSyntax IfStatement(SyntaxList attributeLists, SyntaxToken ifKeyword, SyntaxToken openParenToken, ExpressionSyntax condition, SyntaxToken closeParenToken, StatementSyntax statement, ElseClauseSyntax? @else) { return new IfStatementSyntax(SyntaxKind.IfStatement, attributeLists.Node, ifKeyword, openParenToken, condition, closeParenToken, statement, @else); } public static ElseClauseSyntax ElseClause(SyntaxToken elseKeyword, StatementSyntax statement) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8820, (GreenNode)(object)elseKeyword, (GreenNode)(object)statement, ref num); if (val != null) { return (ElseClauseSyntax)(object)val; } ElseClauseSyntax elseClauseSyntax = new ElseClauseSyntax(SyntaxKind.ElseClause, elseKeyword, statement); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)elseClauseSyntax, num); } return elseClauseSyntax; } public static SwitchStatementSyntax SwitchStatement(SyntaxList attributeLists, SyntaxToken switchKeyword, SyntaxToken? openParenToken, ExpressionSyntax expression, SyntaxToken? closeParenToken, SyntaxToken openBraceToken, SyntaxList sections, SyntaxToken closeBraceToken) { return new SwitchStatementSyntax(SyntaxKind.SwitchStatement, attributeLists.Node, switchKeyword, openParenToken, expression, closeParenToken, openBraceToken, sections.Node, closeBraceToken); } public static SwitchSectionSyntax SwitchSection(SyntaxList labels, SyntaxList statements) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8822, labels.Node, statements.Node, ref num); if (val != null) { return (SwitchSectionSyntax)(object)val; } SwitchSectionSyntax switchSectionSyntax = new SwitchSectionSyntax(SyntaxKind.SwitchSection, labels.Node, statements.Node); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)switchSectionSyntax, num); } return switchSectionSyntax; } public static CasePatternSwitchLabelSyntax CasePatternSwitchLabel(SyntaxToken keyword, PatternSyntax pattern, WhenClauseSyntax? whenClause, SyntaxToken colonToken) { return new CasePatternSwitchLabelSyntax(SyntaxKind.CasePatternSwitchLabel, keyword, pattern, whenClause, colonToken); } public static CaseSwitchLabelSyntax CaseSwitchLabel(SyntaxToken keyword, ExpressionSyntax value, SyntaxToken colonToken) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8823, (GreenNode)(object)keyword, (GreenNode)(object)value, (GreenNode)(object)colonToken, ref num); if (val != null) { return (CaseSwitchLabelSyntax)(object)val; } CaseSwitchLabelSyntax caseSwitchLabelSyntax = new CaseSwitchLabelSyntax(SyntaxKind.CaseSwitchLabel, keyword, value, colonToken); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)caseSwitchLabelSyntax, num); } return caseSwitchLabelSyntax; } public static DefaultSwitchLabelSyntax DefaultSwitchLabel(SyntaxToken keyword, SyntaxToken colonToken) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8824, (GreenNode)(object)keyword, (GreenNode)(object)colonToken, ref num); if (val != null) { return (DefaultSwitchLabelSyntax)(object)val; } DefaultSwitchLabelSyntax defaultSwitchLabelSyntax = new DefaultSwitchLabelSyntax(SyntaxKind.DefaultSwitchLabel, keyword, colonToken); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)defaultSwitchLabelSyntax, num); } return defaultSwitchLabelSyntax; } public static SwitchExpressionSyntax SwitchExpression(ExpressionSyntax governingExpression, SyntaxToken switchKeyword, SyntaxToken openBraceToken, SeparatedSyntaxList arms, SyntaxToken closeBraceToken) { return new SwitchExpressionSyntax(SyntaxKind.SwitchExpression, governingExpression, switchKeyword, openBraceToken, arms.Node, closeBraceToken); } public static SwitchExpressionArmSyntax SwitchExpressionArm(PatternSyntax pattern, WhenClauseSyntax? whenClause, SyntaxToken equalsGreaterThanToken, ExpressionSyntax expression) { return new SwitchExpressionArmSyntax(SyntaxKind.SwitchExpressionArm, pattern, whenClause, equalsGreaterThanToken, expression); } public static TryStatementSyntax TryStatement(SyntaxList attributeLists, SyntaxToken tryKeyword, BlockSyntax block, SyntaxList catches, FinallyClauseSyntax? @finally) { return new TryStatementSyntax(SyntaxKind.TryStatement, attributeLists.Node, tryKeyword, block, catches.Node, @finally); } public static CatchClauseSyntax CatchClause(SyntaxToken catchKeyword, CatchDeclarationSyntax? declaration, CatchFilterClauseSyntax? filter, BlockSyntax block) { return new CatchClauseSyntax(SyntaxKind.CatchClause, catchKeyword, declaration, filter, block); } public static CatchDeclarationSyntax CatchDeclaration(SyntaxToken openParenToken, TypeSyntax type, SyntaxToken? identifier, SyntaxToken closeParenToken) { return new CatchDeclarationSyntax(SyntaxKind.CatchDeclaration, openParenToken, type, identifier, closeParenToken); } public static CatchFilterClauseSyntax CatchFilterClause(SyntaxToken whenKeyword, SyntaxToken openParenToken, ExpressionSyntax filterExpression, SyntaxToken closeParenToken) { return new CatchFilterClauseSyntax(SyntaxKind.CatchFilterClause, whenKeyword, openParenToken, filterExpression, closeParenToken); } public static FinallyClauseSyntax FinallyClause(SyntaxToken finallyKeyword, BlockSyntax block) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8829, (GreenNode)(object)finallyKeyword, (GreenNode)(object)block, ref num); if (val != null) { return (FinallyClauseSyntax)(object)val; } FinallyClauseSyntax finallyClauseSyntax = new FinallyClauseSyntax(SyntaxKind.FinallyClause, finallyKeyword, block); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)finallyClauseSyntax, num); } return finallyClauseSyntax; } public static CompilationUnitSyntax CompilationUnit(SyntaxList externs, SyntaxList usings, SyntaxList attributeLists, SyntaxList members, SyntaxToken endOfFileToken) { return new CompilationUnitSyntax(SyntaxKind.CompilationUnit, externs.Node, usings.Node, attributeLists.Node, members.Node, endOfFileToken); } public static ExternAliasDirectiveSyntax ExternAliasDirective(SyntaxToken externKeyword, SyntaxToken aliasKeyword, SyntaxToken identifier, SyntaxToken semicolonToken) { return new ExternAliasDirectiveSyntax(SyntaxKind.ExternAliasDirective, externKeyword, aliasKeyword, identifier, semicolonToken); } public static UsingDirectiveSyntax UsingDirective(SyntaxToken? globalKeyword, SyntaxToken usingKeyword, SyntaxToken? staticKeyword, SyntaxToken? unsafeKeyword, NameEqualsSyntax? alias, TypeSyntax namespaceOrType, SyntaxToken semicolonToken) { return new UsingDirectiveSyntax(SyntaxKind.UsingDirective, globalKeyword, usingKeyword, staticKeyword, unsafeKeyword, alias, namespaceOrType, semicolonToken); } public static NamespaceDeclarationSyntax NamespaceDeclaration(SyntaxList attributeLists, SyntaxList modifiers, SyntaxToken namespaceKeyword, NameSyntax name, SyntaxToken openBraceToken, SyntaxList externs, SyntaxList usings, SyntaxList members, SyntaxToken closeBraceToken, SyntaxToken? semicolonToken) { return new NamespaceDeclarationSyntax(SyntaxKind.NamespaceDeclaration, attributeLists.Node, modifiers.Node, namespaceKeyword, name, openBraceToken, externs.Node, usings.Node, members.Node, closeBraceToken, semicolonToken); } public static FileScopedNamespaceDeclarationSyntax FileScopedNamespaceDeclaration(SyntaxList attributeLists, SyntaxList modifiers, SyntaxToken namespaceKeyword, NameSyntax name, SyntaxToken semicolonToken, SyntaxList externs, SyntaxList usings, SyntaxList members) { return new FileScopedNamespaceDeclarationSyntax(SyntaxKind.FileScopedNamespaceDeclaration, attributeLists.Node, modifiers.Node, namespaceKeyword, name, semicolonToken, externs.Node, usings.Node, members.Node); } public static AttributeListSyntax AttributeList(SyntaxToken openBracketToken, AttributeTargetSpecifierSyntax? target, SeparatedSyntaxList attributes, SyntaxToken closeBracketToken) { return new AttributeListSyntax(SyntaxKind.AttributeList, openBracketToken, target, attributes.Node, closeBracketToken); } public static AttributeTargetSpecifierSyntax AttributeTargetSpecifier(SyntaxToken identifier, SyntaxToken colonToken) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8848, (GreenNode)(object)identifier, (GreenNode)(object)colonToken, ref num); if (val != null) { return (AttributeTargetSpecifierSyntax)(object)val; } AttributeTargetSpecifierSyntax attributeTargetSpecifierSyntax = new AttributeTargetSpecifierSyntax(SyntaxKind.AttributeTargetSpecifier, identifier, colonToken); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)attributeTargetSpecifierSyntax, num); } return attributeTargetSpecifierSyntax; } public static AttributeSyntax Attribute(NameSyntax name, AttributeArgumentListSyntax? argumentList) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8849, (GreenNode)(object)name, (GreenNode)(object)argumentList, ref num); if (val != null) { return (AttributeSyntax)(object)val; } AttributeSyntax attributeSyntax = new AttributeSyntax(SyntaxKind.Attribute, name, argumentList); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)attributeSyntax, num); } return attributeSyntax; } public static AttributeArgumentListSyntax AttributeArgumentList(SyntaxToken openParenToken, SeparatedSyntaxList arguments, SyntaxToken closeParenToken) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8850, (GreenNode)(object)openParenToken, arguments.Node, (GreenNode)(object)closeParenToken, ref num); if (val != null) { return (AttributeArgumentListSyntax)(object)val; } AttributeArgumentListSyntax attributeArgumentListSyntax = new AttributeArgumentListSyntax(SyntaxKind.AttributeArgumentList, openParenToken, arguments.Node, closeParenToken); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)attributeArgumentListSyntax, num); } return attributeArgumentListSyntax; } public static AttributeArgumentSyntax AttributeArgument(NameEqualsSyntax? nameEquals, NameColonSyntax? nameColon, ExpressionSyntax expression) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8851, (GreenNode)(object)nameEquals, (GreenNode)(object)nameColon, (GreenNode)(object)expression, ref num); if (val != null) { return (AttributeArgumentSyntax)(object)val; } AttributeArgumentSyntax attributeArgumentSyntax = new AttributeArgumentSyntax(SyntaxKind.AttributeArgument, nameEquals, nameColon, expression); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)attributeArgumentSyntax, num); } return attributeArgumentSyntax; } public static NameEqualsSyntax NameEquals(IdentifierNameSyntax name, SyntaxToken equalsToken) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8852, (GreenNode)(object)name, (GreenNode)(object)equalsToken, ref num); if (val != null) { return (NameEqualsSyntax)(object)val; } NameEqualsSyntax nameEqualsSyntax = new NameEqualsSyntax(SyntaxKind.NameEquals, name, equalsToken); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)nameEqualsSyntax, num); } return nameEqualsSyntax; } public static TypeParameterListSyntax TypeParameterList(SyntaxToken lessThanToken, SeparatedSyntaxList parameters, SyntaxToken greaterThanToken) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8909, (GreenNode)(object)lessThanToken, parameters.Node, (GreenNode)(object)greaterThanToken, ref num); if (val != null) { return (TypeParameterListSyntax)(object)val; } TypeParameterListSyntax typeParameterListSyntax = new TypeParameterListSyntax(SyntaxKind.TypeParameterList, lessThanToken, parameters.Node, greaterThanToken); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)typeParameterListSyntax, num); } return typeParameterListSyntax; } public static TypeParameterSyntax TypeParameter(SyntaxList attributeLists, SyntaxToken? varianceKeyword, SyntaxToken identifier) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8910, attributeLists.Node, (GreenNode)(object)varianceKeyword, (GreenNode)(object)identifier, ref num); if (val != null) { return (TypeParameterSyntax)(object)val; } TypeParameterSyntax typeParameterSyntax = new TypeParameterSyntax(SyntaxKind.TypeParameter, attributeLists.Node, varianceKeyword, identifier); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)typeParameterSyntax, num); } return typeParameterSyntax; } public static ClassDeclarationSyntax ClassDeclaration(SyntaxList attributeLists, SyntaxList modifiers, SyntaxToken keyword, SyntaxToken identifier, TypeParameterListSyntax? typeParameterList, ParameterListSyntax? parameterList, BaseListSyntax? baseList, SyntaxList constraintClauses, SyntaxToken? openBraceToken, SyntaxList members, SyntaxToken? closeBraceToken, SyntaxToken? semicolonToken) { return new ClassDeclarationSyntax(SyntaxKind.ClassDeclaration, attributeLists.Node, modifiers.Node, keyword, identifier, typeParameterList, parameterList, baseList, constraintClauses.Node, openBraceToken, members.Node, closeBraceToken, semicolonToken); } public static StructDeclarationSyntax StructDeclaration(SyntaxList attributeLists, SyntaxList modifiers, SyntaxToken keyword, SyntaxToken identifier, TypeParameterListSyntax? typeParameterList, ParameterListSyntax? parameterList, BaseListSyntax? baseList, SyntaxList constraintClauses, SyntaxToken? openBraceToken, SyntaxList members, SyntaxToken? closeBraceToken, SyntaxToken? semicolonToken) { return new StructDeclarationSyntax(SyntaxKind.StructDeclaration, attributeLists.Node, modifiers.Node, keyword, identifier, typeParameterList, parameterList, baseList, constraintClauses.Node, openBraceToken, members.Node, closeBraceToken, semicolonToken); } public static InterfaceDeclarationSyntax InterfaceDeclaration(SyntaxList attributeLists, SyntaxList modifiers, SyntaxToken keyword, SyntaxToken identifier, TypeParameterListSyntax? typeParameterList, ParameterListSyntax? parameterList, BaseListSyntax? baseList, SyntaxList constraintClauses, SyntaxToken? openBraceToken, SyntaxList members, SyntaxToken? closeBraceToken, SyntaxToken? semicolonToken) { return new InterfaceDeclarationSyntax(SyntaxKind.InterfaceDeclaration, attributeLists.Node, modifiers.Node, keyword, identifier, typeParameterList, parameterList, baseList, constraintClauses.Node, openBraceToken, members.Node, closeBraceToken, semicolonToken); } public static RecordDeclarationSyntax RecordDeclaration(SyntaxKind kind, SyntaxList attributeLists, SyntaxList modifiers, SyntaxToken keyword, SyntaxToken? classOrStructKeyword, SyntaxToken identifier, TypeParameterListSyntax? typeParameterList, ParameterListSyntax? parameterList, BaseListSyntax? baseList, SyntaxList constraintClauses, SyntaxToken? openBraceToken, SyntaxList members, SyntaxToken? closeBraceToken, SyntaxToken? semicolonToken) { if (kind != SyntaxKind.RecordDeclaration && kind != SyntaxKind.RecordStructDeclaration) { throw new ArgumentException("kind"); } return new RecordDeclarationSyntax(kind, attributeLists.Node, modifiers.Node, keyword, classOrStructKeyword, identifier, typeParameterList, parameterList, baseList, constraintClauses.Node, openBraceToken, members.Node, closeBraceToken, semicolonToken); } public static EnumDeclarationSyntax EnumDeclaration(SyntaxList attributeLists, SyntaxList modifiers, SyntaxToken enumKeyword, SyntaxToken identifier, BaseListSyntax? baseList, SyntaxToken? openBraceToken, SeparatedSyntaxList members, SyntaxToken? closeBraceToken, SyntaxToken? semicolonToken) { return new EnumDeclarationSyntax(SyntaxKind.EnumDeclaration, attributeLists.Node, modifiers.Node, enumKeyword, identifier, baseList, openBraceToken, members.Node, closeBraceToken, semicolonToken); } public static DelegateDeclarationSyntax DelegateDeclaration(SyntaxList attributeLists, SyntaxList modifiers, SyntaxToken delegateKeyword, TypeSyntax returnType, SyntaxToken identifier, TypeParameterListSyntax? typeParameterList, ParameterListSyntax parameterList, SyntaxList constraintClauses, SyntaxToken semicolonToken) { return new DelegateDeclarationSyntax(SyntaxKind.DelegateDeclaration, attributeLists.Node, modifiers.Node, delegateKeyword, returnType, identifier, typeParameterList, parameterList, constraintClauses.Node, semicolonToken); } public static EnumMemberDeclarationSyntax EnumMemberDeclaration(SyntaxList attributeLists, SyntaxList modifiers, SyntaxToken identifier, EqualsValueClauseSyntax? equalsValue) { return new EnumMemberDeclarationSyntax(SyntaxKind.EnumMemberDeclaration, attributeLists.Node, modifiers.Node, identifier, equalsValue); } public static BaseListSyntax BaseList(SyntaxToken colonToken, SeparatedSyntaxList types) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8864, (GreenNode)(object)colonToken, types.Node, ref num); if (val != null) { return (BaseListSyntax)(object)val; } BaseListSyntax baseListSyntax = new BaseListSyntax(SyntaxKind.BaseList, colonToken, types.Node); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)baseListSyntax, num); } return baseListSyntax; } public static SimpleBaseTypeSyntax SimpleBaseType(TypeSyntax type) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8865, (GreenNode)(object)type, ref num); if (val != null) { return (SimpleBaseTypeSyntax)(object)val; } SimpleBaseTypeSyntax simpleBaseTypeSyntax = new SimpleBaseTypeSyntax(SyntaxKind.SimpleBaseType, type); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)simpleBaseTypeSyntax, num); } return simpleBaseTypeSyntax; } public static PrimaryConstructorBaseTypeSyntax PrimaryConstructorBaseType(TypeSyntax type, ArgumentListSyntax argumentList) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(9065, (GreenNode)(object)type, (GreenNode)(object)argumentList, ref num); if (val != null) { return (PrimaryConstructorBaseTypeSyntax)(object)val; } PrimaryConstructorBaseTypeSyntax primaryConstructorBaseTypeSyntax = new PrimaryConstructorBaseTypeSyntax(SyntaxKind.PrimaryConstructorBaseType, type, argumentList); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)primaryConstructorBaseTypeSyntax, num); } return primaryConstructorBaseTypeSyntax; } public static TypeParameterConstraintClauseSyntax TypeParameterConstraintClause(SyntaxToken whereKeyword, IdentifierNameSyntax name, SyntaxToken colonToken, SeparatedSyntaxList constraints) { return new TypeParameterConstraintClauseSyntax(SyntaxKind.TypeParameterConstraintClause, whereKeyword, name, colonToken, constraints.Node); } public static ConstructorConstraintSyntax ConstructorConstraint(SyntaxToken newKeyword, SyntaxToken openParenToken, SyntaxToken closeParenToken) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8867, (GreenNode)(object)newKeyword, (GreenNode)(object)openParenToken, (GreenNode)(object)closeParenToken, ref num); if (val != null) { return (ConstructorConstraintSyntax)(object)val; } ConstructorConstraintSyntax constructorConstraintSyntax = new ConstructorConstraintSyntax(SyntaxKind.ConstructorConstraint, newKeyword, openParenToken, closeParenToken); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)constructorConstraintSyntax, num); } return constructorConstraintSyntax; } public static ClassOrStructConstraintSyntax ClassOrStructConstraint(SyntaxKind kind, SyntaxToken classOrStructKeyword, SyntaxToken? questionToken) { if (kind - 8868 > SyntaxKind.List) { throw new ArgumentException("kind"); } int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode((int)kind, (GreenNode)(object)classOrStructKeyword, (GreenNode)(object)questionToken, ref num); if (val != null) { return (ClassOrStructConstraintSyntax)(object)val; } ClassOrStructConstraintSyntax classOrStructConstraintSyntax = new ClassOrStructConstraintSyntax(kind, classOrStructKeyword, questionToken); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)classOrStructConstraintSyntax, num); } return classOrStructConstraintSyntax; } public static TypeConstraintSyntax TypeConstraint(TypeSyntax type) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8870, (GreenNode)(object)type, ref num); if (val != null) { return (TypeConstraintSyntax)(object)val; } TypeConstraintSyntax typeConstraintSyntax = new TypeConstraintSyntax(SyntaxKind.TypeConstraint, type); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)typeConstraintSyntax, num); } return typeConstraintSyntax; } public static DefaultConstraintSyntax DefaultConstraint(SyntaxToken defaultKeyword) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(9064, (GreenNode)(object)defaultKeyword, ref num); if (val != null) { return (DefaultConstraintSyntax)(object)val; } DefaultConstraintSyntax defaultConstraintSyntax = new DefaultConstraintSyntax(SyntaxKind.DefaultConstraint, defaultKeyword); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)defaultConstraintSyntax, num); } return defaultConstraintSyntax; } public static FieldDeclarationSyntax FieldDeclaration(SyntaxList attributeLists, SyntaxList modifiers, VariableDeclarationSyntax declaration, SyntaxToken semicolonToken) { return new FieldDeclarationSyntax(SyntaxKind.FieldDeclaration, attributeLists.Node, modifiers.Node, declaration, semicolonToken); } public static EventFieldDeclarationSyntax EventFieldDeclaration(SyntaxList attributeLists, SyntaxList modifiers, SyntaxToken eventKeyword, VariableDeclarationSyntax declaration, SyntaxToken semicolonToken) { return new EventFieldDeclarationSyntax(SyntaxKind.EventFieldDeclaration, attributeLists.Node, modifiers.Node, eventKeyword, declaration, semicolonToken); } public static ExplicitInterfaceSpecifierSyntax ExplicitInterfaceSpecifier(NameSyntax name, SyntaxToken dotToken) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8871, (GreenNode)(object)name, (GreenNode)(object)dotToken, ref num); if (val != null) { return (ExplicitInterfaceSpecifierSyntax)(object)val; } ExplicitInterfaceSpecifierSyntax explicitInterfaceSpecifierSyntax = new ExplicitInterfaceSpecifierSyntax(SyntaxKind.ExplicitInterfaceSpecifier, name, dotToken); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)explicitInterfaceSpecifierSyntax, num); } return explicitInterfaceSpecifierSyntax; } public static MethodDeclarationSyntax MethodDeclaration(SyntaxList attributeLists, SyntaxList modifiers, TypeSyntax returnType, ExplicitInterfaceSpecifierSyntax? explicitInterfaceSpecifier, SyntaxToken identifier, TypeParameterListSyntax? typeParameterList, ParameterListSyntax parameterList, SyntaxList constraintClauses, BlockSyntax? body, ArrowExpressionClauseSyntax? expressionBody, SyntaxToken? semicolonToken) { return new MethodDeclarationSyntax(SyntaxKind.MethodDeclaration, attributeLists.Node, modifiers.Node, returnType, explicitInterfaceSpecifier, identifier, typeParameterList, parameterList, constraintClauses.Node, body, expressionBody, semicolonToken); } public static OperatorDeclarationSyntax OperatorDeclaration(SyntaxList attributeLists, SyntaxList modifiers, TypeSyntax returnType, ExplicitInterfaceSpecifierSyntax? explicitInterfaceSpecifier, SyntaxToken operatorKeyword, SyntaxToken? checkedKeyword, SyntaxToken operatorToken, ParameterListSyntax parameterList, BlockSyntax? body, ArrowExpressionClauseSyntax? expressionBody, SyntaxToken? semicolonToken) { return new OperatorDeclarationSyntax(SyntaxKind.OperatorDeclaration, attributeLists.Node, modifiers.Node, returnType, explicitInterfaceSpecifier, operatorKeyword, checkedKeyword, operatorToken, parameterList, body, expressionBody, semicolonToken); } public static ConversionOperatorDeclarationSyntax ConversionOperatorDeclaration(SyntaxList attributeLists, SyntaxList modifiers, SyntaxToken implicitOrExplicitKeyword, ExplicitInterfaceSpecifierSyntax? explicitInterfaceSpecifier, SyntaxToken operatorKeyword, SyntaxToken? checkedKeyword, TypeSyntax type, ParameterListSyntax parameterList, BlockSyntax? body, ArrowExpressionClauseSyntax? expressionBody, SyntaxToken? semicolonToken) { return new ConversionOperatorDeclarationSyntax(SyntaxKind.ConversionOperatorDeclaration, attributeLists.Node, modifiers.Node, implicitOrExplicitKeyword, explicitInterfaceSpecifier, operatorKeyword, checkedKeyword, type, parameterList, body, expressionBody, semicolonToken); } public static ConstructorDeclarationSyntax ConstructorDeclaration(SyntaxList attributeLists, SyntaxList modifiers, SyntaxToken identifier, ParameterListSyntax parameterList, ConstructorInitializerSyntax? initializer, BlockSyntax? body, ArrowExpressionClauseSyntax? expressionBody, SyntaxToken? semicolonToken) { return new ConstructorDeclarationSyntax(SyntaxKind.ConstructorDeclaration, attributeLists.Node, modifiers.Node, identifier, parameterList, initializer, body, expressionBody, semicolonToken); } public static ConstructorInitializerSyntax ConstructorInitializer(SyntaxKind kind, SyntaxToken colonToken, SyntaxToken thisOrBaseKeyword, ArgumentListSyntax argumentList) { if (kind - 8889 > SyntaxKind.List) { throw new ArgumentException("kind"); } int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode((int)kind, (GreenNode)(object)colonToken, (GreenNode)(object)thisOrBaseKeyword, (GreenNode)(object)argumentList, ref num); if (val != null) { return (ConstructorInitializerSyntax)(object)val; } ConstructorInitializerSyntax constructorInitializerSyntax = new ConstructorInitializerSyntax(kind, colonToken, thisOrBaseKeyword, argumentList); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)constructorInitializerSyntax, num); } return constructorInitializerSyntax; } public static DestructorDeclarationSyntax DestructorDeclaration(SyntaxList attributeLists, SyntaxList modifiers, SyntaxToken tildeToken, SyntaxToken identifier, ParameterListSyntax parameterList, BlockSyntax? body, ArrowExpressionClauseSyntax? expressionBody, SyntaxToken? semicolonToken) { return new DestructorDeclarationSyntax(SyntaxKind.DestructorDeclaration, attributeLists.Node, modifiers.Node, tildeToken, identifier, parameterList, body, expressionBody, semicolonToken); } public static PropertyDeclarationSyntax PropertyDeclaration(SyntaxList attributeLists, SyntaxList modifiers, TypeSyntax type, ExplicitInterfaceSpecifierSyntax? explicitInterfaceSpecifier, SyntaxToken identifier, AccessorListSyntax? accessorList, ArrowExpressionClauseSyntax? expressionBody, EqualsValueClauseSyntax? initializer, SyntaxToken? semicolonToken) { return new PropertyDeclarationSyntax(SyntaxKind.PropertyDeclaration, attributeLists.Node, modifiers.Node, type, explicitInterfaceSpecifier, identifier, accessorList, expressionBody, initializer, semicolonToken); } public static ArrowExpressionClauseSyntax ArrowExpressionClause(SyntaxToken arrowToken, ExpressionSyntax expression) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8917, (GreenNode)(object)arrowToken, (GreenNode)(object)expression, ref num); if (val != null) { return (ArrowExpressionClauseSyntax)(object)val; } ArrowExpressionClauseSyntax arrowExpressionClauseSyntax = new ArrowExpressionClauseSyntax(SyntaxKind.ArrowExpressionClause, arrowToken, expression); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)arrowExpressionClauseSyntax, num); } return arrowExpressionClauseSyntax; } public static EventDeclarationSyntax EventDeclaration(SyntaxList attributeLists, SyntaxList modifiers, SyntaxToken eventKeyword, TypeSyntax type, ExplicitInterfaceSpecifierSyntax? explicitInterfaceSpecifier, SyntaxToken identifier, AccessorListSyntax? accessorList, SyntaxToken? semicolonToken) { return new EventDeclarationSyntax(SyntaxKind.EventDeclaration, attributeLists.Node, modifiers.Node, eventKeyword, type, explicitInterfaceSpecifier, identifier, accessorList, semicolonToken); } public static IndexerDeclarationSyntax IndexerDeclaration(SyntaxList attributeLists, SyntaxList modifiers, TypeSyntax type, ExplicitInterfaceSpecifierSyntax? explicitInterfaceSpecifier, SyntaxToken thisKeyword, BracketedParameterListSyntax parameterList, AccessorListSyntax? accessorList, ArrowExpressionClauseSyntax? expressionBody, SyntaxToken? semicolonToken) { return new IndexerDeclarationSyntax(SyntaxKind.IndexerDeclaration, attributeLists.Node, modifiers.Node, type, explicitInterfaceSpecifier, thisKeyword, parameterList, accessorList, expressionBody, semicolonToken); } public static AccessorListSyntax AccessorList(SyntaxToken openBraceToken, SyntaxList accessors, SyntaxToken closeBraceToken) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8895, (GreenNode)(object)openBraceToken, accessors.Node, (GreenNode)(object)closeBraceToken, ref num); if (val != null) { return (AccessorListSyntax)(object)val; } AccessorListSyntax accessorListSyntax = new AccessorListSyntax(SyntaxKind.AccessorList, openBraceToken, accessors.Node, closeBraceToken); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)accessorListSyntax, num); } return accessorListSyntax; } public static AccessorDeclarationSyntax AccessorDeclaration(SyntaxKind kind, SyntaxList attributeLists, SyntaxList modifiers, SyntaxToken keyword, BlockSyntax? body, ArrowExpressionClauseSyntax? expressionBody, SyntaxToken? semicolonToken) { if (kind - 8896 > (SyntaxKind)4 && kind != SyntaxKind.InitAccessorDeclaration) { throw new ArgumentException("kind"); } return new AccessorDeclarationSyntax(kind, attributeLists.Node, modifiers.Node, keyword, body, expressionBody, semicolonToken); } public static ParameterListSyntax ParameterList(SyntaxToken openParenToken, SeparatedSyntaxList parameters, SyntaxToken closeParenToken) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8906, (GreenNode)(object)openParenToken, parameters.Node, (GreenNode)(object)closeParenToken, ref num); if (val != null) { return (ParameterListSyntax)(object)val; } ParameterListSyntax parameterListSyntax = new ParameterListSyntax(SyntaxKind.ParameterList, openParenToken, parameters.Node, closeParenToken); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)parameterListSyntax, num); } return parameterListSyntax; } public static BracketedParameterListSyntax BracketedParameterList(SyntaxToken openBracketToken, SeparatedSyntaxList parameters, SyntaxToken closeBracketToken) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8907, (GreenNode)(object)openBracketToken, parameters.Node, (GreenNode)(object)closeBracketToken, ref num); if (val != null) { return (BracketedParameterListSyntax)(object)val; } BracketedParameterListSyntax bracketedParameterListSyntax = new BracketedParameterListSyntax(SyntaxKind.BracketedParameterList, openBracketToken, parameters.Node, closeBracketToken); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)bracketedParameterListSyntax, num); } return bracketedParameterListSyntax; } public static ParameterSyntax Parameter(SyntaxList attributeLists, SyntaxList modifiers, TypeSyntax? type, SyntaxToken identifier, EqualsValueClauseSyntax? @default) { return new ParameterSyntax(SyntaxKind.Parameter, attributeLists.Node, modifiers.Node, type, identifier, @default); } public static FunctionPointerParameterSyntax FunctionPointerParameter(SyntaxList attributeLists, SyntaxList modifiers, TypeSyntax type) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(9057, attributeLists.Node, modifiers.Node, (GreenNode)(object)type, ref num); if (val != null) { return (FunctionPointerParameterSyntax)(object)val; } FunctionPointerParameterSyntax functionPointerParameterSyntax = new FunctionPointerParameterSyntax(SyntaxKind.FunctionPointerParameter, attributeLists.Node, modifiers.Node, type); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)functionPointerParameterSyntax, num); } return functionPointerParameterSyntax; } public static IncompleteMemberSyntax IncompleteMember(SyntaxList attributeLists, SyntaxList modifiers, TypeSyntax? type) { return new IncompleteMemberSyntax(SyntaxKind.IncompleteMember, attributeLists.Node, modifiers.Node, type); } public static SkippedTokensTriviaSyntax SkippedTokensTrivia(SyntaxList tokens) { return new SkippedTokensTriviaSyntax(SyntaxKind.SkippedTokensTrivia, tokens.Node); } public static DocumentationCommentTriviaSyntax DocumentationCommentTrivia(SyntaxKind kind, SyntaxList content, SyntaxToken endOfComment) { if (kind - 8544 > SyntaxKind.List) { throw new ArgumentException("kind"); } return new DocumentationCommentTriviaSyntax(kind, content.Node, endOfComment); } public static TypeCrefSyntax TypeCref(TypeSyntax type) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8597, (GreenNode)(object)type, ref num); if (val != null) { return (TypeCrefSyntax)(object)val; } TypeCrefSyntax typeCrefSyntax = new TypeCrefSyntax(SyntaxKind.TypeCref, type); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)typeCrefSyntax, num); } return typeCrefSyntax; } public static QualifiedCrefSyntax QualifiedCref(TypeSyntax container, SyntaxToken dotToken, MemberCrefSyntax member) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8598, (GreenNode)(object)container, (GreenNode)(object)dotToken, (GreenNode)(object)member, ref num); if (val != null) { return (QualifiedCrefSyntax)(object)val; } QualifiedCrefSyntax qualifiedCrefSyntax = new QualifiedCrefSyntax(SyntaxKind.QualifiedCref, container, dotToken, member); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)qualifiedCrefSyntax, num); } return qualifiedCrefSyntax; } public static NameMemberCrefSyntax NameMemberCref(TypeSyntax name, CrefParameterListSyntax? parameters) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8599, (GreenNode)(object)name, (GreenNode)(object)parameters, ref num); if (val != null) { return (NameMemberCrefSyntax)(object)val; } NameMemberCrefSyntax nameMemberCrefSyntax = new NameMemberCrefSyntax(SyntaxKind.NameMemberCref, name, parameters); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)nameMemberCrefSyntax, num); } return nameMemberCrefSyntax; } public static IndexerMemberCrefSyntax IndexerMemberCref(SyntaxToken thisKeyword, CrefBracketedParameterListSyntax? parameters) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8600, (GreenNode)(object)thisKeyword, (GreenNode)(object)parameters, ref num); if (val != null) { return (IndexerMemberCrefSyntax)(object)val; } IndexerMemberCrefSyntax indexerMemberCrefSyntax = new IndexerMemberCrefSyntax(SyntaxKind.IndexerMemberCref, thisKeyword, parameters); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)indexerMemberCrefSyntax, num); } return indexerMemberCrefSyntax; } public static OperatorMemberCrefSyntax OperatorMemberCref(SyntaxToken operatorKeyword, SyntaxToken? checkedKeyword, SyntaxToken operatorToken, CrefParameterListSyntax? parameters) { return new OperatorMemberCrefSyntax(SyntaxKind.OperatorMemberCref, operatorKeyword, checkedKeyword, operatorToken, parameters); } public static ConversionOperatorMemberCrefSyntax ConversionOperatorMemberCref(SyntaxToken implicitOrExplicitKeyword, SyntaxToken operatorKeyword, SyntaxToken? checkedKeyword, TypeSyntax type, CrefParameterListSyntax? parameters) { return new ConversionOperatorMemberCrefSyntax(SyntaxKind.ConversionOperatorMemberCref, implicitOrExplicitKeyword, operatorKeyword, checkedKeyword, type, parameters); } public static CrefParameterListSyntax CrefParameterList(SyntaxToken openParenToken, SeparatedSyntaxList parameters, SyntaxToken closeParenToken) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8603, (GreenNode)(object)openParenToken, parameters.Node, (GreenNode)(object)closeParenToken, ref num); if (val != null) { return (CrefParameterListSyntax)(object)val; } CrefParameterListSyntax crefParameterListSyntax = new CrefParameterListSyntax(SyntaxKind.CrefParameterList, openParenToken, parameters.Node, closeParenToken); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)crefParameterListSyntax, num); } return crefParameterListSyntax; } public static CrefBracketedParameterListSyntax CrefBracketedParameterList(SyntaxToken openBracketToken, SeparatedSyntaxList parameters, SyntaxToken closeBracketToken) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8604, (GreenNode)(object)openBracketToken, parameters.Node, (GreenNode)(object)closeBracketToken, ref num); if (val != null) { return (CrefBracketedParameterListSyntax)(object)val; } CrefBracketedParameterListSyntax crefBracketedParameterListSyntax = new CrefBracketedParameterListSyntax(SyntaxKind.CrefBracketedParameterList, openBracketToken, parameters.Node, closeBracketToken); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)crefBracketedParameterListSyntax, num); } return crefBracketedParameterListSyntax; } public static CrefParameterSyntax CrefParameter(SyntaxToken? refKindKeyword, SyntaxToken? readOnlyKeyword, TypeSyntax type) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8605, (GreenNode)(object)refKindKeyword, (GreenNode)(object)readOnlyKeyword, (GreenNode)(object)type, ref num); if (val != null) { return (CrefParameterSyntax)(object)val; } CrefParameterSyntax crefParameterSyntax = new CrefParameterSyntax(SyntaxKind.CrefParameter, refKindKeyword, readOnlyKeyword, type); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)crefParameterSyntax, num); } return crefParameterSyntax; } public static XmlElementSyntax XmlElement(XmlElementStartTagSyntax startTag, SyntaxList content, XmlElementEndTagSyntax endTag) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8574, (GreenNode)(object)startTag, content.Node, (GreenNode)(object)endTag, ref num); if (val != null) { return (XmlElementSyntax)(object)val; } XmlElementSyntax xmlElementSyntax = new XmlElementSyntax(SyntaxKind.XmlElement, startTag, content.Node, endTag); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)xmlElementSyntax, num); } return xmlElementSyntax; } public static XmlElementStartTagSyntax XmlElementStartTag(SyntaxToken lessThanToken, XmlNameSyntax name, SyntaxList attributes, SyntaxToken greaterThanToken) { return new XmlElementStartTagSyntax(SyntaxKind.XmlElementStartTag, lessThanToken, name, attributes.Node, greaterThanToken); } public static XmlElementEndTagSyntax XmlElementEndTag(SyntaxToken lessThanSlashToken, XmlNameSyntax name, SyntaxToken greaterThanToken) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8576, (GreenNode)(object)lessThanSlashToken, (GreenNode)(object)name, (GreenNode)(object)greaterThanToken, ref num); if (val != null) { return (XmlElementEndTagSyntax)(object)val; } XmlElementEndTagSyntax xmlElementEndTagSyntax = new XmlElementEndTagSyntax(SyntaxKind.XmlElementEndTag, lessThanSlashToken, name, greaterThanToken); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)xmlElementEndTagSyntax, num); } return xmlElementEndTagSyntax; } public static XmlEmptyElementSyntax XmlEmptyElement(SyntaxToken lessThanToken, XmlNameSyntax name, SyntaxList attributes, SyntaxToken slashGreaterThanToken) { return new XmlEmptyElementSyntax(SyntaxKind.XmlEmptyElement, lessThanToken, name, attributes.Node, slashGreaterThanToken); } public static XmlNameSyntax XmlName(XmlPrefixSyntax? prefix, SyntaxToken localName) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8581, (GreenNode)(object)prefix, (GreenNode)(object)localName, ref num); if (val != null) { return (XmlNameSyntax)(object)val; } XmlNameSyntax xmlNameSyntax = new XmlNameSyntax(SyntaxKind.XmlName, prefix, localName); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)xmlNameSyntax, num); } return xmlNameSyntax; } public static XmlPrefixSyntax XmlPrefix(SyntaxToken prefix, SyntaxToken colonToken) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8582, (GreenNode)(object)prefix, (GreenNode)(object)colonToken, ref num); if (val != null) { return (XmlPrefixSyntax)(object)val; } XmlPrefixSyntax xmlPrefixSyntax = new XmlPrefixSyntax(SyntaxKind.XmlPrefix, prefix, colonToken); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)xmlPrefixSyntax, num); } return xmlPrefixSyntax; } public static XmlTextAttributeSyntax XmlTextAttribute(XmlNameSyntax name, SyntaxToken equalsToken, SyntaxToken startQuoteToken, SyntaxList textTokens, SyntaxToken endQuoteToken) { return new XmlTextAttributeSyntax(SyntaxKind.XmlTextAttribute, name, equalsToken, startQuoteToken, textTokens.Node, endQuoteToken); } public static XmlCrefAttributeSyntax XmlCrefAttribute(XmlNameSyntax name, SyntaxToken equalsToken, SyntaxToken startQuoteToken, CrefSyntax cref, SyntaxToken endQuoteToken) { return new XmlCrefAttributeSyntax(SyntaxKind.XmlCrefAttribute, name, equalsToken, startQuoteToken, cref, endQuoteToken); } public static XmlNameAttributeSyntax XmlNameAttribute(XmlNameSyntax name, SyntaxToken equalsToken, SyntaxToken startQuoteToken, IdentifierNameSyntax identifier, SyntaxToken endQuoteToken) { return new XmlNameAttributeSyntax(SyntaxKind.XmlNameAttribute, name, equalsToken, startQuoteToken, identifier, endQuoteToken); } public static XmlTextSyntax XmlText(SyntaxList textTokens) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8583, textTokens.Node, ref num); if (val != null) { return (XmlTextSyntax)(object)val; } XmlTextSyntax xmlTextSyntax = new XmlTextSyntax(SyntaxKind.XmlText, textTokens.Node); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)xmlTextSyntax, num); } return xmlTextSyntax; } public static XmlCDataSectionSyntax XmlCDataSection(SyntaxToken startCDataToken, SyntaxList textTokens, SyntaxToken endCDataToken) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8584, (GreenNode)(object)startCDataToken, textTokens.Node, (GreenNode)(object)endCDataToken, ref num); if (val != null) { return (XmlCDataSectionSyntax)(object)val; } XmlCDataSectionSyntax xmlCDataSectionSyntax = new XmlCDataSectionSyntax(SyntaxKind.XmlCDataSection, startCDataToken, textTokens.Node, endCDataToken); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)xmlCDataSectionSyntax, num); } return xmlCDataSectionSyntax; } public static XmlProcessingInstructionSyntax XmlProcessingInstruction(SyntaxToken startProcessingInstructionToken, XmlNameSyntax name, SyntaxList textTokens, SyntaxToken endProcessingInstructionToken) { return new XmlProcessingInstructionSyntax(SyntaxKind.XmlProcessingInstruction, startProcessingInstructionToken, name, textTokens.Node, endProcessingInstructionToken); } public static XmlCommentSyntax XmlComment(SyntaxToken lessThanExclamationMinusMinusToken, SyntaxList textTokens, SyntaxToken minusMinusGreaterThanToken) { int num = default(int); GreenNode val = SyntaxNodeCache.TryGetNode(8585, (GreenNode)(object)lessThanExclamationMinusMinusToken, textTokens.Node, (GreenNode)(object)minusMinusGreaterThanToken, ref num); if (val != null) { return (XmlCommentSyntax)(object)val; } XmlCommentSyntax xmlCommentSyntax = new XmlCommentSyntax(SyntaxKind.XmlComment, lessThanExclamationMinusMinusToken, textTokens.Node, minusMinusGreaterThanToken); if (num >= 0) { SyntaxNodeCache.AddNode((GreenNode)(object)xmlCommentSyntax, num); } return xmlCommentSyntax; } public static IfDirectiveTriviaSyntax IfDirectiveTrivia(SyntaxToken hashToken, SyntaxToken ifKeyword, ExpressionSyntax condition, SyntaxToken endOfDirectiveToken, bool isActive, bool branchTaken, bool conditionValue) { return new IfDirectiveTriviaSyntax(SyntaxKind.IfDirectiveTrivia, hashToken, ifKeyword, condition, endOfDirectiveToken, isActive, branchTaken, conditionValue); } public static ElifDirectiveTriviaSyntax ElifDirectiveTrivia(SyntaxToken hashToken, SyntaxToken elifKeyword, ExpressionSyntax condition, SyntaxToken endOfDirectiveToken, bool isActive, bool branchTaken, bool conditionValue) { return new ElifDirectiveTriviaSyntax(SyntaxKind.ElifDirectiveTrivia, hashToken, elifKeyword, condition, endOfDirectiveToken, isActive, branchTaken, conditionValue); } public static ElseDirectiveTriviaSyntax ElseDirectiveTrivia(SyntaxToken hashToken, SyntaxToken elseKeyword, SyntaxToken endOfDirectiveToken, bool isActive, bool branchTaken) { return new ElseDirectiveTriviaSyntax(SyntaxKind.ElseDirectiveTrivia, hashToken, elseKeyword, endOfDirectiveToken, isActive, branchTaken); } public static EndIfDirectiveTriviaSyntax EndIfDirectiveTrivia(SyntaxToken hashToken, SyntaxToken endIfKeyword, SyntaxToken endOfDirectiveToken, bool isActive) { return new EndIfDirectiveTriviaSyntax(SyntaxKind.EndIfDirectiveTrivia, hashToken, endIfKeyword, endOfDirectiveToken, isActive); } public static RegionDirectiveTriviaSyntax RegionDirectiveTrivia(SyntaxToken hashToken, SyntaxToken regionKeyword, SyntaxToken endOfDirectiveToken, bool isActive) { return new RegionDirectiveTriviaSyntax(SyntaxKind.RegionDirectiveTrivia, hashToken, regionKeyword, endOfDirectiveToken, isActive); } public static EndRegionDirectiveTriviaSyntax EndRegionDirectiveTrivia(SyntaxToken hashToken, SyntaxToken endRegionKeyword, SyntaxToken endOfDirectiveToken, bool isActive) { return new EndRegionDirectiveTriviaSyntax(SyntaxKind.EndRegionDirectiveTrivia, hashToken, endRegionKeyword, endOfDirectiveToken, isActive); } public static ErrorDirectiveTriviaSyntax ErrorDirectiveTrivia(SyntaxToken hashToken, SyntaxToken errorKeyword, SyntaxToken endOfDirectiveToken, bool isActive) { return new ErrorDirectiveTriviaSyntax(SyntaxKind.ErrorDirectiveTrivia, hashToken, errorKeyword, endOfDirectiveToken, isActive); } public static WarningDirectiveTriviaSyntax WarningDirectiveTrivia(SyntaxToken hashToken, SyntaxToken warningKeyword, SyntaxToken endOfDirectiveToken, bool isActive) { return new WarningDirectiveTriviaSyntax(SyntaxKind.WarningDirectiveTrivia, hashToken, warningKeyword, endOfDirectiveToken, isActive); } public static BadDirectiveTriviaSyntax BadDirectiveTrivia(SyntaxToken hashToken, SyntaxToken identifier, SyntaxToken endOfDirectiveToken, bool isActive) { return new BadDirectiveTriviaSyntax(SyntaxKind.BadDirectiveTrivia, hashToken, identifier, endOfDirectiveToken, isActive); } public static DefineDirectiveTriviaSyntax DefineDirectiveTrivia(SyntaxToken hashToken, SyntaxToken defineKeyword, SyntaxToken name, SyntaxToken endOfDirectiveToken, bool isActive) { return new DefineDirectiveTriviaSyntax(SyntaxKind.DefineDirectiveTrivia, hashToken, defineKeyword, name, endOfDirectiveToken, isActive); } public static UndefDirectiveTriviaSyntax UndefDirectiveTrivia(SyntaxToken hashToken, SyntaxToken undefKeyword, SyntaxToken name, SyntaxToken endOfDirectiveToken, bool isActive) { return new UndefDirectiveTriviaSyntax(SyntaxKind.UndefDirectiveTrivia, hashToken, undefKeyword, name, endOfDirectiveToken, isActive); } public static LineDirectiveTriviaSyntax LineDirectiveTrivia(SyntaxToken hashToken, SyntaxToken lineKeyword, SyntaxToken line, SyntaxToken? file, SyntaxToken endOfDirectiveToken, bool isActive) { return new LineDirectiveTriviaSyntax(SyntaxKind.LineDirectiveTrivia, hashToken, lineKeyword, line, file, endOfDirectiveToken, isActive); } public static LineDirectivePositionSyntax LineDirectivePosition(SyntaxToken openParenToken, SyntaxToken line, SyntaxToken commaToken, SyntaxToken character, SyntaxToken closeParenToken) { return new LineDirectivePositionSyntax(SyntaxKind.LineDirectivePosition, openParenToken, line, commaToken, character, closeParenToken); } public static LineSpanDirectiveTriviaSyntax LineSpanDirectiveTrivia(SyntaxToken hashToken, SyntaxToken lineKeyword, LineDirectivePositionSyntax start, SyntaxToken minusToken, LineDirectivePositionSyntax end, SyntaxToken? characterOffset, SyntaxToken file, SyntaxToken endOfDirectiveToken, bool isActive) { return new LineSpanDirectiveTriviaSyntax(SyntaxKind.LineSpanDirectiveTrivia, hashToken, lineKeyword, start, minusToken, end, characterOffset, file, endOfDirectiveToken, isActive); } public static PragmaWarningDirectiveTriviaSyntax PragmaWarningDirectiveTrivia(SyntaxToken hashToken, SyntaxToken pragmaKeyword, SyntaxToken warningKeyword, SyntaxToken disableOrRestoreKeyword, SeparatedSyntaxList errorCodes, SyntaxToken endOfDirectiveToken, bool isActive) { return new PragmaWarningDirectiveTriviaSyntax(SyntaxKind.PragmaWarningDirectiveTrivia, hashToken, pragmaKeyword, warningKeyword, disableOrRestoreKeyword, errorCodes.Node, endOfDirectiveToken, isActive); } public static PragmaChecksumDirectiveTriviaSyntax PragmaChecksumDirectiveTrivia(SyntaxToken hashToken, SyntaxToken pragmaKeyword, SyntaxToken checksumKeyword, SyntaxToken file, SyntaxToken guid, SyntaxToken bytes, SyntaxToken endOfDirectiveToken, bool isActive) { return new PragmaChecksumDirectiveTriviaSyntax(SyntaxKind.PragmaChecksumDirectiveTrivia, hashToken, pragmaKeyword, checksumKeyword, file, guid, bytes, endOfDirectiveToken, isActive); } public static ReferenceDirectiveTriviaSyntax ReferenceDirectiveTrivia(SyntaxToken hashToken, SyntaxToken referenceKeyword, SyntaxToken file, SyntaxToken endOfDirectiveToken, bool isActive) { return new ReferenceDirectiveTriviaSyntax(SyntaxKind.ReferenceDirectiveTrivia, hashToken, referenceKeyword, file, endOfDirectiveToken, isActive); } public static LoadDirectiveTriviaSyntax LoadDirectiveTrivia(SyntaxToken hashToken, SyntaxToken loadKeyword, SyntaxToken file, SyntaxToken endOfDirectiveToken, bool isActive) { return new LoadDirectiveTriviaSyntax(SyntaxKind.LoadDirectiveTrivia, hashToken, loadKeyword, file, endOfDirectiveToken, isActive); } public static ShebangDirectiveTriviaSyntax ShebangDirectiveTrivia(SyntaxToken hashToken, SyntaxToken exclamationToken, SyntaxToken endOfDirectiveToken, bool isActive) { return new ShebangDirectiveTriviaSyntax(SyntaxKind.ShebangDirectiveTrivia, hashToken, exclamationToken, endOfDirectiveToken, isActive); } public static NullableDirectiveTriviaSyntax NullableDirectiveTrivia(SyntaxToken hashToken, SyntaxToken nullableKeyword, SyntaxToken settingToken, SyntaxToken? targetToken, SyntaxToken endOfDirectiveToken, bool isActive) { return new NullableDirectiveTriviaSyntax(SyntaxKind.NullableDirectiveTrivia, hashToken, nullableKeyword, settingToken, targetToken, endOfDirectiveToken, isActive); } }