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.MixinDeclaration) { 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.MixinStatement) { 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.ThrowExp) { assert(0); } 173 override void visit(AST.MixinExp) { assert(0); } 174 override void visit(AST.ImportExp) { assert(0); } 175 override void visit(AST.DotTemplateInstanceExp) { assert(0); } 176 override void visit(AST.ArrayExp) { assert(0); } 177 override void visit(AST.FuncInitExp) { assert(0); } 178 override void visit(AST.PrettyFuncInitExp) { assert(0); } 179 override void visit(AST.FileInitExp) { assert(0); } 180 override void visit(AST.LineInitExp) { assert(0); } 181 override void visit(AST.ModuleInitExp) { assert(0); } 182 override void visit(AST.CommaExp) { assert(0); } 183 override void visit(AST.PostExp) { assert(0); } 184 override void visit(AST.PowExp) { assert(0); } 185 override void visit(AST.MulExp) { assert(0); } 186 override void visit(AST.DivExp) { assert(0); } 187 override void visit(AST.ModExp) { assert(0); } 188 override void visit(AST.AddExp) { assert(0); } 189 override void visit(AST.MinExp) { assert(0); } 190 override void visit(AST.CatExp) { assert(0); } 191 override void visit(AST.ShlExp) { assert(0); } 192 override void visit(AST.ShrExp) { assert(0); } 193 override void visit(AST.UshrExp) { assert(0); } 194 override void visit(AST.EqualExp) { assert(0); } 195 override void visit(AST.InExp) { assert(0); } 196 override void visit(AST.IdentityExp) { assert(0); } 197 override void visit(AST.CmpExp) { assert(0); } 198 override void visit(AST.AndExp) { assert(0); } 199 override void visit(AST.XorExp) { assert(0); } 200 override void visit(AST.OrExp) { assert(0); } 201 override void visit(AST.LogicalExp) { assert(0); } 202 override void visit(AST.CondExp) { assert(0); } 203 override void visit(AST.AssignExp) { assert(0); } 204 override void visit(AST.BinAssignExp) { assert(0); } 205 override void visit(AST.AddAssignExp) { assert(0); } 206 override void visit(AST.MinAssignExp) { assert(0); } 207 override void visit(AST.MulAssignExp) { assert(0); } 208 override void visit(AST.DivAssignExp) { assert(0); } 209 override void visit(AST.ModAssignExp) { assert(0); } 210 override void visit(AST.PowAssignExp) { assert(0); } 211 override void visit(AST.AndAssignExp) { assert(0); } 212 override void visit(AST.OrAssignExp) { assert(0); } 213 override void visit(AST.XorAssignExp) { assert(0); } 214 override void visit(AST.ShlAssignExp) { assert(0); } 215 override void visit(AST.ShrAssignExp) { assert(0); } 216 override void visit(AST.UshrAssignExp) { assert(0); } 217 override void visit(AST.CatAssignExp) { assert(0); } 218 override void visit(AST.CatElemAssignExp) { assert(0); } 219 override void visit(AST.CatDcharAssignExp) { assert(0); } 220 override void visit(AST.GenericExp) { assert(0); } 221 override void visit(AST.TemplateParameter) { assert(0); } 222 override void visit(AST.TemplateAliasParameter) { assert(0); } 223 override void visit(AST.TemplateTypeParameter) { assert(0); } 224 override void visit(AST.TemplateTupleParameter) { assert(0); } 225 override void visit(AST.TemplateValueParameter) { assert(0); } 226 override void visit(AST.TemplateThisParameter) { assert(0); } 227 override void visit(AST.Condition) { assert(0); } 228 override void visit(AST.StaticIfCondition) { assert(0); } 229 override void visit(AST.DVCondition) { assert(0); } 230 override void visit(AST.DebugCondition) { assert(0); } 231 override void visit(AST.VersionCondition) { assert(0); } 232 override void visit(AST.Initializer) { assert(0); } 233 override void visit(AST.ExpInitializer) { assert(0); } 234 override void visit(AST.StructInitializer) { assert(0); } 235 override void visit(AST.ArrayInitializer) { assert(0); } 236 override void visit(AST.VoidInitializer) { assert(0); } 237 override void visit(AST.CInitializer) { assert(0); } 238 }