import { NodePath } from "../lib/node-path" ; import { Context } from "../lib/path-visitor" ; import { namedTypes } from "./namedTypes" ; export interface Visitor < M = { } > { visitPrintable ? ( this , path ) : any ; visitSourceLocation ? ( this , path ) : any ; visitNode ? ( this , path ) : any ; visitComment ? ( this , path ) : any ; visitPosition ? ( this , path ) : any ; visitFile ? ( this , path ) : any ; visitProgram ? ( this , path ) : any ; visitStatement ? ( this , path ) : any ; visitFunction ? ( this , path ) : any ; visitExpression ? ( this , path ) : any ; visitPattern ? ( this , path ) : any ; visitIdentifier ? ( this , path ) : any ; visitBlockStatement ? ( this , path ) : any ; visitEmptyStatement ? ( this , path ) : any ; visitExpressionStatement ? ( this , path ) : any ; visitIfStatement ? ( this , path ) : any ; visitLabeledStatement ? ( this , path ) : any ; visitBreakStatement ? ( this , path ) : any ; visitContinueStatement ? ( this , path ) : any ; visitWithStatement ? ( this , path ) : any ; visitSwitchStatement ? ( this , path ) : any ; visitSwitchCase ? ( this , path ) : any ; visitReturnStatement ? ( this , path ) : any ; visitThrowStatement ? ( this , path ) : any ; visitTryStatement ? ( this , path ) : any ; visitCatchClause ? ( this , path ) : any ; visitWhileStatement ? ( this , path ) : any ; visitDoWhileStatement ? ( this , path ) : any ; visitForStatement ? ( this , path ) : any ; visitDeclaration ? ( this , path ) : any ; visitVariableDeclaration ? ( this , path ) : any ; visitForInStatement ? ( this , path ) : any ; visitDebuggerStatement ? ( this , path ) : any ; visitFunctionDeclaration ? ( this , path ) : any ; visitFunctionExpression ? ( this , path ) : any ; visitVariableDeclarator ? ( this , path ) : any ; visitThisExpression ? ( this , path ) : any ; visitArrayExpression ? ( this , path ) : any ; visitObjectExpression ? ( this , path ) : any ; visitProperty ? ( this , path ) : any ; visitLiteral ? ( this , path ) : any ; visitSequenceExpression ? ( this , path ) : any ; visitUnaryExpression ? ( this , path ) : any ; visitBinaryExpression ? ( this , path ) : any ; visitAssignmentExpression ? ( this , path ) : any ; visitChainElement ? ( this , path ) : any ; visitMemberExpression ? ( this , path ) : any ; visitUpdateExpression ? ( this , path ) : any ; visitLogicalExpression ? ( this , path ) : any ; visitConditionalExpression ? ( this , path ) : any ; visitNewExpression ? ( this , path ) : any ; visitCallExpression ? ( this , path ) : any ; visitRestElement ? ( this , path ) : any ; visitTypeAnnotation ? ( this , path ) : any ; visitTSTypeAnnotation ? ( this , path ) : any ; visitSpreadElementPattern ? ( this , path ) : any ; visitArrowFunctionExpression ? ( this , path ) : any ; visitForOfStatement ? ( this , path ) : any ; visitYieldExpression ? ( this , path ) : any ; visitGeneratorExpression ? ( this , path ) : any ; visitComprehensionBlock ? ( this , path ) : any ; visitComprehensionExpression ? ( this , path ) : any ; visitObjectProperty ? ( this , path ) : any ; visitPropertyPattern ? ( this , path ) : any ; visitObjectPattern ? ( this , path ) : any ; visitArrayPattern ? ( this , path ) : any ; visitSpreadElement ? ( this , path ) : any ; visitAssignmentPattern ? ( this , path ) : any ; visitMethodDefinition ? ( this , path ) : any ; visitClassPropertyDefinition ? ( this , path ) : any ; visitClassProperty ? ( this , path ) : any ; visitClassBody ? ( this , path ) : any ; visitClassDeclaration ? ( this , path ) : any ; visitClassExpression ? ( this , path ) : any ; visitSuper ? ( this , path ) : any ; visitSpecifier ? ( this , path ) : any ; visitModuleSpecifier ? ( this , path ) : any ; visitImportSpecifier ? ( this , path ) : any ; visitImportDefaultSpecifier ? ( this , path ) : any ; visitImportNamespaceSpecifier ? ( this , path ) : any ; visitImportDeclaration ? ( this , path ) : any ; visitExportNamedDeclaration ? ( this , path ) : any ; visitExportSpecifier ? ( this , path ) : any ; visitExportDefaultDeclaration ? ( this , path ) : any ; visitExportAllDeclaration ? ( this , path ) : any ; visitTaggedTemplateExpression ? ( this , path ) : any ; visitTemplateLiteral ? ( this , path ) : any ; visitTemplateElement ? ( this , path ) : any ; visitMetaProperty ? ( this , path ) : any ; visitAwaitExpression ? ( this , path ) : any ; visitSpreadProperty ? ( this , path ) : any ; visitSpreadPropertyPattern ? ( this , path ) : any ; visitImportExpression ? ( this , path ) : any ; visitChainExpression ? ( this , path ) : any ; visitOptionalCallExpression ? ( this , path ) : any ; visitOptionalMemberExpression ? ( this , path ) : any ; visitStaticBlock ? ( this , path ) : any ; visitDecorator ? ( this , path ) : any ; visitPrivateName ? ( this , path ) : any ; visitClassPrivateProperty ? ( this , path ) : any ; visitImportAttribute ? ( this , path ) : any ; visitRecordExpression ? ( this , path ) : any ; visitObjectMethod ? ( this , path ) : any ; visitTupleExpression ? ( this , path ) : any ; visitModuleExpression ? ( this , path ) : any ; visitJSXAttribute ? ( this , path ) : any ; visitJSXIdentifier ? ( this , path ) : any ; visitJSXNamespacedName ? ( this , path ) : any ; visitJSXExpressionContainer ? ( this , path ) : any ; visitJSXElement ? ( this , path ) : any ; visitJSXFragment ? ( this , path ) : any ; visitJSXMemberExpression ? ( this , path ) : any ; visitJSXSpreadAttribute ? ( this , path ) : any ; visitJSXEmptyExpression ? ( this , path ) : any ; visitJSXText ? ( this , path ) : any ; visitJSXSpreadChild ? ( this , path ) : any ; visitJSXOpeningElement ? ( this , path ) : any ; visitJSXClosingElement ? ( this , path ) : any ; visitJSXOpeningFragment ? ( this , path ) : any ; visitJSXClosingFragment ? ( this , path ) : any ; visitTypeParameterDeclaration ? ( this , path ) : any ; visitTSTypeParameterDeclaration ? ( this , path ) : any ; visitTypeParameterInstantiation ? ( this , path ) : any ; visitTSTypeParameterInstantiation ? ( this , path ) : any ; visitClassImplements ? ( this , path ) : any ; visitTSType ? ( this , path ) : any ; visitTSHasOptionalTypeParameterInstantiation ? ( this , path ) : any ; visitTSExpressionWithTypeArguments ? ( this , path ) : any ; visitFlow ? ( this , path ) : any ; visitFlowType ? ( this , path ) : any ; visitAnyTypeAnnotation ? ( this , path ) : any ; visitEmptyTypeAnnotation ? ( this , path ) : any ; visitMixedTypeAnnotation ? ( this , path ) : any ; visitVoidTypeAnnotation ? ( this , path ) : any ; visitSymbolTypeAnnotation ? ( this , path ) : any ; visitNumberTypeAnnotation ? ( this , path ) : any ; visitBigIntTypeAnnotation ? ( this , path ) : any ; visitNumberLiteralTypeAnnotation ? ( this , path ) : any ; visitNumericLiteralTypeAnnotation ? ( this , path ) : any ; visitBigIntLiteralTypeAnnotation ? ( this , path ) : any ; visitStringTypeAnnotation ? ( this , path ) : any ; visitStringLiteralTypeAnnotation ? ( this , path ) : any ; visitBooleanTypeAnnotation ? ( this , path ) : any ; visitBooleanLiteralTypeAnnotation ? ( this , path ) : any ; visitNullableTypeAnnotation ? ( this , path ) : any ; visitNullLiteralTypeAnnotation ? ( this , path ) : any ; visitNullTypeAnnotation ? ( this , path ) : any ; visitThisTypeAnnotation ? ( this , path ) : any ; visitExistsTypeAnnotation ? ( this , path ) : any ; visitExistentialTypeParam ? ( this , path ) : any ; visitFunctionTypeAnnotation ? ( this , path ) : any ; visitFunctionTypeParam ? ( this , path ) : any ; visitArrayTypeAnnotation ? ( this , path ) : any ; visitObjectTypeAnnotation ? ( this , path ) : any ; visitObjectTypeProperty ? ( this , path ) : any ; visitObjectTypeSpreadProperty ? ( this , path ) : any ; visitObjectTypeIndexer ? ( this , path ) : any ; visitObjectTypeCallProperty ? ( this , path ) : any ; visitObjectTypeInternalSlot ? ( this , path ) : any ; visitVariance ? ( this , path ) : any ; visitQualifiedTypeIdentifier ? ( this , path ) : any ; visitGenericTypeAnnotation ? ( this , path ) : any ; visitMemberTypeAnnotation ? ( this , path ) : any ; visitIndexedAccessType ? ( this , path ) : any ; visitOptionalIndexedAccessType ? ( this , path ) : any ; visitUnionTypeAnnotation ? ( this , path ) : any ; visitIntersectionTypeAnnotation ? ( this , path ) : any ; visitTypeofTypeAnnotation ? ( this , path ) : any ; visitTypeParameter ? ( this , path ) : any ; visitInterfaceTypeAnnotation ? ( this , path ) : any ; visitInterfaceExtends ? ( this , path ) : any ; visitInterfaceDeclaration ? ( this , path ) : any ; visitDeclareInterface ? ( this , path ) : any ; visitTypeAlias ? ( this , path ) : any ; visitDeclareTypeAlias ? ( this , path ) : any ; visitOpaqueType ? ( this , path ) : any ; visitDeclareOpaqueType ? ( this , path ) : any ; visitTypeCastExpression ? ( this , path ) : any ; visitTupleTypeAnnotation ? ( this , path ) : any ; visitDeclareVariable ? ( this , path ) : any ; visitDeclareFunction ? ( this , path ) : any ; visitFlowPredicate ? ( this , path ) : any ; visitDeclareClass ? ( this , path ) : any ; visitDeclareModule ? ( this , path ) : any ; visitDeclareModuleExports ? ( this , path ) : any ; visitDeclareExportDeclaration ? ( this , path ) : any ; visitExportBatchSpecifier ? ( this , path ) : any ; visitDeclareExportAllDeclaration ? ( this , path ) : any ; visitInferredPredicate ? ( this , path ) : any ; visitDeclaredPredicate ? ( this , path ) : any ; visitEnumDeclaration ? ( this , path ) : any ; visitEnumBooleanBody ? ( this , path ) : any ; visitEnumNumberBody ? ( this , path ) : any ; visitEnumStringBody ? ( this , path ) : any ; visitEnumSymbolBody ? ( this , path ) : any ; visitEnumBooleanMember ? ( this , path ) : any ; visitEnumNumberMember ? ( this , path ) : any ; visitEnumStringMember ? ( this , path ) : any ; visitEnumDefaultedMember ? ( this , path ) : any ; visitExportDeclaration ? ( this , path ) : any ; visitBlock ? ( this , path ) : any ; visitLine ? ( this , path ) : any ; visitNoop ? ( this , path ) : any ; visitDoExpression ? ( this , path ) : any ; visitBindExpression ? ( this , path ) : any ; visitParenthesizedExpression ? ( this , path ) : any ; visitExportNamespaceSpecifier ? ( this , path ) : any ; visitExportDefaultSpecifier ? ( this , path ) : any ; visitCommentBlock ? ( this , path ) : any ; visitCommentLine ? ( this , path ) : any ; visitDirective ? ( this , path ) : any ; visitDirectiveLiteral ? ( this , path ) : any ; visitInterpreterDirective ? ( this , path ) : any ; visitStringLiteral ? ( this , path ) : any ; visitNumericLiteral ? ( this , path ) : any ; visitBigIntLiteral ? ( this , path ) : any ; visitDecimalLiteral ? ( this , path ) : any ; visitNullLiteral ? ( this , path ) : any ; visitBooleanLiteral ? ( this , path ) : any ; visitRegExpLiteral ? ( this , path ) : any ; visitClassMethod ? ( this , path ) : any ; visitClassPrivateMethod ? ( this , path ) : any ; visitRestProperty ? ( this , path ) : any ; visitForAwaitStatement ? ( this , path ) : any ; visitImport ? ( this , path ) : any ; visitV8IntrinsicIdentifier ? ( this , path ) : any ; visitTopicReference ? ( this , path ) : any ; visitTSQualifiedName ? ( this , path ) : any ; visitTSTypeReference ? ( this , path ) : any ; visitTSHasOptionalTypeParameters ? ( this , path ) : any ; visitTSHasOptionalTypeAnnotation ? ( this , path ) : any ; visitTSAsExpression ? ( this , path ) : any ; visitTSNonNullExpression ? ( this , path ) : any ; visitTSAnyKeyword ? ( this , path ) : any ; visitTSBigIntKeyword ? ( this , path ) : any ; visitTSBooleanKeyword ? ( this , path ) : any ; visitTSNeverKeyword ? ( this , path ) : any ; visitTSNullKeyword ? ( this , path ) : any ; visitTSNumberKeyword ? ( this , path ) : any ; visitTSObjectKeyword ? ( this , path ) : any ; visitTSStringKeyword ? ( this , path ) : any ; visitTSSymbolKeyword ? ( this , path ) : any ; visitTSUndefinedKeyword ? ( this , path ) : any ; visitTSUnknownKeyword ? ( this , path ) : any ; visitTSVoidKeyword ? ( this , path ) : any ; visitTSIntrinsicKeyword ? ( this , path ) : any ; visitTSThisType ? ( this , path ) : any ; visitTSArrayType ? ( this , path ) : any ; visitTSLiteralType ? ( this , path ) : any ; visitTSUnionType ? ( this , path ) : any ; visitTSIntersectionType ? ( this , path ) : any ; visitTSConditionalType ? ( this , path ) : any ; visitTSInferType ? ( this , path ) : any ; visitTSTypeParameter ? ( this , path ) : any ; visitTSParenthesizedType ? ( this , path ) : any ; visitTSFunctionType ? ( this , path ) : any ; visitTSConstructorType ? ( this , path ) : any ; visitTSDeclareFunction ? ( this , path ) : any ; visitTSDeclareMethod ? ( this , path ) : any ; visitTSMappedType ? ( this , path ) : any ; visitTSTupleType ? ( this , path ) : any ; visitTSNamedTupleMember ? ( this , path ) : any ; visitTSRestType ? ( this , path ) : any ; visitTSOptionalType ? ( this , path ) : any ; visitTSIndexedAccessType ? ( this , path ) : any ; visitTSTypeOperator ? ( this , path ) : any ; visitTSIndexSignature ? ( this , path ) : any ; visitTSPropertySignature ? ( this , path ) : any ; visitTSMethodSignature ? ( this , path ) : any ; visitTSTypePredicate ? ( this , path ) : any ; visitTSCallSignatureDeclaration ? ( this , path ) : any ; visitTSConstructSignatureDeclaration ? ( this , path ) : any ; visitTSEnumMember ? ( this , path ) : any ; visitTSTypeQuery ? ( this , path ) : any ; visitTSImportType ? ( this , path ) : any ; visitTSTypeLiteral ? ( this , path ) : any ; visitTSTypeAssertion ? ( this , path ) : any ; visitTSEnumDeclaration ? ( this , path ) : any ; visitTSTypeAliasDeclaration ? ( this , path ) : any ; visitTSModuleBlock ? ( this , path ) : any ; visitTSModuleDeclaration ? ( this , path ) : any ; visitTSImportEqualsDeclaration ? ( this , path ) : any ; visitTSExternalModuleReference ? ( this , path ) : any ; visitTSExportAssignment ? ( this , path ) : any ; visitTSNamespaceExportDeclaration ? ( this , path ) : any ; visitTSInterfaceBody ? ( this , path ) : any ; visitTSInterfaceDeclaration ? ( this , path ) : any ; visitTSParameterProperty ? ( this , path ) : any ; }