Module dparse.ast

This module defines an Abstract Syntax Tree for the D language

Examples

// TODO

Interfaces

NameDescription
ASTNode

Classes

NameDescription
AddExpression
AliasAssign
AliasDeclaration
AliasInitializer
AliasThisDeclaration
AlignAttribute
AndAndExpression
AndExpression
AnonymousEnumDeclaration
AnonymousEnumMember
ArgumentList
Arguments
ArrayInitializer
ArrayLiteral
ArrayMemberInitialization
AsmAddExp
AsmAndExp
AsmBrExp
AsmEqualExp
AsmExp
AsmInstruction
AsmLogAndExp
AsmLogOrExp
AsmMulExp
AsmOrExp
AsmPrimaryExp
AsmRelExp
AsmShiftExp
AsmStatement
AsmTypePrefix
AsmUnaExp
AsmXorExp
AssertArguments
AssertExpression
AssignExpression
AssocArrayLiteral
ASTVisitor Implements the Visitor Pattern for the various AST classes
AtAttribute User-defined @attribute attributes. Also includes @disable, @nogc, @live, etc. by simply having them be regular identifiers.
Attribute
AttributeDeclaration
AutoDeclaration
AutoDeclarationPart
BaseClass
BaseClassList
BaseNode
BitfieldWidth
BlockStatement
BreakStatement
CaseRangeStatement
CaseStatement
CastExpression
CastQualifier
Catch
Catches
ClassDeclaration
CmpExpression
CompileCondition
ConditionalDeclaration
ConditionalStatement
Constraint
Constructor
ContinueStatement
DebugCondition
DebugSpecification
Declaration
DeclarationOrStatement
DeclarationsAndStatements
Declarator
DeclaratorIdentifierList
DefaultStatement
DeleteExpression
DeleteStatement
Deprecated
Destructor
DoStatement
EnumBody
EnumDeclaration
EnumMember
EnumMemberAttribute
EponymousTemplateDeclaration
EqualExpression
Expression
ExpressionNode
ExpressionStatement
Finally
FinalSwitchStatement
Foreach
ForeachType
ForeachTypeList
ForStatement
FunctionAttribute
FunctionBody
FunctionCallExpression
FunctionContract
FunctionDeclaration
FunctionLiteralExpression
GccAsmInstruction
GccAsmOperand
GccAsmOperandList
GotoStatement
IdentifierChain
IdentifierOrTemplateChain
IdentifierOrTemplateInstance
IdentityExpression
IfCondition In an if (or while) condition this represents: ` if (auto x = readln) ^^^^^^^^^^^^^^^
IfStatement
ImportBind
ImportBindings
ImportDeclaration
ImportExpression
InContractExpression
Index
IndexExpression
InExpression
Initialize
Initializer
InOutContractExpression
InOutStatement
InStatement
InterfaceDeclaration
Invariant
IsExpression
KeyValuePair
KeyValuePairs
LabeledStatement
LastCatch
LinkageAttribute
MemberFunctionAttribute
MissingFunctionBody
MixinDeclaration
MixinExpression
MixinTemplateDeclaration
MixinTemplateName
Module
ModuleDeclaration
MulExpression
NamedArgument
NamedArgumentList
NamedTemplateArgument
NamedTemplateArgumentList
NamespaceList
NewAnonClassExpression
NewExpression
NonVoidInitializer
Operands
OrExpression
OrOrExpression
OutContractExpression
OutStatement
Parameter
ParameterAttribute
Parameters
Postblit
PowExpression
PragmaDeclaration
PragmaExpression
PragmaStatement
PrimaryExpression
Register
RelExpression
ReturnStatement
ScopeGuardStatement
SharedStaticConstructor
SharedStaticDestructor
ShiftExpression
ShortenedFunctionBody
SingleImport
SpecifiedFunctionBody
Statement
StatementNoCaseNoDefault
StaticAssertDeclaration
StaticAssertStatement
StaticConstructor
StaticDestructor
StaticForeachStatement
StaticIfCondition
StorageClass
StringLiteralList
StructBody
StructDeclaration
StructInitializer
StructMemberInitializer
StructMemberInitializers
SwitchStatement
Symbol
SynchronizedStatement
TemplateAliasParameter
TemplateArgument
TemplateArgumentList
TemplateArguments
TemplateDeclaration
TemplateInstance
TemplateMixinExpression
TemplateParameter
TemplateParameterList
TemplateParameters
TemplateSingleArgument
TemplateThisParameter
TemplateTupleParameter
TemplateTypeParameter
TemplateValueParameter
TemplateValueParameterDefault
TernaryExpression
ThrowExpression
TraitsExpression
TryStatement
Type
Type2
TypeIdentifierPart
TypeidExpression
TypeofExpression
TypeSpecialization
TypeSuffix
UnaryExpression
UnionDeclaration
Unittest
VariableDeclaration
Vector
VersionCondition
VersionSpecification
WhileStatement
WithStatement
XorExpression

Enums

NameDescription
DeclarationListStyle Describes which syntax was used in a list of declarations in the containing AST node
ReturnRefType

Templates

NameDescription
BinaryExpressionBody
OpEquals

Global variables

NameTypeDescription
visitIfNotNull void

Aliases

NameTypeDescription
ForeachStatement Foreach!(false)
StaticForeachDeclaration Foreach!(true)
ThrowStatement ThrowExpression