annotate trunk/src/dil/ast/NodesEnum.d @ 682:7541c64fc423

Renamed FunctionBody, CatchBody and FinallyBody. FunctionBody -> FuncBodyStatement, CatchBody -> CatchStatement, FinallyBody -> FinallyStatement.
author Aziz K?ksal <aziz.koeksal@gmail.com>
date Sat, 19 Jan 2008 20:35:45 +0100
parents 95a3c28c0f64
children 170ddcdc9711
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
635
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
1 /++
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
2 Author: Aziz Köksal
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
3 License: GPL3
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
4 +/
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
5 module dil.ast.NodesEnum;
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
6
640
05645f5613c1 Added an error message.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 635
diff changeset
7 enum NodeCategory : ushort
635
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
8 {
670
d8c32113afde Added command 'translate'.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 668
diff changeset
9 Undefined,
635
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
10 Declaration,
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
11 Statement,
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
12 Expression,
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
13 Type,
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
14 Other
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
15 }
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
16
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
17 /// Array of class names that inherit from Node.
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
18 static const char[][] classNames = [
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
19 // Declarations:
680
6b3e397229c5 Renamed Statements, Declarations and EnumMember.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 673
diff changeset
20 "CompoundDeclaration",
635
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
21 "EmptyDeclaration",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
22 "IllegalDeclaration",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
23 "ModuleDeclaration",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
24 "ImportDeclaration",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
25 "AliasDeclaration",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
26 "TypedefDeclaration",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
27 "EnumDeclaration",
680
6b3e397229c5 Renamed Statements, Declarations and EnumMember.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 673
diff changeset
28 "EnumMemberDeclaration",
635
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
29 "ClassDeclaration",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
30 "InterfaceDeclaration",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
31 "StructDeclaration",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
32 "UnionDeclaration",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
33 "ConstructorDeclaration",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
34 "StaticConstructorDeclaration",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
35 "DestructorDeclaration",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
36 "StaticDestructorDeclaration",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
37 "FunctionDeclaration",
673
64fec49651cf Renamed VariableDeclaration to VariablesDeclaration.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 671
diff changeset
38 "VariablesDeclaration",
635
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
39 "InvariantDeclaration",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
40 "UnittestDeclaration",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
41 "DebugDeclaration",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
42 "VersionDeclaration",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
43 "StaticIfDeclaration",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
44 "StaticAssertDeclaration",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
45 "TemplateDeclaration",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
46 "NewDeclaration",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
47 "DeleteDeclaration",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
48 "ProtectionDeclaration",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
49 "StorageClassDeclaration",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
50 "LinkageDeclaration",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
51 "AlignDeclaration",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
52 "PragmaDeclaration",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
53 "MixinDeclaration",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
54
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
55 // Statements:
680
6b3e397229c5 Renamed Statements, Declarations and EnumMember.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 673
diff changeset
56 "CompoundStatement",
635
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
57 "IllegalStatement",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
58 "EmptyStatement",
682
7541c64fc423 Renamed FunctionBody, CatchBody and FinallyBody.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 681
diff changeset
59 "FuncBodyStatement",
635
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
60 "ScopeStatement",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
61 "LabeledStatement",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
62 "ExpressionStatement",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
63 "DeclarationStatement",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
64 "IfStatement",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
65 "WhileStatement",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
66 "DoWhileStatement",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
67 "ForStatement",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
68 "ForeachStatement",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
69 "ForeachRangeStatement", // D2.0
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
70 "SwitchStatement",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
71 "CaseStatement",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
72 "DefaultStatement",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
73 "ContinueStatement",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
74 "BreakStatement",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
75 "ReturnStatement",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
76 "GotoStatement",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
77 "WithStatement",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
78 "SynchronizedStatement",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
79 "TryStatement",
682
7541c64fc423 Renamed FunctionBody, CatchBody and FinallyBody.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 681
diff changeset
80 "CatchStatement",
7541c64fc423 Renamed FunctionBody, CatchBody and FinallyBody.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 681
diff changeset
81 "FinallyStatement",
635
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
82 "ScopeGuardStatement",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
83 "ThrowStatement",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
84 "VolatileStatement",
681
95a3c28c0f64 Renamed AsmStatement->AsmBlockStatement and AsnInstruction->AsmStatement.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 680
diff changeset
85 "AsmBlockStatement",
635
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
86 "AsmStatement",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
87 "AsmAlignStatement",
681
95a3c28c0f64 Renamed AsmStatement->AsmBlockStatement and AsnInstruction->AsmStatement.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 680
diff changeset
88 "IllegalAsmStatement",
635
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
89 "PragmaStatement",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
90 "MixinStatement",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
91 "StaticIfStatement",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
92 "StaticAssertStatement",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
93 "DebugStatement",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
94 "VersionStatement",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
95
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
96 // Expressions:
659
304331ca2f95 Renamed EmptyExpression to IllegalExpression.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 658
diff changeset
97 "IllegalExpression",
635
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
98 "CondExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
99 "CommaExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
100 "OrOrExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
101 "AndAndExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
102 "OrExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
103 "XorExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
104 "AndExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
105 "EqualExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
106 "IdentityExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
107 "RelExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
108 "InExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
109 "LShiftExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
110 "RShiftExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
111 "URShiftExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
112 "PlusExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
113 "MinusExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
114 "CatExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
115 "MulExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
116 "DivExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
117 "ModExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
118 "AssignExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
119 "LShiftAssignExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
120 "RShiftAssignExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
121 "URShiftAssignExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
122 "OrAssignExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
123 "AndAssignExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
124 "PlusAssignExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
125 "MinusAssignExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
126 "DivAssignExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
127 "MulAssignExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
128 "ModAssignExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
129 "XorAssignExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
130 "CatAssignExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
131 "AddressExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
132 "PreIncrExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
133 "PreDecrExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
134 "PostIncrExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
135 "PostDecrExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
136 "DerefExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
137 "SignExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
138 "NotExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
139 "CompExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
140 "CallExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
141 "NewExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
142 "NewAnonClassExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
143 "DeleteExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
144 "CastExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
145 "IndexExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
146 "SliceExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
147 "ModuleScopeExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
148 "IdentifierExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
149 "SpecialTokenExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
150 "DotExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
151 "TemplateInstanceExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
152 "ThisExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
153 "SuperExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
154 "NullExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
155 "DollarExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
156 "BoolExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
157 "IntExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
158 "RealExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
159 "ComplexExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
160 "CharExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
161 "StringExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
162 "ArrayLiteralExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
163 "AArrayLiteralExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
164 "AssertExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
165 "MixinExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
166 "ImportExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
167 "TypeofExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
168 "TypeDotIdExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
169 "TypeidExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
170 "IsExpression",
646
68953760d569 Added class ParenExpression.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 640
diff changeset
171 "ParenExpression",
635
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
172 "FunctionLiteralExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
173 "TraitsExpression", // D2.0
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
174 "VoidInitializer",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
175 "ArrayInitializer",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
176 "StructInitializer",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
177 "AsmTypeExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
178 "AsmOffsetExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
179 "AsmSegExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
180 "AsmPostBracketExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
181 "AsmBracketExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
182 "AsmLocalSizeExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
183 "AsmRegisterExpression",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
184
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
185 // Types:
671
f1325a4506de Removed enum TID from dil.ast.Types.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 670
diff changeset
186 "IllegalType",
635
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
187 "IntegralType",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
188 "QualifiedType",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
189 "ModuleScopeType",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
190 "IdentifierType",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
191 "TypeofType",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
192 "TemplateInstanceType",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
193 "PointerType",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
194 "ArrayType",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
195 "FunctionType",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
196 "DelegateType",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
197 "CFuncPointerType",
668
a1f8d8f2db38 Renamed some identifiers.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 664
diff changeset
198 "BaseClassType",
635
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
199 "ConstType", // D2.0
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
200 "InvariantType", // D2.0
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
201
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
202 // Other:
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
203 "Parameter",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
204 "Parameters",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
205 "TemplateAliasParameter",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
206 "TemplateTypeParameter",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
207 "TemplateThisParameter", // D2.0
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
208 "TemplateValueParameter",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
209 "TemplateTupleParameter",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
210 "TemplateParameters",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
211 "TemplateArguments",
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
212 ];
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
213
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
214 char[] generateNodeKindMembers()
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
215 {
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
216 char[] text;
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
217 foreach (className; classNames)
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
218 text ~= className ~ ",";
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
219 return text;
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
220 }
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
221 // pragma(msg, generateNodeKindMembers());
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
222
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
223 // enum NodeKind;
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
224 mixin(
640
05645f5613c1 Added an error message.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 635
diff changeset
225 "enum NodeKind : ushort"
635
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
226 "{"
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
227 ~ generateNodeKindMembers ~
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
228 "}"
b2fc028d8b55 Added class Visitor.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
229 );