Namespace ICSharpCode.Decompiler.CSharp.Syntax
Classes
- AbstractAnnotatable
Base class used to implement the IAnnotatable interface. This implementation is thread-safe.
- Accessor
get/set/init/add/remove
- AnonymousMethodExpression
[async] delegate(Parameters) {Body}
- AnonymousTypeCreateExpression
new { [ExpressionList] }
- ArrayCreateExpression
new Type[Dimensions]
- ArrayInitializerExpression
{ Elements }
- ArraySpecifier
[,,,]
- AsExpression
Expression as TypeReference
- AssignmentExpression
Left Operator= Right
- AstNodeCollection<T>
Represents the children of an AstNode that have a specific role.
- AstType
A type reference in the C# AST.
- Attribute
Attribute(Arguments)
- AttributeSection
[AttributeTarget: Attributes]
- BinaryOperatorExpression
Left Operator Right
- BlockStatement
{ Statements }
- BreakStatement
break;
- CSharpTokenNode
Represents a token in C#. Note that the type of the token is defined through the TokenRole.
- CastExpression
(CastTo)Expression
- CatchClause
catch (Type VariableName) { Body }
- CheckedExpression
checked(Expression)
- CheckedStatement
checked BodyBlock
- ConditionalExpression
Condition ? TrueExpression : FalseExpression
- Constraint
where TypeParameter : BaseTypes
- ContinueStatement
continue;
- DeclarationExpression
TypeName VariableDesignation
- DefaultValueExpression
default(Type)
- DelegateDeclaration
delegate ReturnType Name<TypeParameters>(Parameters) where Constraints;
- DepthFirstAstVisitor
AST visitor with a default implementation that visits all node depth-first.
- DepthFirstAstVisitor<T>
AST visitor with a default implementation that visits all node depth-first.
- DepthFirstAstVisitor<T, S>
AST visitor with a default implementation that visits all node depth-first.
- DirectionExpression
ref Expression
- DoWhileStatement
"do EmbeddedStatement while(Condition);"
- DocumentationReference
Represents a 'cref' reference in XML documentation.
- Expression
Base class for expressions.
- ExpressionStatement
Expression;
- ExternAliasDeclaration
extern alias IDENTIFIER;
- FixedStatement
fixed (Type Variables) EmbeddedStatement
- FixedVariableInitializer
Name [ CountExpression ]
- ForStatement
for (Initializers; Condition; Iterators) EmbeddedStatement
- ForeachStatement
foreach (Type VariableName in InExpression) EmbeddedStatement
- GotoCaseStatement
or "goto case LabelExpression;"
- GotoDefaultStatement
or "goto default;"
- GotoStatement
"goto Label;"
- IdentifierExpressionBackreference
Matches identifier expressions that have the same identifier as the referenced variable/type definition/method definition.
- IfElseStatement
if (Condition) TrueStatement else FalseStatement
- IndexerExpression
Target[Arguments]
- Interpolation
{ Expression , Alignment : Suffix }
- InvocationAstType
BaseType "(" Argument { "," Argument } ")"
- InvocationExpression
Target(Arguments)
- IsExpression
Expression is Type
- LabelStatement
Label:
- LambdaExpression
[async] Parameters => Body
- LockStatement
lock (Expression) EmbeddedStatement;
- MemberReferenceExpression
Target.MemberName
- NamedArgumentExpression
Represents a named argument passed to a method or attribute. name: expression
- NamedExpression
name = expression This isn't the same as 'assign' even though it has the same syntax. This expression is used in object initializers and for named attribute arguments [Attr(FieldName = value)].
- NamespaceDeclaration
namespace Name { Members }
- ObjectCreateExpression
new Type(Arguments) { Initializer }
- OutVarDeclarationExpression
out type expression
- ParenthesizedExpression
( Expression )
- ParenthesizedVariableDesignation
( VariableDesignation (, VariableDesignation)* )
- PointerReferenceExpression
Target->MemberName
- PrimitiveExpression
Represents a literal value.
- QueryContinuationClause
Represents a query continuation. "(from .. select ..) into Identifier" or "(from .. group .. by ..) into Identifier" Note that "join .. into .." is not a query continuation!
This is always the first(!!) clause in a query expression. The tree for "from a in b select c into d select e" looks like this: new QueryExpression { new QueryContinuationClause { PrecedingQuery = new QueryExpression { new QueryFromClause(a in b), new QuerySelectClause(c) }, Identifier = d }, new QuerySelectClause(e) }
- QueryJoinClause
Represents a join or group join clause.
- ReturnStatement
return Expression;
- Role
Represents the role a node plays within its parent.
- Role<T>
Represents the role a node plays within its parent. All nodes with this role have type T.
- SingleVariableDesignation
Identifier
- SizeOfExpression
sizeof(Type)
- StackAllocExpression
stackalloc Type[Count]
- Statement
Base class for statements.
- SwitchExpression
Expression switch { SwitchSections }
- SwitchExpressionSection
Pattern => Expression
- SwitchStatement
switch (Expression) { SwitchSections }
- SyntaxExtensions
Extension methods for the syntax tree.
- ThrowExpression
throw Expression
- ThrowStatement
throw Expression;
- TokenRole
A specific role only used for C# tokens
- TryCatchStatement
try TryBlock CatchClauses finally FinallyBlock
- TypeDeclaration
class Name<TypeParameters> : BaseTypes where Constraints;
- TypeOfExpression
typeof(Type)
- TypeParameterDeclaration
[in|out] Name
Represents a type parameter. Note: mirroring the C# syntax, constraints are not part of the type parameter declaration, but belong to the parent type or method.
- TypeReferenceExpression
Represents an AstType as an expression. This is used when calling a method on a primitive type: "int.Parse()"
- TypeSystemAstBuilder
Converts from type system to the C# AST.
- UnaryOperatorExpression
Operator Expression
- UncheckedExpression
unchecked(Expression)
- UncheckedStatement
unchecked BodyBlock
- UndocumentedExpression
Represents undocumented expressions.
- UnsafeStatement
unsafe { Body }
- UsingAliasDeclaration
using Alias = Import;
- UsingDeclaration
using Import;
- UsingStatement
[ await ] using (ResourceAcquisition) EmbeddedStatement
- WhileStatement
"while (Condition) EmbeddedStatement"
- WithInitializerExpression
Expression with Initializer
- YieldBreakStatement
yield break;
- YieldReturnStatement
yield return Expression;
Structs
- TextLocation
A line/column position. Text editor lines/columns are counted started from one.
Interfaces
- IAnnotatable
Provides an interface to handle annotations in an object.
- IAstVisitor
AST visitor.
- IAstVisitor<S>
AST visitor.
- IAstVisitor<T, S>
AST visitor.
Enums
- LiteralFormat
Form of a C# literal.