Provides the base class from which the classes that represent name syntax nodes are derived. This is an abstract class.
SyntaxToken representing the identifier of the simple name.
Provides the base class from which the classes that represent simple name syntax nodes are derived. This is an abstract class.
SyntaxToken representing the keyword for the kind of the identifier name.
Class which represents the syntax node for identifier name.
Creates an IdentifierNameSyntax node.
NameSyntax node representing the name on the left side of the dot token of the qualified name.
SyntaxToken representing the dot.
SimpleNameSyntax node representing the name on the right side of the dot token of the qualified name.
Class which represents the syntax node for qualified name.
Creates a QualifiedNameSyntax node.
SyntaxToken representing the name of the identifier of the generic name.
TypeArgumentListSyntax node representing the list of type arguments of the generic name.
Class which represents the syntax node for generic name.
Creates a GenericNameSyntax node.
SyntaxToken representing less than.
SeparatedSyntaxList of TypeSyntax node representing the type arguments.
SyntaxToken representing greater than.
Class which represents the syntax node for type argument list.
Creates a TypeArgumentListSyntax node.
IdentifierNameSyntax node representing the name of the alias
SyntaxToken representing colon colon.
SimpleNameSyntax node representing the name that is being alias qualified.
Class which represents the syntax node for alias qualified name.
Creates an AliasQualifiedNameSyntax node.
Provides the base class from which the classes that represent type syntax nodes are derived. This is an abstract class.
SyntaxToken which represents the keyword corresponding to the predefined type.
Class which represents the syntax node for predefined types.
Creates a PredefinedTypeSyntax node.
TypeSyntax node representing the type of the element of the array.
SyntaxList of ArrayRankSpecifierSyntax nodes representing the list of rank specifiers for the array.
Class which represents the syntax node for the array type.
Creates an ArrayTypeSyntax node.
TypeSyntax node that represents the element type of the pointer.
SyntaxToken representing the asterisk.
Class which represents the syntax node for pointer type.
Creates a PointerTypeSyntax node.
TypeSyntax node representing the type of the element.
SyntaxToken representing the question mark.
Class which represents the syntax node for a nullable type.
Creates a NullableTypeSyntax node.
SyntaxToken representing the open parenthesis.
SyntaxToken representing the close parenthesis.
Class which represents the syntax node for tuple type.
Creates a TupleTypeSyntax node.
Tuple type element.
Gets the type of the tuple element.
Gets the name of the tuple element.
SyntaxToken representing the omitted type argument.
Class which represents a placeholder in the type argument list of an unbound generic type.
Creates an OmittedTypeArgumentSyntax node.
The ref modifier of a method's return value or a local.
Gets the optional "readonly" keyword.
Provides the base class from which the classes that represent expression syntax nodes are derived. This is an abstract class.
SyntaxToken representing the open parenthesis.
ExpressionSyntax node representing the expression enclosed within the parenthesis.
SyntaxToken representing the close parenthesis.
Class which represents the syntax node for parenthesized expression.
Creates a ParenthesizedExpressionSyntax node.
SyntaxToken representing the open parenthesis.
SeparatedSyntaxList of ArgumentSyntax representing the list of arguments.
SyntaxToken representing the close parenthesis.
Class which represents the syntax node for tuple expression.
Creates a TupleExpressionSyntax node.
SyntaxToken representing the kind of the operator of the prefix unary expression.
ExpressionSyntax representing the operand of the prefix unary expression.
Class which represents the syntax node for prefix unary expression.
Creates a PrefixUnaryExpressionSyntax node.
SyntaxToken representing the kind "await" keyword.
ExpressionSyntax representing the operand of the "await" operator.
Class which represents the syntax node for an "await" expression.
Creates an AwaitExpressionSyntax node.
ExpressionSyntax representing the operand of the postfix unary expression.
SyntaxToken representing the kind of the operator of the postfix unary expression.
Class which represents the syntax node for postfix unary expression.
Creates a PostfixUnaryExpressionSyntax node.
ExpressionSyntax node representing the object that the member belongs to.
SyntaxToken representing the kind of the operator in the member access expression.
SimpleNameSyntax node representing the member being accessed.
Class which represents the syntax node for member access expression.
Creates a MemberAccessExpressionSyntax node.
ExpressionSyntax node representing the object conditionally accessed.
SyntaxToken representing the question mark.
ExpressionSyntax node representing the access expression to be executed when the object is not null.
Class which represents the syntax node for conditional access expression.
Creates a ConditionalAccessExpressionSyntax node.
SyntaxToken representing dot.
SimpleNameSyntax node representing the member being bound to.
Class which represents the syntax node for member binding expression.
Creates a MemberBindingExpressionSyntax node.
BracketedArgumentListSyntax node representing the list of arguments of the element binding expression.
Class which represents the syntax node for element binding expression.
Creates an ElementBindingExpressionSyntax node.
BracketedArgumentListSyntax node representing the list of arguments of the implicit element access expression.
Class which represents the syntax node for implicit element access expression.
Creates an ImplicitElementAccessSyntax node.
ExpressionSyntax node representing the expression on the left of the binary operator.
SyntaxToken representing the operator of the binary expression.
ExpressionSyntax node representing the expression on the right of the binary operator.
Class which represents an expression that has a binary operator.
Creates a BinaryExpressionSyntax node.
ExpressionSyntax node representing the expression on the left of the assignment operator.
SyntaxToken representing the operator of the assignment expression.
ExpressionSyntax node representing the expression on the right of the assignment operator.
Class which represents an expression that has an assignment operator.
Creates an AssignmentExpressionSyntax node.
ExpressionSyntax node representing the condition of the conditional expression.
SyntaxToken representing the question mark.
ExpressionSyntax node representing the expression to be executed when the condition is true.
SyntaxToken representing the colon.
ExpressionSyntax node representing the expression to be executed when the condition is false.
Class which represents the syntax node for conditional expression.
Creates a ConditionalExpressionSyntax node.
Provides the base class from which the classes that represent instance expression syntax nodes are derived. This is an abstract class.
SyntaxToken representing the this keyword.
Class which represents the syntax node for a this expression.
Creates a ThisExpressionSyntax node.
SyntaxToken representing the base keyword.
Class which represents the syntax node for a base expression.
Creates a BaseExpressionSyntax node.
SyntaxToken representing the keyword corresponding to the kind of the literal expression.
Class which represents the syntax node for a literal expression.
Creates a LiteralExpressionSyntax node.
SyntaxToken representing the MakeRefKeyword.
SyntaxToken representing open parenthesis.
Argument of the primary function.
SyntaxToken representing close parenthesis.
Class which represents the syntax node for MakeRef expression.
Creates a MakeRefExpressionSyntax node.
SyntaxToken representing the RefTypeKeyword.
SyntaxToken representing open parenthesis.
Argument of the primary function.
SyntaxToken representing close parenthesis.
Class which represents the syntax node for RefType expression.
Creates a RefTypeExpressionSyntax node.
SyntaxToken representing the RefValueKeyword.
SyntaxToken representing open parenthesis.
Typed reference expression.
Comma separating the arguments.
The type of the value.
SyntaxToken representing close parenthesis.
Class which represents the syntax node for RefValue expression.
Creates a RefValueExpressionSyntax node.
SyntaxToken representing the checked or unchecked keyword.
SyntaxToken representing open parenthesis.
Argument of the primary function.
SyntaxToken representing close parenthesis.
Class which represents the syntax node for Checked or Unchecked expression.
Creates a CheckedExpressionSyntax node.
SyntaxToken representing the DefaultKeyword.
SyntaxToken representing open parenthesis.
Argument of the primary function.
SyntaxToken representing close parenthesis.
Class which represents the syntax node for Default expression.
Creates a DefaultExpressionSyntax node.
SyntaxToken representing the TypeOfKeyword.
SyntaxToken representing open parenthesis.
The expression to return type of.
SyntaxToken representing close parenthesis.
Class which represents the syntax node for TypeOf expression.
Creates a TypeOfExpressionSyntax node.
SyntaxToken representing the SizeOfKeyword.
SyntaxToken representing open parenthesis.
Argument of the primary function.
SyntaxToken representing close parenthesis.
Class which represents the syntax node for SizeOf expression.
Creates a SizeOfExpressionSyntax node.
ExpressionSyntax node representing the expression part of the invocation.
ArgumentListSyntax node representing the list of arguments of the invocation expression.
Class which represents the syntax node for invocation expression.
Creates an InvocationExpressionSyntax node.
ExpressionSyntax node representing the expression which is accessing the element.
BracketedArgumentListSyntax node representing the list of arguments of the element access expression.
Class which represents the syntax node for element access expression.
Creates an ElementAccessExpressionSyntax node.
SeparatedSyntaxList of ArgumentSyntax nodes representing the list of arguments.
Provides the base class from which the classes that represent argument list syntax nodes are derived. This is an abstract class.
SyntaxToken representing open parenthesis.
SeparatedSyntaxList of ArgumentSyntax representing the list of arguments.
SyntaxToken representing close parenthesis.
Class which represents the syntax node for the list of arguments.
Creates an ArgumentListSyntax node.
SyntaxToken representing open bracket.
SeparatedSyntaxList of ArgumentSyntax representing the list of arguments.
SyntaxToken representing close bracket.
Class which represents the syntax node for bracketed argument list.
Creates a BracketedArgumentListSyntax node.
NameColonSyntax node representing the optional name arguments.
SyntaxToken representing the optional ref or out keyword.
ExpressionSyntax node representing the argument.
Class which represents the syntax node for argument.
Creates an ArgumentSyntax node.
IdentifierNameSyntax representing the identifier name.
SyntaxToken representing colon.
Class which represents the syntax node for name colon syntax.
Creates a NameColonSyntax node.
Declaration representing the variable declared in an out parameter or deconstruction.
Class which represents the syntax node for the variable declaration in an out var declaration or a deconstruction declaration.
Creates a DeclarationExpression node.
SyntaxToken representing the open parenthesis.
TypeSyntax node representing the type to which the expression is being cast.
SyntaxToken representing the close parenthesis.
ExpressionSyntax node representing the expression that is being casted.
Class which represents the syntax node for cast expression.
Creates a CastExpressionSyntax node.
Provides the base class from which the classes that represent anonymous function expressions are derived.
Gets the "async" token.
ExpressionSyntax or BlockSyntax representing the body of the lambda expression.
Gets the "async" token.
SyntaxToken representing the delegate keyword.
List of parameters of the anonymous method expression, or null if there no parameters are specified.
BlockSyntax node representing the body of the anonymous method.
Class which represents the syntax node for anonymous method expression.
Creates an AnonymousMethodExpressionSyntax node.
Provides the base class from which the classes that represent lambda expressions are derived.
SyntaxToken representing equals greater than.
Gets the "async" token.
ParameterSyntax node representing the parameter of the lambda expression.
SyntaxToken representing equals greater than.
SyntaxNode representing the body of the lambda expression.
Class which represents the syntax node for a simple lambda expression.
Creates a SimpleLambdaExpressionSyntax node.
Gets the "async" token.
ParameterListSyntax node representing the list of parameters for the lambda expression.
SyntaxToken representing equals greater than.
SyntaxNode representing the body of the lambda expression.
Class which represents the syntax node for parenthesized lambda expression.
Creates a ParenthesizedLambdaExpressionSyntax node.
SyntaxToken representing the open brace.
SeparatedSyntaxList of ExpressionSyntax representing the list of expressions in the initializer expression.
SyntaxToken representing the close brace.
Class which represents the syntax node for initializer expression.
Creates an InitializerExpressionSyntax node.
SyntaxToken representing the new keyword.
TypeSyntax representing the type of the object being created.
ArgumentListSyntax representing the list of arguments passed as part of the object creation expression.
InitializerExpressionSyntax representing the initializer expression for the object being created.
Class which represents the syntax node for object creation expression.
Creates an ObjectCreationExpressionSyntax node.
NameEqualsSyntax representing the optional name of the member being initialized.
ExpressionSyntax representing the value the member is initialized with.
Creates an AnonymousObjectMemberDeclaratorSyntax node.
SyntaxToken representing the new keyword.
SyntaxToken representing the open brace.
SeparatedSyntaxList of AnonymousObjectMemberDeclaratorSyntax representing the list of object member initializers.
SyntaxToken representing the close brace.
Class which represents the syntax node for anonymous object creation expression.
Creates an AnonymousObjectCreationExpressionSyntax node.
SyntaxToken representing the new keyword.
ArrayTypeSyntax node representing the type of the array.
InitializerExpressionSyntax node representing the initializer of the array creation expression.
Class which represents the syntax node for array creation expression.
Creates an ArrayCreationExpressionSyntax node.
SyntaxToken representing the new keyword.
SyntaxToken representing the open bracket.
SyntaxList of SyntaxToken representing the commas in the implicit array creation expression.
SyntaxToken representing the close bracket.
InitializerExpressionSyntax representing the initializer expression of the implicit array creation expression.
Class which represents the syntax node for implicit array creation expression.
Creates an ImplicitArrayCreationExpressionSyntax node.
SyntaxToken representing the stackalloc keyword.
TypeSyntax node representing the type of the stackalloc array.
Class which represents the syntax node for stackalloc array creation expression.
Creates a StackAllocArrayCreationExpressionSyntax node.
Gets the identifier.
Gets the identifier.
Gets the identifier.
Gets the identifier.
Gets the identifier.
SyntaxToken representing the omitted array size expression.
Class which represents a placeholder in an array size list.
Creates an OmittedArraySizeExpressionSyntax node.
The first part of an interpolated string, $" or $@"
List of parts of the interpolated string, each one is either a literal part or an interpolation.
The closing quote of the interpolated string.
ExpressionSyntax node representing the expression on the left of the "is" operator.
PatternSyntax node representing the pattern on the right of the "is" operator.
Class which represents a simple pattern-maching expresion using the "is" keyword.
Creates an IsPatternExpressionSyntax node.
ExpressionSyntax node representing the constant expression.
The text contents of a part of the interpolated string.
The text contents of the format specifier for an interpolation.
Represents the base class for all statements syntax classes.
Gets the identifier.
Gets the optional semicolon token.
Gets the modifier list.
Gets the identifier.
Gets the identifier.
Gets a SyntaxToken that represents the colon succeeding the statement's label.
Represents a labeled statement syntax.
Creates a LabeledStatementSyntax node
Gets a SyntaxToken that represents the goto keyword.
Gets a SyntaxToken that represents the case or default keywords if any exists.
Gets a constant expression for a goto case statement.
Gets a SyntaxToken that represents the semi-colon at the end of the statement.
Represents a goto statement syntax
Creates a GotoStatementSyntax node.
Gets the identifier.
The variable(s) of the loop. In correct code this is a tuple
literal, declaration expression with a tuple designator, or
a discard syntax in the form of a simple identifier. In broken
code it could be something else.
Gets a SyntaxToken that represents the if keyword.
Gets a SyntaxToken that represents the open parenthesis before the if statement's condition expression.
Gets an ExpressionSyntax that represents the condition of the if statement.
Gets a SyntaxToken that represents the close parenthesis after the if statement's condition expression.
Gets a StatementSyntax the represents the statement to be executed when the condition is true.
Gets an ElseClauseSyntax that represents the statement to be executed when the condition is false if such statement exists.
Represents an if statement syntax.
Creates an IfStatementSyntax node
Gets a syntax token
Represents an else statement syntax.
Creates a ElseClauseSyntax node
Gets a SyntaxToken that represents the switch keyword.
Gets a SyntaxToken that represents the open parenthesis preceding the switch expression.
Gets an ExpressionSyntax representing the expression of the switch statement.
Gets a SyntaxToken that represents the close parenthesis succeeding the switch expression.
Gets a SyntaxToken that represents the open braces preceding the switch sections.
Gets a SyntaxList of SwitchSectionSyntax's that represents the switch sections of the switch statement.
Gets a SyntaxToken that represents the open braces succeeding the switch sections.
Represents a switch statement syntax.
Creates a SwitchStatementSyntax node.
Gets a SyntaxList of SwitchLabelSyntax's the represents the possible labels that control can transfer to within the section.
Gets a SyntaxList of StatementSyntax's the represents the statements to be executed when control transfer to a label the belongs to the section.
Represents a switch section syntax of a switch statement.
Creates a SwitchSectionSyntax node.
Gets a SyntaxToken that represents a case or default keyword that belongs to a switch label.
Gets a SyntaxToken that represents the colon that terminates the switch label.
Represents a switch label within a switch statement.
Gets the case keyword token.
Gets a PatternSyntax that represents the pattern that gets matched for the case label.
Represents a case label within a switch statement.
Creates a CaseMatchLabelSyntax node.
Gets the case keyword token.
Gets an ExpressionSyntax that represents the constant expression that gets matched for the case label.
Represents a case label within a switch statement.
Creates a CaseSwitchLabelSyntax node.
Gets the default keyword token.
Represents a default label within a switch statement.
Creates a DefaultSwitchLabelSyntax node.
Gets the attribute declaration list.
SyntaxToken representing the extern keyword.
SyntaxToken representing the alias keyword.
Gets the identifier.
SyntaxToken representing the semicolon token.
Represents an ExternAlias directive syntax, e.g. "extern alias MyAlias;" with specifying "/r:MyAlias=SomeAssembly.dll " on the compiler command line.
Creates an ExternAliasDirectiveSyntax node
Member declaration syntax.
Gets the optional semicolon token.
Class representing one or more attributes applied to a language construct.
Gets the open bracket token.
Gets the optional construct targeted by the attribute.
Gets the attribute declaration list.
Gets the close bracket token.
Class representing what language construct an attribute targets.
Gets the identifier.
Gets the colon token.
Attribute syntax.
Gets the name.
Attribute argument list syntax.
Gets the open paren token.
Gets the arguments syntax list.
Gets the close paren token.
Attribute argument syntax.
Gets the expression.
Class representing an identifier name followed by an equals token.
Gets the identifier name.
Type parameter list syntax.
Gets the < token.
Gets the parameter list.
Gets the > token.
Type parameter syntax.
Gets the attribute declaration list.
Gets the identifier.
Base class for type declaration syntax.
Gets the attribute declaration list.
Gets the modifier list.
Gets the identifier.
Gets the base type list.
Gets the open brace token.
Gets the close brace token.
Gets the optional semicolon token.
Base class for type declaration syntax (class, struct, interface).
Gets the type keyword token ("class", "struct", "interface").
Gets the type constraint list.
Gets the member declarations.
Class type declaration syntax.
Gets the class keyword token.
Struct type declaration syntax.
Gets the struct keyword token.
Interface type declaration syntax.
Gets the interface keyword token.
Enum type declaration syntax.
Gets the enum keyword token.
Gets the members declaration list.
Gets the optional semicolon token.
Delegate declaration syntax.
Gets the attribute declaration list.
Gets the modifier list.
Gets the "delegate" keyword.
Gets the return type.
Gets the identifier.
Gets the parameter list.
Gets the constraint clause list.
Gets the semicolon token.
Gets the attribute declaration list.
Gets the identifier.
Base list syntax.
Gets the colon token.
Gets the base type references.
Provides the base class from which the classes that represent base type syntax nodes are derived. This is an abstract class.
Type parameter constraint clause.
Gets the identifier.
Gets the colon token.
Gets the constraints list.
Base type for type parameter constraint syntax.
Constructor constraint syntax.
Gets the "new" keyword.
Gets the open paren keyword.
Gets the close paren keyword.
Base type for class or struct constraint syntax.
Gets the constraint keyword ("class" or "struct").
Type constraint syntax.
Gets the type syntax.
Gets the attribute declaration list.
Gets the modifier list.
Gets the attribute declaration list.
Gets the modifier list.
Gets the attribute declaration list.
Gets the modifier list.
Base type for method declaration syntax.
Gets the attribute declaration list.
Gets the modifier list.
Gets the parameter list.
Gets the optional semicolon token.
Method declaration syntax.
Gets the return type syntax.
Gets the identifier.
Gets the constraint clause list.
Gets the optional semicolon token.
Operator declaration syntax.
Gets the return type.
Gets the "operator" keyword.
Gets the operator token.
Conversion operator declaration syntax.
Gets the "implicit" or "explicit" token.
Gets the "operator" token.
Gets the type.
Gets the optional semicolon token.
Constructor declaration syntax.
Gets the identifier.
Gets the optional semicolon token.
Constructor initializer syntax.
Gets the colon token.
Gets the "this" or "base" keyword.
Destructor declaration syntax.
Gets the tilde token.
Gets the identifier.
Gets the optional semicolon token.
Base type for property declaration syntax.
Gets the attribute declaration list.
Gets the modifier list.
Gets the type syntax.
Gets the optional explicit interface specifier.
Gets the identifier.
The syntax for the expression body of an expression-bodied member.
Gets the identifier.
Gets the parameter list.
Gets the attribute declaration list.
Gets the modifier list.
Gets the keyword token, or identifier if an erroneous accessor declaration.
Gets the optional body block which may be empty, but it is null if there are no braces.
Gets the optional expression body.
Gets the optional semicolon token.
Base type for parameter list syntax.
Gets the parameter list.
Parameter list syntax.
Gets the open paren token.
Gets the close paren token.
Parameter list syntax with surrounding brackets.
Gets the open bracket token.
Gets the close bracket token.
Parameter syntax.
Gets the attribute declaration list.
Gets the modifier list.
Gets the identifier.
Gets the attribute declaration list.
Gets the modifier list.
A symbol referenced by a cref attribute (e.g. in a <see> or <seealso> documentation comment tag).
For example, the M in <see cref="M" />.
A symbol reference that definitely refers to a type.
For example, "int", "A::B", "A.B", "A<T>", but not "M()" (has parameter list) or "this" (indexer).
NOTE: TypeCrefSyntax, QualifiedCrefSyntax, and MemberCrefSyntax overlap. The syntax in a TypeCrefSyntax
will always be bound as type, so it's safer to use QualifiedCrefSyntax or MemberCrefSyntax if the symbol
might be a non-type member.
A symbol reference to a type or non-type member that is qualified by an enclosing type or namespace.
For example, cref="System.String.ToString()".
NOTE: TypeCrefSyntax, QualifiedCrefSyntax, and MemberCrefSyntax overlap. The syntax in a TypeCrefSyntax
will always be bound as type, so it's safer to use QualifiedCrefSyntax or MemberCrefSyntax if the symbol
might be a non-type member.
The unqualified part of a CrefSyntax.
For example, "ToString()" in "object.ToString()".
NOTE: TypeCrefSyntax, QualifiedCrefSyntax, and MemberCrefSyntax overlap. The syntax in a TypeCrefSyntax
will always be bound as type, so it's safer to use QualifiedCrefSyntax or MemberCrefSyntax if the symbol
might be a non-type member.
A MemberCrefSyntax specified by a name (an identifier, predefined type keyword, or an alias-qualified name,
with an optional type parameter list) and an optional parameter list.
For example, "M", "M<T>" or "M(int)".
Also, "A::B()" or "string()".
A MemberCrefSyntax specified by a this keyword and an optional parameter list.
For example, "this" or "this[int]".
A MemberCrefSyntax specified by an operator keyword, an operator symbol and an optional parameter list.
For example, "operator +" or "operator -[int]".
NOTE: the operator must be overloadable.
Gets the operator token.
A MemberCrefSyntax specified by an implicit or explicit keyword, an operator keyword, a destination type, and an optional parameter list.
For example, "implicit operator int" or "explicit operator MyType(int)".
A list of cref parameters with surrounding punctuation.
Unlike regular parameters, cref parameters do not have names.
Gets the parameter list.
A parenthesized list of cref parameters.
Gets the open paren token.
Gets the close paren token.
A bracketed list of cref parameters.
Gets the open bracket token.
Gets the close bracket token.
An element of a BaseCrefParameterListSyntax.
Unlike a regular parameter, a cref parameter has only an optional ref or out keyword and a type -
there is no name and there are no attributes or other modifiers.