1 /**
2 * Documentation: https://dlang.org/phobos/dmd_strictvisitor.html
3 * Coverage: https://codecov.io/gh/dlang/dmd/src/master/src/dmd/strictvisitor.d
4 */
5
6 module dmd.strictvisitor;
7
8 import dmd.parsetimevisitor;
9
10 /** The StrictVisitor asserts 0 an all visiting functions in order to
11 * make sure that all the nodes are visited.
12 */
13 extern(C++) class StrictVisitor(AST) : ParseTimeVisitor!AST
14 {
15 alias visit = ParseTimeVisitor!AST.visit;
16
17 override void visit(AST.Dsymbol) { assert(0); }
18 override void visit(AST.AliasThis) { assert(0); }
19 override void visit(AST.Declaration) { assert(0); }
20 override void visit(AST.ScopeDsymbol) { assert(0); }
21 override void visit(AST.Import) { assert(0); }
22 override void visit(AST.AttribDeclaration) { assert(0); }
23 override void visit(AST.StaticAssert) { assert(0); }
24 override void visit(AST.DebugSymbol) { assert(0); }
25 override void visit(AST.VersionSymbol) { assert(0); }
26 override void visit(AST.VarDeclaration) { assert(0); }
27 override void visit(AST.FuncDeclaration) { assert(0); }
28 override void visit(AST.AliasDeclaration) { assert(0); }
29 override void visit(AST.AliasAssign) { assert(0); }
30 override void visit(AST.TupleDeclaration) { assert(0); }
31 override void visit(AST.FuncLiteralDeclaration) { assert(0); }
32 override void visit(AST.PostBlitDeclaration) { assert(0); }
33 override void visit(AST.CtorDeclaration) { assert(0); }
34 override void visit(AST.DtorDeclaration) { assert(0); }
35 override void visit(AST.InvariantDeclaration) { assert(0); }
36 override void visit(AST.UnitTestDeclaration) { assert(0); }
37 override void visit(AST.NewDeclaration) { assert(0); }
38 override void visit(AST.StaticCtorDeclaration) { assert(0); }
39 override void visit(AST.StaticDtorDeclaration) { assert(0); }
40 override void visit(AST.SharedStaticCtorDeclaration) { assert(0); }
41 override void visit(AST.SharedStaticDtorDeclaration) { assert(0); }
42 override void visit(AST.Package) { assert(0); }
43 override void visit(AST.EnumDeclaration) { assert(0); }
44 override void visit(AST.AggregateDeclaration) { assert(0); }
45 override void visit(AST.TemplateDeclaration) { assert(0); }
46 override void visit(AST.TemplateInstance) { assert(0); }
47 override void visit(AST.Nspace) { assert(0); }
48 override void visit(AST.CompileDeclaration) { assert(0); }
49 override void visit(AST.UserAttributeDeclaration) { assert(0); }
50 override void visit(AST.LinkDeclaration) { assert(0); }
51 override void visit(AST.AnonDeclaration) { assert(0); }
52 override void visit(AST.AlignDeclaration) { assert(0); }
53 override void visit(AST.CPPMangleDeclaration) { assert(0); }
54 override void visit(AST.VisibilityDeclaration) { assert(0); }
55 override void visit(AST.PragmaDeclaration) { assert(0); }
56 override void visit(AST.StorageClassDeclaration) { assert(0); }
57 override void visit(AST.ConditionalDeclaration) { assert(0); }
58 override void visit(AST.DeprecatedDeclaration) { assert(0); }
59 override void visit(AST.StaticIfDeclaration) { assert(0); }
60 override void visit(AST.EnumMember) { assert(0); }
61 override void visit(AST.Module) { assert(0); }
62 override void visit(AST.StructDeclaration) { assert(0); }
63 override void visit(AST.UnionDeclaration) { assert(0); }
64 override void visit(AST.ClassDeclaration) { assert(0); }
65 override void visit(AST.InterfaceDeclaration) { assert(0); }
66 override void visit(AST.TemplateMixin) { assert(0); }
67 override void visit(AST.Parameter) { assert(0); }
68 override void visit(AST.Statement) { assert(0); }
69 override void visit(AST.ImportStatement) { assert(0); }
70 override void visit(AST.ScopeStatement) { assert(0); }
71 override void visit(AST.ReturnStatement) { assert(0); }
72 override void visit(AST.LabelStatement) { assert(0); }
73 override void visit(AST.StaticAssertStatement) { assert(0); }
74 override void visit(AST.CompileStatement) { assert(0); }
75 override void visit(AST.WhileStatement) { assert(0); }
76 override void visit(AST.ForStatement) { assert(0); }
77 override void visit(AST.DoStatement) { assert(0); }
78 override void visit(AST.ForeachRangeStatement) { assert(0); }
79 override void visit(AST.ForeachStatement) { assert(0); }
80 override void visit(AST.IfStatement) { assert(0); }
81 override void visit(AST.ScopeGuardStatement) { assert(0); }
82 override void visit(AST.ConditionalStatement) { assert(0); }
83 override void visit(AST.PragmaStatement) { assert(0); }
84 override void visit(AST.SwitchStatement) { assert(0); }
85 override void visit(AST.CaseRangeStatement) { assert(0); }
86 override void visit(AST.CaseStatement) { assert(0); }
87 override void visit(AST.DefaultStatement) { assert(0); }
88 override void visit(AST.BreakStatement) { assert(0); }
89 override void visit(AST.ContinueStatement) { assert(0); }
90 override void visit(AST.GotoDefaultStatement) { assert(0); }
91 override void visit(AST.GotoCaseStatement) { assert(0); }
92 override void visit(AST.GotoStatement) { assert(0); }
93 override void visit(AST.SynchronizedStatement) { assert(0); }
94 override void visit(AST.WithStatement) { assert(0); }
95 override void visit(AST.TryCatchStatement) { assert(0); }
96 override void visit(AST.TryFinallyStatement) { assert(0); }
97 override void visit(AST.ThrowStatement) { assert(0); }
98 override void visit(AST.AsmStatement) { assert(0); }
99 override void visit(AST.ExpStatement) { assert(0); }
100 override void visit(AST.CompoundStatement) { assert(0); }
101 override void visit(AST.CompoundDeclarationStatement) { assert(0); }
102 override void visit(AST.CompoundAsmStatement) { assert(0); }
103 override void visit(AST.InlineAsmStatement) { assert(0); }
104 override void visit(AST.Type) { assert(0); }
105 override void visit(AST.TypeBasic) { assert(0); }
106 override void visit(AST.TypeError) { assert(0); }
107 override void visit(AST.TypeNull) { assert(0); }
108 override void visit(AST.TypeNoreturn) { assert(0); }
109 override void visit(AST.TypeVector) { assert(0); }
110 override void visit(AST.TypeEnum) { assert(0); }
111 override void visit(AST.TypeTuple) { assert(0); }
112 override void visit(AST.TypeClass) { assert(0); }
113 override void visit(AST.TypeStruct) { assert(0); }
114 override void visit(AST.TypeNext) { assert(0); }
115 override void visit(AST.TypeReference) { assert(0); }
116 override void visit(AST.TypeSlice) { assert(0); }
117 override void visit(AST.TypeDelegate) { assert(0); }
118 override void visit(AST.TypePointer) { assert(0); }
119 override void visit(AST.TypeFunction) { assert(0); }
120 override void visit(AST.TypeArray) { assert(0); }
121 override void visit(AST.TypeDArray) { assert(0); }
122 override void visit(AST.TypeAArray) { assert(0); }
123 override void visit(AST.TypeSArray) { assert(0); }
124 override void visit(AST.TypeQualified) { assert(0); }
125 override void visit(AST.TypeTraits) { assert(0); }
126 override void visit(AST.TypeMixin) { assert(0); }
127 override void visit(AST.TypeIdentifier) { assert(0); }
128 override void visit(AST.TypeReturn) { assert(0); }
129 override void visit(AST.TypeTypeof) { assert(0); }
130 override void visit(AST.TypeInstance) { assert(0); }
131 override void visit(AST.Expression) { assert(0); }
132 override void visit(AST.DeclarationExp) { assert(0); }
133 override void visit(AST.IntegerExp) { assert(0); }
134 override void visit(AST.NewAnonClassExp) { assert(0); }
135 override void visit(AST.IsExp) { assert(0); }
136 override void visit(AST.RealExp) { assert(0); }
137 override void visit(AST.NullExp) { assert(0); }
138 override void visit(AST.TypeidExp) { assert(0); }
139 override void visit(AST.TraitsExp) { assert(0); }
140 override void visit(AST.StringExp) { assert(0); }
141 override void visit(AST.NewExp) { assert(0); }
142 override void visit(AST.AssocArrayLiteralExp) { assert(0); }
143 override void visit(AST.ArrayLiteralExp) { assert(0); }
144 override void visit(AST.FuncExp) { assert(0); }
145 override void visit(AST.IntervalExp) { assert(0); }
146 override void visit(AST.TypeExp) { assert(0); }
147 override void visit(AST.ScopeExp) { assert(0); }
148 override void visit(AST.IdentifierExp) { assert(0); }
149 override void visit(AST.UnaExp) { assert(0); }
150 override void visit(AST.DefaultInitExp) { assert(0); }
151 override void visit(AST.BinExp) { assert(0); }
152 override void visit(AST.DsymbolExp) { assert(0); }
153 override void visit(AST.TemplateExp) { assert(0); }
154 override void visit(AST.SymbolExp) { assert(0); }
155 override void visit(AST.VarExp) { assert(0); }
156 override void visit(AST.TupleExp) { assert(0); }
157 override void visit(AST.DollarExp) { assert(0); }
158 override void visit(AST.ThisExp) { assert(0); }
159 override void visit(AST.SuperExp) { assert(0); }
160 override void visit(AST.AddrExp) { assert(0); }
161 override void visit(AST.PreExp) { assert(0); }
162 override void visit(AST.PtrExp) { assert(0); }
163 override void visit(AST.NegExp) { assert(0); }
164 override void visit(AST.UAddExp) { assert(0); }
165 override void visit(AST.NotExp) { assert(0); }
166 override void visit(AST.ComExp) { assert(0); }
167 override void visit(AST.DeleteExp) { assert(0); }
168 override void visit(AST.CastExp) { assert(0); }
169 override void visit(AST.CallExp) { assert(0); }
170 override void visit(AST.DotIdExp) { assert(0); }
171 override void visit(AST.AssertExp) { assert(0); }
172 override void visit(AST.MixinExp) { assert(0); }
173 override void visit(AST.ImportExp) { assert(0); }
174 override void visit(AST.DotTemplateInstanceExp) { assert(0); }
175 override void visit(AST.ArrayExp) { assert(0); }
176 override void visit(AST.FuncInitExp) { assert(0); }
177 override void visit(AST.PrettyFuncInitExp) { assert(0); }
178 override void visit(AST.FileInitExp) { assert(0); }
179 override void visit(AST.LineInitExp) { assert(0); }
180 override void visit(AST.ModuleInitExp) { assert(0); }
181 override void visit(AST.CommaExp) { assert(0); }
182 override void visit(AST.PostExp) { assert(0); }
183 override void visit(AST.PowExp) { assert(0); }
184 override void visit(AST.MulExp) { assert(0); }
185 override void visit(AST.DivExp) { assert(0); }
186 override void visit(AST.ModExp) { assert(0); }
187 override void visit(AST.AddExp) { assert(0); }
188 override void visit(AST.MinExp) { assert(0); }
189 override void visit(AST.CatExp) { assert(0); }
190 override void visit(AST.ShlExp) { assert(0); }
191 override void visit(AST.ShrExp) { assert(0); }
192 override void visit(AST.UshrExp) { assert(0); }
193 override void visit(AST.EqualExp) { assert(0); }
194 override void visit(AST.InExp) { assert(0); }
195 override void visit(AST.IdentityExp) { assert(0); }
196 override void visit(AST.CmpExp) { assert(0); }
197 override void visit(AST.AndExp) { assert(0); }
198 override void visit(AST.XorExp) { assert(0); }
199 override void visit(AST.OrExp) { assert(0); }
200 override void visit(AST.LogicalExp) { assert(0); }
201 override void visit(AST.CondExp) { assert(0); }
202 override void visit(AST.AssignExp) { assert(0); }
203 override void visit(AST.BinAssignExp) { assert(0); }
204 override void visit(AST.AddAssignExp) { assert(0); }
205 override void visit(AST.MinAssignExp) { assert(0); }
206 override void visit(AST.MulAssignExp) { assert(0); }
207 override void visit(AST.DivAssignExp) { assert(0); }
208 override void visit(AST.ModAssignExp) { assert(0); }
209 override void visit(AST.PowAssignExp) { assert(0); }
210 override void visit(AST.AndAssignExp) { assert(0); }
211 override void visit(AST.OrAssignExp) { assert(0); }
212 override void visit(AST.XorAssignExp) { assert(0); }
213 override void visit(AST.ShlAssignExp) { assert(0); }
214 override void visit(AST.ShrAssignExp) { assert(0); }
215 override void visit(AST.UshrAssignExp) { assert(0); }
216 override void visit(AST.CatAssignExp) { assert(0); }
217 override void visit(AST.TemplateParameter) { assert(0); }
218 override void visit(AST.TemplateAliasParameter) { assert(0); }
219 override void visit(AST.TemplateTypeParameter) { assert(0); }
220 override void visit(AST.TemplateTupleParameter) { assert(0); }
221 override void visit(AST.TemplateValueParameter) { assert(0); }
222 override void visit(AST.TemplateThisParameter) { assert(0); }
223 override void visit(AST.Condition) { assert(0); }
224 override void visit(AST.StaticIfCondition) { assert(0); }
225 override void visit(AST.DVCondition) { assert(0); }
226 override void visit(AST.DebugCondition) { assert(0); }
227 override void visit(AST.VersionCondition) { assert(0); }
228 override void visit(AST.Initializer) { assert(0); }
229 override void visit(AST.ExpInitializer) { assert(0); }
230 override void visit(AST.StructInitializer) { assert(0); }
231 override void visit(AST.ArrayInitializer) { assert(0); }
232 override void visit(AST.VoidInitializer) { assert(0); }
233 }