Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
This module contains the abstract syntax tree of C#.
- data CompilationUnit = CompilationUnit [Using] [Declaration]
- data Using = Using Name Bool
- data Declaration
- data TypeDeclaration
- = ClassTypeDeclaration [AttributeSection] [Modifier] Identifier [TypeParameter] [TypeName] [TypeParameterConstraintClause] ClassBody
- | StructTypeDeclaration [AttributeSection] [Modifier] Identifier [TypeParameter] [TypeName] [TypeParameterConstraintClause] StructBody
- | EnumTypeDeclaration [AttributeSection] [Modifier] Identifier (Maybe IntegralType) EnumBody
- | InterfaceTypeDeclaration [AttributeSection] [Modifier] Identifier [VariantTypeParameter] [TypeName] [TypeParameterConstraintClause] InterfaceBody
- | DelegateTypeDeclaration [AttributeSection] [Modifier] (Maybe Type) Identifier [VariantTypeParameter] FormalParams [TypeParameterConstraintClause]
- newtype ClassBody = ClassBody [MemberDeclaration]
- newtype StructBody = StructBody [MemberDeclaration]
- newtype EnumBody = EnumBody [EnumMemberDeclaration]
- data EnumMemberDeclaration = EnumMemberDeclaration Identifier (Maybe Expression)
- newtype InterfaceBody = InterfaceBody [InterfaceMemberDeclaration]
- data InterfaceMemberDeclaration
- = InterfaceMethodMemberDeclaration [AttributeSection] [Modifier] (Maybe Type) Identifier [TypeParameter] FormalParams [TypeParameterConstraintClause]
- | InterfacePropertyMemberDeclaration [AttributeSection] [Modifier] Type Identifier (Maybe InterfaceAccessor) (Maybe InterfaceAccessor)
- | InterfaceEventMemberDeclaration [AttributeSection] [Modifier] Type Identifier
- | InterfaceIndexerMemberDeclaration [AttributeSection] [Modifier] Type FormalParams (Maybe InterfaceAccessor) (Maybe InterfaceAccessor)
- data MemberDeclaration
- = FieldMemberDeclaration [AttributeSection] [Modifier] Type [VariableDeclarator]
- | MethodMemberDeclaration [AttributeSection] [Modifier] (Maybe Type) Name [TypeParameter] FormalParams [TypeParameterConstraintClause] MethodBody
- | PropertyMemberDeclaration [AttributeSection] [Modifier] Type Name PropertyBody
- | EventVariableMemberDeclaration [AttributeSection] [Modifier] Type [VariableDeclarator]
- | EventAccessorMemberDeclaration [AttributeSection] [Modifier] Type Name EventAccessor EventAccessor
- | IndexerMemberDeclaration [AttributeSection] [Modifier] IndexerDeclarator IndexerBody
- | OperatorMemberDeclaration [AttributeSection] [Modifier] OperatorDeclarator OperatorBody
- | ConstructorMemberDeclaration [AttributeSection] [Modifier] Identifier FormalParams (Maybe ConstructorInitializer) ConstructorBody
- | DestructorMemberDeclaration [AttributeSection] [Modifier] Identifier DestructorBody
- | TypeMemberDeclaration TypeDeclaration
- data InterfaceAccessor
- data EventAccessor
- data ConstructorInitializer
- data Argument
- data OperatorDeclarator
- data OverloadableUnaryOperator
- data OperatorBody
- newtype ConstructorBody = ConstructorStatementBody [Statement]
- newtype DestructorBody = DestructorStatementBody [Statement]
- data IndexerBody
- data IndexerDeclarator
- data PropertyBody
- data AccessorDeclaration
- data MethodBody
- data FormalParams = FormalParams [FormalParam] (Maybe ParamArray)
- data FormalParam = FormalParam (Maybe ParameterModifier) Type Identifier (Maybe Expression)
- data ParamArray = ParamArray ArrayType Identifier
- data ParameterModifier
- data Statement
- = Labeled Identifier Statement
- | Declaration LocalVarDeclaration
- | Block [Statement]
- | Empty
- | ExpressionStatement Expression
- | IfThenElse Expression Statement (Maybe Statement)
- | Switch Expression [SwitchBlock]
- | While Expression Statement
- | Do Statement Expression
- | For (Maybe ForInitializer) (Maybe Expression) (Maybe [Expression]) Statement
- | ForEach LocalVarType Identifier Expression Statement
- | Break
- | Continue
- | Goto GotoTarget
- | Return (Maybe Expression)
- | Throw (Maybe Expression)
- | Try [Statement] [Catch] [Statement]
- | CheckedStatement [Statement]
- | UncheckedStatement [Statement]
- | Lock Expression Statement
- | UsingStatement ResourceAcquisition Statement
- | Yield (Maybe Expression)
- data LocalVarDeclaration = LocalVarDeclaration LocalVarType [VariableDeclarator]
- data GotoTarget
- data SwitchBlock
- data ResourceAcquisition
- data VariableDeclarator = VariableDeclarator Identifier (Maybe VariableInitializer)
- data VariableInitializer
- data LocalVarType
- newtype ArrayInitializer = ArrayInitializer [VariableInitializer]
- data ForInitializer
- data Catch = Catch (Maybe ExceptionSpecifier) (Maybe Expression) [Statement]
- data ExceptionSpecifier = ExceptionSpecifier Type (Maybe Identifier)
- data Expression
- = Literal Literal
- | SimpleName Identifier [TypeArgument]
- | Parenthesized Expression
- | Assign Expression AssignmentOperator Expression
- | MemberAccess MemberAccess
- | Invocation Expression [Argument]
- | ElementAccess Expression [Expression]
- | This
- | Base
- | ObjectCreationExpression Type [Argument] (Maybe ObjectCreationInitializer)
- | ObjectCreationTypeInitializer Type ObjectCreationInitializer
- | ArrayCreationExpression Type [Expression] [RankSpecifier] (Maybe ArrayCreationInitializer)
- | ArrayCreationTypeInitializer Type ArrayCreationInitializer
- | ArrayCreationRankInitializer RankSpecifier ArrayCreationInitializer
- | Sizeof Type
- | Typeof TypeOfExpression
- | Checked Expression
- | Unchecked Expression
- | Default Type
- | BinaryOperator BinaryOperator Expression Expression
- | Conditional Expression Expression Expression
- | Nameof NameofEntity
- | Delegate (Maybe AnonymousFunctionSignature) [Statement]
- | Lambda AnonymousFunctionSignature AnonymousFunctionBody
- | UnaryPlus Expression
- | UnaryMinus Expression
- | UnaryNot Expression
- | UnaryBitwiseNot Expression
- | UnaryPreIncrement Expression
- | UnaryPreDecrement Expression
- | UnaryPostIncrement Expression
- | UnaryPostDecrement Expression
- | UnaryCast Type Expression
- | UnaryAwait Expression
- data AnonymousFunctionSignature
- data AnonymousFunctionBody
- data AnonymousFunctionParameter = ExplicitAnonymousFunctionParameter (Maybe ParameterModifier) Type Identifier
- data NameofEntity
- newtype TypeOfExpression = TypeofType (Maybe Type)
- data ArrayCreationInitializer
- data ObjectCreationInitializer
- data MemberInitializer = MemberInitializer InitializerTarget InitializerValue
- data InitializerTarget
- data InitializerValue
- data MemberAccess
- data Literal
- data AssignmentOperator
- data BinaryOperator
- = BinaryPlus
- | BinaryMinus
- | BinaryMultiply
- | BinaryDivide
- | BinaryModulo
- | BinaryShiftLeft
- | BinaryShiftRight
- | BinaryEquals
- | BinaryNotEquals
- | BinaryLessThan
- | BinaryLessThanEqual
- | BinaryGreaterThan
- | BinaryGreaterThanEqual
- | BinaryBitwiseAnd
- | BinaryBitwiseXor
- | BinaryBitwiseOr
- | BinaryAnd
- | BinaryOr
- | BinaryIs
- | BinaryAs
- | BinaryNullCoalescing
- newtype TypeParameter = TypeParameter Identifier
- data TypeParameterConstraintClause = TypeParameterConstraintClause TypeParameter [TypeParameterConstraint]
- data VariantTypeParameter = VariantTypeParameter (Maybe Variance) Identifier
- data Variance
- data TypeParameterConstraint
- newtype TypeArgument = TypeArgument Type
- data Type
- data SimpleType
- data IntegralType
- data FloatingPointType
- data ArrayType = ArrayType Type [RankSpecifier]
- newtype RankSpecifier = RankSpecifier Int
- data TypeName
- data AttributeSection = AttributeSection (Maybe AttributeTarget) [Attribute]
- data GlobalAttributeSection = GlobalAttributeSection (Maybe GlobalAttributeTarget) [Attribute]
- data GlobalAttributeTarget
- data AttributeTarget
- data Attribute = Attribute TypeName [AttributeArgument]
- data AttributeArgument
- data Modifier
- newtype Identifier = Identifier String
- newtype Name = Name [Identifier]
Documentation
data CompilationUnit Source #
A compilation unit is the top level definition of a C# program.
A using declaration appears within a compilation unit to indicate which namespace to include.
data Declaration Source #
A declaration appears within a compilation unit introducing a namespace, or a type declaration.
NamespaceDeclaration [GlobalAttributeSection] Name [Declaration] | A namespace declaration. |
TypeDeclaration TypeDeclaration | A type declaration. |
data TypeDeclaration Source #
A type declaration appears withing a compilation unit, a namespace, or another type declaration. A type declaration introduces a new type which can be either a class, struct, enum, interface or delegate.
ClassTypeDeclaration [AttributeSection] [Modifier] Identifier [TypeParameter] [TypeName] [TypeParameterConstraintClause] ClassBody | A class declaration containing its attributes, modifiers, identifier, type parameters, the types it inherits from, the type parameter constaints and its body. |
StructTypeDeclaration [AttributeSection] [Modifier] Identifier [TypeParameter] [TypeName] [TypeParameterConstraintClause] StructBody | A struct declaration containing its attributes, modifiers, identifier, type parameters, the types it inherits from, the type parameter constraints and its body. |
EnumTypeDeclaration [AttributeSection] [Modifier] Identifier (Maybe IntegralType) EnumBody | An enum declaration containing its attributes, modifiers, identifier, the type it inherits from and its body. |
InterfaceTypeDeclaration [AttributeSection] [Modifier] Identifier [VariantTypeParameter] [TypeName] [TypeParameterConstraintClause] InterfaceBody | An interface declaration containing its attributes, modifiers, identifier, the type parameters, the types it inherits from, the type parameter constraints and its body. |
DelegateTypeDeclaration [AttributeSection] [Modifier] (Maybe Type) Identifier [VariantTypeParameter] FormalParams [TypeParameterConstraintClause] | A delegate declaration containing its attributes, modifiers, return type, identifier, type parameters, formal parameters and type parameter constraints. |
A class body appears within a class type declaration.
newtype StructBody Source #
A struct body appears within a struct type declaration.
An enum body appears within an enum type declaration.
data EnumMemberDeclaration Source #
An enum member declaration appears within an enum body.
EnumMemberDeclaration Identifier (Maybe Expression) | An enum member declaration containing the identifier and its value. |
newtype InterfaceBody Source #
An interface body appears within an interface type declaration.
data InterfaceMemberDeclaration Source #
An interface member declaration appears within an interface body.
InterfaceMethodMemberDeclaration [AttributeSection] [Modifier] (Maybe Type) Identifier [TypeParameter] FormalParams [TypeParameterConstraintClause] | A method declaration containing its attributes, modifiers, return type identifier, type parameters, formal parameters and type parameter constraints. |
InterfacePropertyMemberDeclaration [AttributeSection] [Modifier] Type Identifier (Maybe InterfaceAccessor) (Maybe InterfaceAccessor) | A property declaration containing its attributes, modifiers, type identifier and accessor(s). At least one accessor is defined and they can appear in any order. |
InterfaceEventMemberDeclaration [AttributeSection] [Modifier] Type Identifier | An event declaration containing its attributes, modifiers, type and identifier. |
InterfaceIndexerMemberDeclaration [AttributeSection] [Modifier] Type FormalParams (Maybe InterfaceAccessor) (Maybe InterfaceAccessor) | An indexer declaration containing its attributes, modifiers, type, formal parameters and accessor(s). At least one accessor is defined and they can appear in any order. |
data MemberDeclaration Source #
A member declaration appears within a class- or struct body.
FieldMemberDeclaration [AttributeSection] [Modifier] Type [VariableDeclarator] | A field declaration containing its attributes, modifiers, type and declarator(s). |
MethodMemberDeclaration [AttributeSection] [Modifier] (Maybe Type) Name [TypeParameter] FormalParams [TypeParameterConstraintClause] MethodBody | A method declaration containing its attributes, modifiers, return type name, type parameters, formal parameters, type parameter constraints and body. |
PropertyMemberDeclaration [AttributeSection] [Modifier] Type Name PropertyBody | A property declaration containing its attributes, modifiers, type, name and body. |
EventVariableMemberDeclaration [AttributeSection] [Modifier] Type [VariableDeclarator] | An event declaration containing its attributes, modifiers, type and declarator(s). |
EventAccessorMemberDeclaration [AttributeSection] [Modifier] Type Name EventAccessor EventAccessor | An event declaration containing its attributes, modifiers, type, name and accessors. The accessors can appear in any order. |
IndexerMemberDeclaration [AttributeSection] [Modifier] IndexerDeclarator IndexerBody | An indexer declaration containing its attributes, modifiers, declarator and body. |
OperatorMemberDeclaration [AttributeSection] [Modifier] OperatorDeclarator OperatorBody | An operator declaration containing its attributes, modifiers, declarator and body. |
ConstructorMemberDeclaration [AttributeSection] [Modifier] Identifier FormalParams (Maybe ConstructorInitializer) ConstructorBody | A constructor declaration containing its attributes, identifier, formal parameters, the base/this constructor call and body. |
DestructorMemberDeclaration [AttributeSection] [Modifier] Identifier DestructorBody | A destructor declaration containing its attributes, modifiers, identifier and body. |
TypeMemberDeclaration TypeDeclaration | A nested type declaration. |
data InterfaceAccessor Source #
A property accessor appears within an property declaration of an interface declaration.
data EventAccessor Source #
An event acessor appears within an event declaration.
AddEventAccessor [AttributeSection] [Statement] | An add event accessor containing its attributes and statements. |
RemoveEventAccessor [AttributeSection] [Statement] | A remove event accessor containing its attributes and statements. |
data ConstructorInitializer Source #
A constructor initializer appears within a constructor declaration.
An argument appears within any kind of method invocation.
Argument (Maybe Identifier) Expression | An argument containing its identifier and expression. |
RefArgument (Maybe Identifier) Expression | A ref argument containing its identifier and expression. |
OutArgument (Maybe Identifier) Expression | An out argument containing its identifier and expression. |
data OperatorDeclarator Source #
An operator declarator appears within a operator declaration.
UnaryOperatorDeclarator Type OverloadableUnaryOperator Type Identifier | An unary operator declaration containing its return type, operator, and formal parameter type and identifier. |
BinaryOperatorDeclarator Type BinaryOperator Type Identifier Type Identifier | A binary operator declaration containing its return type, operator, first formal parameter type and identifier, and second formal parameter type and identifier. |
ImplicitConversionOperatorDeclarator Type Type Identifier | An implicit conversion declarator containing its return type, and formal parameter type and identifier. |
ExplicitConversionOperatorDeclarator Type Type Identifier | An explicit conversion declarator containing its return type, and formal parameter type and identifier. |
data OverloadableUnaryOperator Source #
An overloadable unary operator appears within a unary operator declarator.
data OperatorBody Source #
An operator body appears within a operator declaration.
OperatorStatementBody [Statement] | An operator body containing its statements. |
OperatorExpressionBody Expression | An operator body containing its expression. |
OperatorNoBody | An operator body without an implementation. |
newtype ConstructorBody Source #
A constructor body appears within a constructor declaration.
newtype DestructorBody Source #
A destructor body appears within a destructor declaration.
data IndexerBody Source #
A indexer body appears within an indexer declaration.
IndexerAccessor (Maybe AccessorDeclaration) (Maybe AccessorDeclaration) | An indexer body containing its accessor(s). At least one accessor is defined and they can appear in any order. |
IndexerLambda Expression | An indexer body containing its expression. |
data IndexerDeclarator Source #
An indexer declarator appears within an indexer declaration.
IndexerDeclaratorThis Type FormalParams | An indexer declarator containing its return type and formal parameters. |
IndexerDeclaratorInterface Type Type FormalParams | An indexer declarator containing its return type, interface type and formal parameters. |
data PropertyBody Source #
A property body appears within a property declaration.
PropertyBody (Maybe AccessorDeclaration) (Maybe AccessorDeclaration) (Maybe VariableInitializer) | A property body containing its accessor(s) and variable initializer. At least one accessor is defined an they can appear in any order. |
PropertyLambda Expression | A propety body containing its expression. |
data AccessorDeclaration Source #
An accessor declaration appears within a property body.
GetAccessorDeclaration [AttributeSection] [Modifier] (Maybe [Statement]) | A get propety declaration containing its attributes, modifiers and body. |
SetAccessorDeclaration [AttributeSection] [Modifier] (Maybe [Statement]) | A set propety declaration containing its attributes, modifiers and body. |
data MethodBody Source #
A method body appears within a method declaration.
MethodStatementBody [Statement] | An method body containing its statements. |
MethodExpressionBody Expression | An method body containing its expression. |
MethodNoBody | An method body without an implementation. |
data FormalParams Source #
A formal parameters containing the formal parameters and a params array.
data FormalParam Source #
A formal parameter containing its modifier ty identifier and default value.
data ParamArray Source #
A formal params array containing its array type and identifier.
data ParameterModifier Source #
A formal parameter modifier.
A statement.
Labeled Identifier Statement | A labeled statement containing its label and statement. |
Declaration LocalVarDeclaration | A declaration containing its variable declaration. |
Block [Statement] | A block statement. |
Empty | An empty statement. |
ExpressionStatement Expression | An expression statement. |
IfThenElse Expression Statement (Maybe Statement) | An if then else statement containing its guard, true body and false body. |
Switch Expression [SwitchBlock] | A switch statement containing its guard and switch blocks. |
While Expression Statement | A while statement containing its guard and body. |
Do Statement Expression | A do while statement containing its body and guard. |
For (Maybe ForInitializer) (Maybe Expression) (Maybe [Expression]) Statement | A for statement containing its initializer, guard, increment expression and body. |
ForEach LocalVarType Identifier Expression Statement | A foreach statement containing its variable type name and expression, and body. |
Break | A break statement. |
Continue | A continue statement. |
Goto GotoTarget | A goto statement. |
Return (Maybe Expression) | A return statement. |
Throw (Maybe Expression) | A throw statement. |
Try [Statement] [Catch] [Statement] | A try catch finally statement containing the try body, catches and finally body. |
CheckedStatement [Statement] | A checked statement. |
UncheckedStatement [Statement] | An unchecked statement. |
Lock Expression Statement | A lock statement containing its locking object and body. |
UsingStatement ResourceAcquisition Statement | An using statement containing its resource and body. |
Yield (Maybe Expression) | A yield statement containing its return expression. |
data LocalVarDeclaration Source #
A local variable declaration appears within a local declaration or for initializer.
LocalVarDeclaration LocalVarType [VariableDeclarator] | A local variable declaration containing its type and declarators. |
data GotoTarget Source #
A goto target appears within a goto statement.
data SwitchBlock Source #
A switch block appears within a switch statement.
LabeledBlock Expression [Statement] | A labeled block containing its label and body. |
DefaultBlock [Statement] | A default block containing its body. |
data ResourceAcquisition Source #
A resource acquisition appears within an using statement.
ResourceAcquisitionVariable [VariableDeclarator] | A resource acquisition containing its variable declarators. |
ResourceAcquisitionExpression Expression | A resource acquisition containing its expression. |
data VariableDeclarator Source #
A variable declarator containing its identifier and initializer.
data VariableInitializer Source #
A variable initializer.
VariableInitializerExpression Expression | A variable initializer containing its expression. |
VariableInitializerArray ArrayInitializer | A variable initializer containing its array initializer. |
data LocalVarType Source #
A local variable type.
newtype ArrayInitializer Source #
An array initializer containing its variable initializers.
data ForInitializer Source #
A for initializer appears within a for statement.
ForInitializerDeclaration LocalVarDeclaration | A for initializer containing its variable declaration. |
ForInitializerExpressions [Expression] | A for initializer containing its expressions. |
A catch block appears within a try statement.
Catch (Maybe ExceptionSpecifier) (Maybe Expression) [Statement] | A catch block containing its exception specifier, exception filter and body. |
data ExceptionSpecifier Source #
An exception specifier containing its type and identifier.
data Expression Source #
An expression.
Literal Literal | A literal. |
SimpleName Identifier [TypeArgument] | A named value containing its identifer and type arguments. |
Parenthesized Expression | A parenthesized expression. |
Assign Expression AssignmentOperator Expression | An assignment containing its left-hand side, operator and right-hand side.. |
MemberAccess MemberAccess | An member access. |
Invocation Expression [Argument] | An method invocation containing its method and arguments. |
ElementAccess Expression [Expression] | An element access containing its array and indices. |
This | A this access expression. |
Base | A base access expression. |
ObjectCreationExpression Type [Argument] (Maybe ObjectCreationInitializer) | An object creation containing its type, arguments and initializer.
e.g. |
ObjectCreationTypeInitializer Type ObjectCreationInitializer | An object creation containing its type and initializer.
e.g. |
ArrayCreationExpression Type [Expression] [RankSpecifier] (Maybe ArrayCreationInitializer) | An array creation containing its type, rank specifiers and initialier. |
ArrayCreationTypeInitializer Type ArrayCreationInitializer | An array creation containing its type and intializer. |
ArrayCreationRankInitializer RankSpecifier ArrayCreationInitializer | An array creation containing its rank specifier and initializer. |
Sizeof Type | A sizeof expression. |
Typeof TypeOfExpression | A typeof expression. |
Checked Expression | A checked expression. |
Unchecked Expression | An unchecked expression. |
Default Type | A default expression. |
BinaryOperator BinaryOperator Expression Expression | A binary operator containing its operator, left expression and right expression. |
Conditional Expression Expression Expression | A conditional expression containing its guard, first expression and second expression, |
Nameof NameofEntity | A nameof expression. |
Delegate (Maybe AnonymousFunctionSignature) [Statement] | A delegate expression containing its signature and body. |
Lambda AnonymousFunctionSignature AnonymousFunctionBody | A lambda expression containing its signature and body. |
UnaryPlus Expression | An unary |
UnaryMinus Expression | An unary |
UnaryNot Expression | An unary |
UnaryBitwiseNot Expression | An unary |
UnaryPreIncrement Expression | An unary |
UnaryPreDecrement Expression | An unary |
UnaryPostIncrement Expression | An unary |
UnaryPostDecrement Expression | An unary |
UnaryCast Type Expression | A cast containing its target type and expression. |
UnaryAwait Expression | An await expression. |
data AnonymousFunctionSignature Source #
An anonymous function signature appears within a delegate- or lambda expression.
ExplicitAnonymousFunctionSignature [AnonymousFunctionParameter] | An explicit anonymous function signature containing its formal parameters. |
ImplicitAnonymousFunctionSignature [Identifier] | An implicit anonymous function signature containing its formal parameters. |
data AnonymousFunctionBody Source #
An anonymous function body appears within a lambda expression.
AnonymousFunctionStatementBody [Statement] | A anonymous function body containing its statements. |
AnonymousFunctionExpressionBody Expression | A anonymous function body containing its expression. |
data AnonymousFunctionParameter Source #
An anonymous function parameter containing its modifier, type and identifier.
data NameofEntity Source #
A nameof entity appears within a nameof expression.
NameofIdentifier Identifier | A nameof containing its identifier. |
NameofThis Identifier | A nameof this containing its identifier. |
NameofBase Identifier | A nameof base containing its identifier. |
NameofEntity NameofEntity Identifier | A nameof containing its entity and identifier. |
NameofPredefinedType SimpleType Identifier | A nameof containing its simple type and identifier. |
newtype TypeOfExpression Source #
A typeof expression containing its type where Nothing
represents
void.
data ArrayCreationInitializer Source #
An array creation initializer appears withing an array creation expression.
ArrayCreationInitializerExpression [Expression] | An array creation initializer containing its values. |
ArrayCreationInitializerInitializers [ArrayCreationInitializer] | An array creation initializer containing its nested initializers. |
data ObjectCreationInitializer Source #
An object creation initializer appears within an object creation expression.
ObjectInitializer [MemberInitializer] | An object initializer containing its member initializers. |
CollectionInitializer ArrayCreationInitializer | A collection initializer containing its initializers. |
data MemberInitializer Source #
A member initializer containing its target and value.
data InitializerTarget Source #
An initialization target appears within a member initializer.
InitializerTargetIdentifier Identifier | An initializer target containing its identifier. |
InitializerTargetList [Argument] | An initializer target containing its values. |
data InitializerValue Source #
An initialization value appears within a member initializer.
InitializerValueExpression Expression | An initializer value containing its value. |
InitializerValueInitializer ObjectCreationInitializer | An initializer value containing its nested values. |
data MemberAccess Source #
A member access appearing within an member access expression.
PrimaryMemberAccess Expression Identifier [TypeArgument] | A member access containing its expression, identifier and type arguments. |
PredefinedMemberAccess SimpleType Identifier [TypeArgument] | A member access containing its simple type, identifier and type arguments. |
QualifiedMemberAccess Identifier Identifier Identifier | A member access containing its namespace, identifier, and identifier. |
A literal.
data AssignmentOperator Source #
An assignment operator.
data BinaryOperator Source #
A binary operator.
newtype TypeParameter Source #
A type parameter containing its identifier.
data TypeParameterConstraintClause Source #
A type parameter constraint clause containing its type parameter and constraints.
data VariantTypeParameter Source #
A variant type parameter containing its variance and identifier.
A variance appears within a variant type parameter.
data TypeParameterConstraint Source #
A type parameter constraint appears within a type parameter constraints clause.
TypeConstraint Type | A type constraint containing its type. |
ClassConstraint | A class constraint. |
StructConstraint | A struct constraint. |
NewConstraint | A new() constraint. |
newtype TypeArgument Source #
A type argument containing its type.
A type.
TypeNamed TypeName | A named type containing its name. |
TypeArray ArrayType | An array type containing its array type. |
TypeSimple SimpleType | A simple type containing its simple type. |
TypeDynamic | A dynamic type. |
TypeNullable Type | A nullable type containing its type. |
data SimpleType Source #
A simple type can be one of the standard types.
data IntegralType Source #
An intergral type.
data FloatingPointType Source #
A floating point type.
An array type containing its base type and rank specifiers.
newtype RankSpecifier Source #
A rank specifier containing the number of ranks.
A type name.
TypeName Name [TypeArgument] | A type name containing its name and type arguments. |
TypeAlias Identifier Identifier [TypeArgument] | A type alias containing its namespace, identifier and type arguments. |
data AttributeSection Source #
An attribute section containing the attribute target and attributes.
data GlobalAttributeSection Source #
A global attribute section containing the attribute target and attributes.
data GlobalAttributeTarget Source #
A global attribute target appears within a global attribute section.
data AttributeTarget Source #
An attribute target appears within a attribute section.
An attribute containing its type name and attribute arguments.
data AttributeArgument Source #
An attribute argument appears within an attribute.
AttributeArgumentExpression Expression | An expression attribute argument containing its expression. |
AttributeArgumentNamed Identifier Expression | An named attribute argument containing its name and expression. |
A modifier specifying properties of declarations on different levels.
newtype Identifier Source #
An identifier.