UNPKG

traceur

Version:
455 lines (454 loc) 14.2 kB
"use strict"; function $__interopRequire(id) { id = require(id); return id && id.__esModule && id || {default: id}; } Object.defineProperties(module.exports, { __esModule: {value: true}, ParseTreeVisitor: { enumerable: true, get: function() { return ParseTreeVisitor; } } }); var $__createClass = $__interopRequire("traceur/dist/commonjs/runtime/modules/createClass.js").default; var ParseTreeVisitor = function() { function ParseTreeVisitor() {} return ($__createClass)(ParseTreeVisitor, { visitAny: function(tree) { tree !== null && tree.visit(this); }, visit: function(tree) { this.visitAny(tree); }, visitList: function(list) { if (list) { for (var i = 0; i < list.length; i++) { this.visitAny(list[i]); } } }, visitStateMachine: function(tree) { throw Error('State machines should not live outside of the GeneratorTransformer.'); }, visitAnnotation: function(tree) { this.visitAny(tree.name); this.visitAny(tree.args); }, visitAnonBlock: function(tree) { this.visitList(tree.statements); }, visitArgumentList: function(tree) { this.visitList(tree.args); }, visitArrayComprehension: function(tree) { this.visitList(tree.comprehensionList); this.visitAny(tree.expression); }, visitArrayLiteral: function(tree) { this.visitList(tree.elements); }, visitArrayPattern: function(tree) { this.visitList(tree.elements); }, visitArrayType: function(tree) { this.visitAny(tree.elementType); }, visitArrowFunction: function(tree) { this.visitAny(tree.parameterList); this.visitAny(tree.body); }, visitAssignmentElement: function(tree) { this.visitAny(tree.assignment); this.visitAny(tree.initializer); }, visitAwaitExpression: function(tree) { this.visitAny(tree.expression); }, visitBinaryExpression: function(tree) { this.visitAny(tree.left); this.visitAny(tree.right); }, visitBindingElement: function(tree) { this.visitAny(tree.binding); this.visitAny(tree.initializer); }, visitBindingIdentifier: function(tree) {}, visitBlock: function(tree) { this.visitList(tree.statements); }, visitBreakStatement: function(tree) {}, visitCallExpression: function(tree) { this.visitAny(tree.operand); this.visitAny(tree.args); }, visitCallSignature: function(tree) { this.visitAny(tree.typeParameters); this.visitAny(tree.parameterList); this.visitAny(tree.returnType); }, visitCaseClause: function(tree) { this.visitAny(tree.expression); this.visitList(tree.statements); }, visitCatch: function(tree) { this.visitAny(tree.binding); this.visitAny(tree.catchBody); }, visitClassDeclaration: function(tree) { this.visitAny(tree.name); this.visitAny(tree.superClass); this.visitList(tree.elements); this.visitList(tree.annotations); this.visitAny(tree.typeParameters); }, visitClassExpression: function(tree) { this.visitAny(tree.name); this.visitAny(tree.superClass); this.visitList(tree.elements); this.visitList(tree.annotations); this.visitAny(tree.typeParameters); }, visitCommaExpression: function(tree) { this.visitList(tree.expressions); }, visitComprehensionFor: function(tree) { this.visitAny(tree.left); this.visitAny(tree.iterator); }, visitComprehensionIf: function(tree) { this.visitAny(tree.expression); }, visitComputedPropertyName: function(tree) { this.visitAny(tree.expression); }, visitConditionalExpression: function(tree) { this.visitAny(tree.condition); this.visitAny(tree.left); this.visitAny(tree.right); }, visitConstructSignature: function(tree) { this.visitAny(tree.typeParameters); this.visitAny(tree.parameterList); this.visitAny(tree.returnType); }, visitConstructorType: function(tree) { this.visitAny(tree.typeParameters); this.visitAny(tree.parameterList); this.visitAny(tree.returnType); }, visitContinueStatement: function(tree) {}, visitCoverFormals: function(tree) { this.visitList(tree.expressions); }, visitCoverInitializedName: function(tree) { this.visitAny(tree.initializer); }, visitDebuggerStatement: function(tree) {}, visitDefaultClause: function(tree) { this.visitList(tree.statements); }, visitDoWhileStatement: function(tree) { this.visitAny(tree.body); this.visitAny(tree.condition); }, visitEmptyStatement: function(tree) {}, visitExportDeclaration: function(tree) { this.visitAny(tree.declaration); this.visitList(tree.annotations); }, visitExportDefault: function(tree) { this.visitAny(tree.expression); }, visitExportSpecifier: function(tree) {}, visitExportSpecifierSet: function(tree) { this.visitList(tree.specifiers); }, visitExportStar: function(tree) {}, visitExpressionStatement: function(tree) { this.visitAny(tree.expression); }, visitFinally: function(tree) { this.visitAny(tree.block); }, visitForInStatement: function(tree) { this.visitAny(tree.initializer); this.visitAny(tree.collection); this.visitAny(tree.body); }, visitForOfStatement: function(tree) { this.visitAny(tree.initializer); this.visitAny(tree.collection); this.visitAny(tree.body); }, visitForOnStatement: function(tree) { this.visitAny(tree.initializer); this.visitAny(tree.observable); this.visitAny(tree.body); }, visitForStatement: function(tree) { this.visitAny(tree.initializer); this.visitAny(tree.condition); this.visitAny(tree.increment); this.visitAny(tree.body); }, visitFormalParameter: function(tree) { this.visitAny(tree.parameter); this.visitAny(tree.typeAnnotation); this.visitList(tree.annotations); }, visitFormalParameterList: function(tree) { this.visitList(tree.parameters); }, visitForwardDefaultExport: function(tree) {}, visitFunctionBody: function(tree) { this.visitList(tree.statements); }, visitFunctionDeclaration: function(tree) { this.visitAny(tree.name); this.visitAny(tree.parameterList); this.visitAny(tree.typeAnnotation); this.visitList(tree.annotations); this.visitAny(tree.body); }, visitFunctionExpression: function(tree) { this.visitAny(tree.name); this.visitAny(tree.parameterList); this.visitAny(tree.typeAnnotation); this.visitList(tree.annotations); this.visitAny(tree.body); }, visitFunctionType: function(tree) { this.visitAny(tree.typeParameters); this.visitAny(tree.parameterList); this.visitAny(tree.returnType); }, visitGeneratorComprehension: function(tree) { this.visitList(tree.comprehensionList); this.visitAny(tree.expression); }, visitGetAccessor: function(tree) { this.visitAny(tree.name); this.visitAny(tree.typeAnnotation); this.visitList(tree.annotations); this.visitAny(tree.body); }, visitIdentifierExpression: function(tree) {}, visitIfStatement: function(tree) { this.visitAny(tree.condition); this.visitAny(tree.ifClause); this.visitAny(tree.elseClause); }, visitImportedBinding: function(tree) { this.visitAny(tree.binding); }, visitImportClausePair: function(tree) { this.visitAny(tree.first); this.visitAny(tree.second); }, visitImportDeclaration: function(tree) { this.visitAny(tree.importClause); this.visitAny(tree.moduleSpecifier); }, visitImportSpecifier: function(tree) { this.visitAny(tree.binding); }, visitImportSpecifierSet: function(tree) { this.visitList(tree.specifiers); }, visitImportTypeClause: function(tree) { this.visitAny(tree.clause); }, visitIndexSignature: function(tree) { this.visitAny(tree.indexType); this.visitAny(tree.typeAnnotation); }, visitInterfaceDeclaration: function(tree) { this.visitAny(tree.typeParameters); this.visitAny(tree.objectType); }, visitJsxAttribute: function(tree) { this.visitAny(tree.value); }, visitJsxElement: function(tree) { this.visitAny(tree.name); this.visitList(tree.attributes); this.visitList(tree.children); }, visitJsxElementName: function(tree) {}, visitJsxPlaceholder: function(tree) { this.visitAny(tree.expression); }, visitJsxSpreadAttribute: function(tree) { this.visitAny(tree.expression); }, visitJsxText: function(tree) {}, visitLabelledStatement: function(tree) { this.visitAny(tree.statement); }, visitLiteralExpression: function(tree) {}, visitLiteralPropertyName: function(tree) {}, visitMemberExpression: function(tree) { this.visitAny(tree.operand); }, visitMemberLookupExpression: function(tree) { this.visitAny(tree.operand); this.visitAny(tree.memberExpression); }, visitMethod: function(tree) { this.visitAny(tree.name); this.visitAny(tree.parameterList); this.visitAny(tree.typeAnnotation); this.visitList(tree.annotations); this.visitAny(tree.body); this.visitAny(tree.debugName); }, visitMethodSignature: function(tree) { this.visitAny(tree.name); this.visitAny(tree.callSignature); }, visitModule: function(tree) { this.visitList(tree.scriptItemList); }, visitModuleSpecifier: function(tree) {}, visitNameSpaceExport: function(tree) {}, visitNameSpaceImport: function(tree) { this.visitAny(tree.binding); }, visitNamedExport: function(tree) { this.visitAny(tree.exportClause); this.visitAny(tree.moduleSpecifier); }, visitNewExpression: function(tree) { this.visitAny(tree.operand); this.visitAny(tree.args); }, visitObjectLiteral: function(tree) { this.visitList(tree.propertyNameAndValues); }, visitObjectPattern: function(tree) { this.visitList(tree.fields); }, visitObjectPatternField: function(tree) { this.visitAny(tree.name); this.visitAny(tree.element); }, visitObjectType: function(tree) { this.visitList(tree.typeMembers); }, visitParenExpression: function(tree) { this.visitAny(tree.expression); }, visitPostfixExpression: function(tree) { this.visitAny(tree.operand); }, visitPredefinedType: function(tree) {}, visitScript: function(tree) { this.visitList(tree.scriptItemList); }, visitPropertyNameAssignment: function(tree) { this.visitAny(tree.name); this.visitAny(tree.value); }, visitPropertyNameShorthand: function(tree) {}, visitPropertyVariableDeclaration: function(tree) { this.visitAny(tree.name); this.visitAny(tree.typeAnnotation); this.visitList(tree.annotations); this.visitAny(tree.initializer); }, visitPropertySignature: function(tree) { this.visitAny(tree.name); this.visitAny(tree.typeAnnotation); }, visitRestParameter: function(tree) { this.visitAny(tree.identifier); }, visitReturnStatement: function(tree) { this.visitAny(tree.expression); }, visitSetAccessor: function(tree) { this.visitAny(tree.name); this.visitAny(tree.parameterList); this.visitList(tree.annotations); this.visitAny(tree.body); }, visitSpreadExpression: function(tree) { this.visitAny(tree.expression); }, visitSpreadPatternElement: function(tree) { this.visitAny(tree.lvalue); }, visitSuperExpression: function(tree) {}, visitSwitchStatement: function(tree) { this.visitAny(tree.expression); this.visitList(tree.caseClauses); }, visitSyntaxErrorTree: function(tree) {}, visitTemplateLiteralExpression: function(tree) { this.visitAny(tree.operand); this.visitList(tree.elements); }, visitTemplateLiteralPortion: function(tree) {}, visitTemplateSubstitution: function(tree) { this.visitAny(tree.expression); }, visitThisExpression: function(tree) {}, visitThrowStatement: function(tree) { this.visitAny(tree.value); }, visitTryStatement: function(tree) { this.visitAny(tree.body); this.visitAny(tree.catchBlock); this.visitAny(tree.finallyBlock); }, visitTypeAliasDeclaration: function(tree) { this.visitAny(tree.value); }, visitTypeArguments: function(tree) { this.visitList(tree.args); }, visitTypeName: function(tree) { this.visitAny(tree.moduleName); }, visitTypeParameter: function(tree) { this.visitAny(tree.extendsType); }, visitTypeParameters: function(tree) { this.visitList(tree.parameters); }, visitTypeReference: function(tree) { this.visitAny(tree.typeName); this.visitAny(tree.args); }, visitUnaryExpression: function(tree) { this.visitAny(tree.operand); }, visitUnionType: function(tree) { this.visitList(tree.types); }, visitVariableDeclaration: function(tree) { this.visitAny(tree.lvalue); this.visitAny(tree.typeAnnotation); this.visitAny(tree.initializer); }, visitVariableDeclarationList: function(tree) { this.visitList(tree.declarations); }, visitVariableStatement: function(tree) { this.visitAny(tree.declarations); }, visitWhileStatement: function(tree) { this.visitAny(tree.condition); this.visitAny(tree.body); }, visitWithStatement: function(tree) { this.visitAny(tree.expression); this.visitAny(tree.body); }, visitYieldExpression: function(tree) { this.visitAny(tree.expression); } }, {}); }();