* Walking iterates the statements and expressions and processes them * @param {Statement | ModuleDeclaration | MaybeNamedClassDeclaration | MaybeNamedFunctionDeclaration} statement statement
(statement)
| 2200 | * @param {Statement | ModuleDeclaration | MaybeNamedClassDeclaration | MaybeNamedFunctionDeclaration} statement statement |
| 2201 | */ |
| 2202 | preWalkStatement(statement) { |
| 2203 | /** @type {StatementPath} */ |
| 2204 | (this.statementPath).push(statement); |
| 2205 | if (this.hooks.preStatement.call(statement)) { |
| 2206 | this.prevStatement = |
| 2207 | /** @type {StatementPath} */ |
| 2208 | (this.statementPath).pop(); |
| 2209 | return; |
| 2210 | } |
| 2211 | switch (statement.type) { |
| 2212 | case "BlockStatement": |
| 2213 | this.preWalkBlockStatement(statement); |
| 2214 | break; |
| 2215 | case "DoWhileStatement": |
| 2216 | this.preWalkDoWhileStatement(statement); |
| 2217 | break; |
| 2218 | case "ForInStatement": |
| 2219 | this.preWalkForInStatement(statement); |
| 2220 | break; |
| 2221 | case "ForOfStatement": |
| 2222 | this.preWalkForOfStatement(statement); |
| 2223 | break; |
| 2224 | case "ForStatement": |
| 2225 | this.preWalkForStatement(statement); |
| 2226 | break; |
| 2227 | case "FunctionDeclaration": |
| 2228 | this.preWalkFunctionDeclaration(statement); |
| 2229 | break; |
| 2230 | case "IfStatement": |
| 2231 | this.preWalkIfStatement(statement); |
| 2232 | break; |
| 2233 | case "LabeledStatement": |
| 2234 | this.preWalkLabeledStatement(statement); |
| 2235 | break; |
| 2236 | case "SwitchStatement": |
| 2237 | this.preWalkSwitchStatement(statement); |
| 2238 | break; |
| 2239 | case "TryStatement": |
| 2240 | this.preWalkTryStatement(statement); |
| 2241 | break; |
| 2242 | case "VariableDeclaration": |
| 2243 | this.preWalkVariableDeclaration(statement); |
| 2244 | break; |
| 2245 | case "WhileStatement": |
| 2246 | this.preWalkWhileStatement(statement); |
| 2247 | break; |
| 2248 | case "WithStatement": |
| 2249 | this.preWalkWithStatement(statement); |
| 2250 | break; |
| 2251 | } |
| 2252 | this.prevStatement = |
| 2253 | /** @type {StatementPath} */ |
| 2254 | (this.statementPath).pop(); |
| 2255 | } |
| 2256 | |
| 2257 | /** |
| 2258 | * Block pre walk statement. |
no test coverage detected