1
import * as estree from 'estree';
3
export interface Visitor {
4
classDetected?: boolean,
6
enterIdentifier?: (node: estree.Identifier, parent: estree.Node)=>void;
7
leaveIdentifier?: (node: estree.Identifier, parent: estree.Node)=>void;
9
enterLiteral?: (node: estree.Literal, parent: estree.Node)=>void;
10
leaveLiteral?: (node: estree.Literal, parent: estree.Node)=>void;
12
enterProgram?: (node: estree.Program, parent: estree.Node)=>void;
13
leaveProgram?: (node: estree.Program, parent: estree.Node)=>void;
15
enterExpressionStatement?: (node: estree.ExpressionStatement, parent: estree.Node)=>void;
16
leaveExpressionStatement?: (node: estree.ExpressionStatement, parent: estree.Node)=>void;
18
enterBlockStatement?: (node: estree.BlockStatement, parent: estree.Node)=>void;
19
leaveBlockStatement?: (node: estree.BlockStatement, parent: estree.Node)=>void;
21
enterEmptyStatement?: (node: estree.EmptyStatement, parent: estree.Node)=>void;
22
leaveEmptyStatement?: (node: estree.EmptyStatement, parent: estree.Node)=>void;
24
enterDebuggerStatement?: (node: estree.DebuggerStatement, parent: estree.Node)=>void;
25
leaveDebuggerStatement?: (node: estree.DebuggerStatement, parent: estree.Node)=>void;
27
enterWithStatement?: (node: estree.WithStatement, parent: estree.Node)=>void;
28
leaveWithStatement?: (node: estree.WithStatement, parent: estree.Node)=>void;
30
enterReturnStatement?: (node: estree.ReturnStatement, parent: estree.Node)=>void;
31
leaveReturnStatement?: (node: estree.ReturnStatement, parent: estree.Node)=>void;
33
enterLabeledStatement?: (node: estree.LabeledStatement, parent: estree.Node)=>void;
34
leaveLabeledStatement?: (node: estree.LabeledStatement, parent: estree.Node)=>void;
36
enterBreakStatement?: (node: estree.BreakStatement, parent: estree.Node)=>void;
37
leaveBreakStatement?: (node: estree.BreakStatement, parent: estree.Node)=>void;
39
enterContinueStatement?: (node: estree.ContinueStatement, parent: estree.Node)=>void;
40
leaveContinueStatement?: (node: estree.ContinueStatement, parent: estree.Node)=>void;
42
enterIfStatement?: (node: estree.IfStatement, parent: estree.Node)=>void;
43
leaveIfStatement?: (node: estree.IfStatement, parent: estree.Node)=>void;
45
enterSwitchStatement?: (node: estree.SwitchStatement, parent: estree.Node)=>void;
46
leaveSwitchStatement?: (node: estree.SwitchStatement, parent: estree.Node)=>void;
48
enterSwitchCase?: (node: estree.SwitchCase, parent: estree.Node)=>void;
49
leaveSwitchCase?: (node: estree.SwitchCase, parent: estree.Node)=>void;
51
enterThrowStatement?: (node: estree.ThrowStatement, parent: estree.Node)=>void;
52
leaveThrowStatement?: (node: estree.ThrowStatement, parent: estree.Node)=>void;
54
enterTryStatement?: (node: estree.TryStatement, parent: estree.Node)=>void;
55
leaveTryStatement?: (node: estree.TryStatement, parent: estree.Node)=>void;
57
enterCatchClause?: (node: estree.CatchClause, parent: estree.Node)=>void;
58
leaveCatchClause?: (node: estree.CatchClause, parent: estree.Node)=>void;
60
enterWhileStatement?: (node: estree.WhileStatement, parent: estree.Node)=>void;
61
leaveWhileStatement?: (node: estree.WhileStatement, parent: estree.Node)=>void;
63
enterDoWhileStatement?: (node: estree.DoWhileStatement, parent: estree.Node)=>void;
64
leaveDoWhileStatement?: (node: estree.DoWhileStatement, parent: estree.Node)=>void;
66
enterForStatement?: (node: estree.ForStatement, parent: estree.Node)=>void;
67
leaveForStatement?: (node: estree.ForStatement, parent: estree.Node)=>void;
69
enterForInStatement?: (node: estree.ForInStatement, parent: estree.Node)=>void;
70
leaveForInStatement?: (node: estree.ForInStatement, parent: estree.Node)=>void;
72
enterForOfStatement?: (node: estree.ForOfStatement, parent: estree.Node)=>void;
73
leaveForOfStatement?: (node: estree.ForOfStatement, parent: estree.Node)=>void;
75
enterFunctionDeclaration?: (node: estree.FunctionDeclaration, parent: estree.Node)=>void;
76
leaveFunctionDeclaration?: (node: estree.FunctionDeclaration, parent: estree.Node)=>void;
78
enterVariableDeclaration?: (node: estree.VariableDeclaration, parent: estree.Node)=>void;
79
leaveVariableDeclaration?: (node: estree.VariableDeclaration, parent: estree.Node)=>void;
81
enterVariableDeclarator?: (node: estree.VariableDeclarator, parent: estree.Node)=>void;
82
leaveVariableDeclarator?: (node: estree.VariableDeclarator, parent: estree.Node)=>void;
84
enterThisExpression?: (node: estree.ThisExpression, parent: estree.Node)=>void;
85
leaveThisExpression?: (node: estree.ThisExpression, parent: estree.Node)=>void;
87
enterArrayExpression?: (node: estree.ArrayExpression, parent: estree.Node)=>void;
88
leaveArrayExpression?: (node: estree.ArrayExpression, parent: estree.Node)=>void;
90
enterObjectExpression?: (node: estree.ObjectExpression, parent: estree.Node)=>void;
91
leaveObjectExpression?: (node: estree.ObjectExpression, parent: estree.Node)=>void;
93
enterProperty?: (node: estree.Property, parent: estree.Node)=>void;
94
leaveProperty?: (node: estree.Property, parent: estree.Node)=>void;
96
enterFunctionExpression?: (node: estree.FunctionExpression, parent: estree.Node)=>void;
97
leaveFunctionExpression?: (node: estree.FunctionExpression, parent: estree.Node)=>void;
99
enterArrowFunctionExpression?: (node: estree.ArrowFunctionExpression, parent: estree.Node)=>void;
100
leaveArrowFunctionExpression?: (node: estree.ArrowFunctionExpression, parent: estree.Node)=>void;
102
enterYieldExpression?: (node: estree.YieldExpression, parent: estree.Node)=>void;
103
leaveYieldExpression?: (node: estree.YieldExpression, parent: estree.Node)=>void;
105
enterSuper?: (node: estree.Super, parent: estree.Node)=>void;
106
leaveSuper?: (node: estree.Super, parent: estree.Node)=>void;
108
enterUnaryExpression?: (node: estree.UnaryExpression, parent: estree.Node)=>void;
109
leaveUnaryExpression?: (node: estree.UnaryExpression, parent: estree.Node)=>void;
111
enterUpdateExpression?: (node: estree.UpdateExpression, parent: estree.Node)=>void;
112
leaveUpdateExpression?: (node: estree.UpdateExpression, parent: estree.Node)=>void;
114
enterBinaryExpression?: (node: estree.BinaryExpression, parent: estree.Node)=>void;
115
leaveBinaryExpression?: (node: estree.BinaryExpression, parent: estree.Node)=>void;
117
enterAssignmentExpression?: (node: estree.AssignmentExpression, parent: estree.Node)=>void;
118
leaveAssignmentExpression?: (node: estree.AssignmentExpression, parent: estree.Node)=>void;
120
enterLogicalExpression?: (node: estree.LogicalExpression, parent: estree.Node)=>void;
121
leaveLogicalExpression?: (node: estree.LogicalExpression, parent: estree.Node)=>void;
123
enterMemberExpression?: (node: estree.MemberExpression, parent: estree.Node)=>void;
124
leaveMemberExpression?: (node: estree.MemberExpression, parent: estree.Node)=>void;
126
enterConditionalExpression?: (node: estree.ConditionalExpression, parent: estree.Node)=>void;
127
leaveConditionalExpression?: (node: estree.ConditionalExpression, parent: estree.Node)=>void;
129
enterCallExpression?: (node: estree.CallExpression, parent: estree.Node)=>void;
130
leaveCallExpression?: (node: estree.CallExpression, parent: estree.Node)=>void;
132
enterNewExpression?: (node: estree.NewExpression, parent: estree.Node)=>void;
133
leaveNewExpression?: (node: estree.NewExpression, parent: estree.Node)=>void;
135
enterSequenceExpression?: (node: estree.SequenceExpression, parent: estree.Node)=>void;
136
leaveSequenceExpression?: (node: estree.SequenceExpression, parent: estree.Node)=>void;
138
enterTemplateLiteral?: (node: estree.TemplateLiteral, parent: estree.Node)=>void;
139
leaveTemplateLiteral?: (node: estree.TemplateLiteral, parent: estree.Node)=>void;
141
enterTaggedTemplateExpression?: (node: estree.TaggedTemplateExpression, parent: estree.Node)=>void;
142
leaveTaggedTemplateExpression?: (node: estree.TaggedTemplateExpression, parent: estree.Node)=>void;
144
enterTemplateElement?: (node: estree.TemplateElement, parent: estree.Node)=>void;
145
leaveTemplateElement?: (node: estree.TemplateElement, parent: estree.Node)=>void;
147
enterSpreadElement?: (node: estree.SpreadElement, parent: estree.Node)=>void;
148
leaveSpreadElement?: (node: estree.SpreadElement, parent: estree.Node)=>void;
150
enterPattern?: (node: estree.Pattern, parent: estree.Node)=>void;
151
leavePattern?: (node: estree.Pattern, parent: estree.Node)=>void;
153
enterAssignmentProperty?: (node: estree.AssignmentProperty, parent: estree.Node)=>void;
154
leaveAssignmentProperty?: (node: estree.AssignmentProperty, parent: estree.Node)=>void;
156
enterObjectPattern?: (node: estree.ObjectPattern, parent: estree.Node)=>void;
157
leaveObjectPattern?: (node: estree.ObjectPattern, parent: estree.Node)=>void;
159
enterArrayPattern?: (node: estree.ArrayPattern, parent: estree.Node)=>void;
160
leaveArrayPattern?: (node: estree.ArrayPattern, parent: estree.Node)=>void;
162
enterRestElement?: (node: estree.RestElement, parent: estree.Node)=>void;
163
leaveRestElement?: (node: estree.RestElement, parent: estree.Node)=>void;
165
enterAssignmentPattern?: (node: estree.AssignmentPattern, parent: estree.Node)=>void;
166
leaveAssignmentPattern?: (node: estree.AssignmentPattern, parent: estree.Node)=>void;
168
enterMethodDefinition?: (node: estree.MethodDefinition, parent: estree.Node)=>void;
169
leaveMethodDefinition?: (node: estree.MethodDefinition, parent: estree.Node)=>void;
171
enterClassDeclaration?: (node: estree.ClassDeclaration, parent: estree.Node)=>void;
172
leaveClassDeclaration?: (node: estree.ClassDeclaration, parent: estree.Node)=>void;
174
enterClassExpression?: (node: estree.ClassExpression, parent: estree.Node)=>void;
175
leaveClassExpression?: (node: estree.ClassExpression, parent: estree.Node)=>void;
177
enterMetaProperty?: (node: estree.MetaProperty, parent: estree.Node)=>void;
178
leaveMetaProperty?: (node: estree.MetaProperty, parent: estree.Node)=>void;
180
enterModuleDeclaration?: (node: estree.ModuleDeclaration, parent: estree.Node)=>void;
181
leaveModuleDeclaration?: (node: estree.ModuleDeclaration, parent: estree.Node)=>void;
183
enterModuleSpecifier?: (node: estree.ModuleSpecifier, parent: estree.Node)=>void;
184
leaveModuleSpecifier?: (node: estree.ModuleSpecifier, parent: estree.Node)=>void;
186
enterImportDeclaration?: (node: estree.ImportDeclaration, parent: estree.Node)=>void;
187
leaveImportDeclaration?: (node: estree.ImportDeclaration, parent: estree.Node)=>void;
189
enterImportSpecifier?: (node: estree.ImportSpecifier, parent: estree.Node)=>void;
190
leaveImportSpecifier?: (node: estree.ImportSpecifier, parent: estree.Node)=>void;
192
enterImportDefaultSpecifier?: (node: estree.ImportDefaultSpecifier, parent: estree.Node)=>void;
193
leaveImportDefaultSpecifier?: (node: estree.ImportDefaultSpecifier, parent: estree.Node)=>void;
195
enterImportNamespaceSpecifier?: (node: estree.ImportNamespaceSpecifier, parent: estree.Node)=>void;
196
leaveImportNamespaceSpecifier?: (node: estree.ImportNamespaceSpecifier, parent: estree.Node)=>void;
198
enterExportNamedDeclaration?: (node: estree.ExportNamedDeclaration, parent: estree.Node)=>void;
199
leaveExportNamedDeclaration?: (node: estree.ExportNamedDeclaration, parent: estree.Node)=>void;
201
enterExportSpecifier?: (node: estree.ExportSpecifier, parent: estree.Node)=>void;
202
leaveExportSpecifier?: (node: estree.ExportSpecifier, parent: estree.Node)=>void;
204
enterExportDefaultDeclaration?: (node: estree.ExportDefaultDeclaration, parent: estree.Node)=>void;
205
leaveExportDefaultDeclaration?: (node: estree.ExportDefaultDeclaration, parent: estree.Node)=>void;
207
enterExportAllDeclaration?: (node: estree.ExportAllDeclaration, parent: estree.Node)=>void;
208
leaveExportAllDeclaration?: (node: estree.ExportAllDeclaration, parent: estree.Node)=>void;