/** * Copyright 2017 Matt Acosta * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { AnonymousClassSyntaxNode, AnonymousFunctionSyntaxNode, AnonymousObjectCreationSyntaxNode, ArgumentSyntaxNode, ArraySyntaxNode, ArrayElementSyntaxNode, ArrowFunctionSyntaxNode, AssignmentSyntaxNode, BinarySyntaxNode, BreakSyntaxNode, ClassConstantSyntaxNode, ClassConstantDeclarationSyntaxNode, ClassConstantElementSyntaxNode, ClassDeclarationSyntaxNode, CloneSyntaxNode, ClosureUseSyntaxNode, ConditionalSyntaxNode, ConstantSyntaxNode, ConstantDeclarationSyntaxNode, ConstantElementSyntaxNode, ContinueSyntaxNode, DeclareSyntaxNode, DeclareBlockSyntaxNode, DestructuringAssignmentSyntaxNode, DoWhileSyntaxNode, EchoSyntaxNode, ElementAccessSyntaxNode, ElseSyntaxNode, ElseBlockSyntaxNode, ElseIfSyntaxNode, ElseIfBlockSyntaxNode, EmptyIntrinsicSyntaxNode, ErrorControlSyntaxNode, EvalIntrinsicSyntaxNode, ExitIntrinsicSyntaxNode, ExpressionGroupSyntaxNode, ExpressionStatementSyntaxNode, FlexibleHeredocElementSyntaxNode, FlexibleHeredocTemplateSyntaxNode, ForSyntaxNode, ForBlockSyntaxNode, ForEachSyntaxNode, ForEachBlockSyntaxNode, FullyQualifiedNameSyntaxNode, FunctionDeclarationSyntaxNode, FunctionInvocationSyntaxNode, GlobalSyntaxNode, GoToSyntaxNode, HaltCompilerSyntaxNode, HeredocTemplateSyntaxNode, IfSyntaxNode, IfBlockSyntaxNode, IncompleteMemberSyntaxNode, IncompleteNamedTraitAdaptationSyntaxNode, IncompleteReferencedTraitAdaptationSyntaxNode, IndirectStringVariableSyntaxNode, IndirectVariableSyntaxNode, InstanceOfSyntaxNode, InterfaceDeclarationSyntaxNode, IsSetIntrinsicSyntaxNode, LabelSyntaxNode, LexicalVariableSyntaxNode, ListDestructureSyntaxNode, ListDestructureElementSyntaxNode, LiteralSyntaxNode, LocalVariableSyntaxNode, MemberAccessSyntaxNode, MemberInvocationSyntaxNode, MethodDeclarationSyntaxNode, MethodReferenceSyntaxNode, NamespaceDeclarationSyntaxNode, NamespaceGroupDeclarationSyntaxNode, ObjectCreationSyntaxNode, ParameterSyntaxNode, PartiallyQualifiedNameSyntaxNode, PostfixUnarySyntaxNode, PrintIntrinsicSyntaxNode, PropertyDeclarationSyntaxNode, PropertyElementSyntaxNode, RelativeNameSyntaxNode, ReturnSyntaxNode, ScopedInvocationSyntaxNode, ScriptInclusionSyntaxNode, ShellCommandTemplateSyntaxNode, StatementBlockSyntaxNode, StaticSyntaxNode, StaticElementSyntaxNode, StaticPropertySyntaxNode, StringElementAccessSyntaxNode, StringExpressionSyntaxNode, StringTemplateSyntaxNode, StringVariableSyntaxNode, SwitchSyntaxNode, SwitchBlockSyntaxNode, SwitchCaseSyntaxNode, ThrowSyntaxNode, TraitAliasSyntaxNode, TraitDeclarationSyntaxNode, TraitPrecedenceSyntaxNode, TraitUseSyntaxNode, TraitUseGroupSyntaxNode, TrySyntaxNode, TryCatchSyntaxNode, TryFinallySyntaxNode, TypeSyntaxNode, UnarySyntaxNode, UnsetSyntaxNode, UseDeclarationSyntaxNode, UseElementSyntaxNode, UseGroupDeclarationSyntaxNode, WhileSyntaxNode, WhileBlockSyntaxNode, YieldSyntaxNode, YieldFromSyntaxNode } from './SyntaxNode.Generated'; import { ISyntaxNode } from './ISyntaxNode'; import { ISyntaxToken } from './ISyntaxToken'; import { ISyntaxTrivia } from './ISyntaxTrivia'; import { ISyntaxVisitorAccess } from './ISyntaxVisitorAccess'; import { SourceTextSyntaxNode } from './SourceTextSyntaxNode'; export declare abstract class SyntaxVisitor { defaultVisit(node: ISyntaxNode): void; visit(node: ISyntaxVisitorAccess): void; visitToken(token: ISyntaxToken): void; visitTrivia(trivia: ISyntaxTrivia): void; visitSourceText(node: SourceTextSyntaxNode): void; visitAnonymousClass(node: AnonymousClassSyntaxNode): void; visitAnonymousFunction(node: AnonymousFunctionSyntaxNode): void; visitAnonymousObjectCreation(node: AnonymousObjectCreationSyntaxNode): void; visitArgument(node: ArgumentSyntaxNode): void; visitArray(node: ArraySyntaxNode): void; visitArrayElement(node: ArrayElementSyntaxNode): void; visitArrowFunction(node: ArrowFunctionSyntaxNode): void; visitAssignmentExpression(node: AssignmentSyntaxNode): void; visitBinaryExpression(node: BinarySyntaxNode): void; visitBreak(node: BreakSyntaxNode): void; visitClassConstant(node: ClassConstantSyntaxNode): void; visitClassConstantDeclaration(node: ClassConstantDeclarationSyntaxNode): void; visitClassConstantElement(node: ClassConstantElementSyntaxNode): void; visitClassDeclaration(node: ClassDeclarationSyntaxNode): void; visitClone(node: CloneSyntaxNode): void; visitClosureUse(node: ClosureUseSyntaxNode): void; visitConditionalExpression(node: ConditionalSyntaxNode): void; visitConstant(node: ConstantSyntaxNode): void; visitConstantDeclaration(node: ConstantDeclarationSyntaxNode): void; visitConstantElement(node: ConstantElementSyntaxNode): void; visitContinue(node: ContinueSyntaxNode): void; visitDeclare(node: DeclareSyntaxNode): void; visitDeclareBlock(node: DeclareBlockSyntaxNode): void; visitDestructuringAssignment(node: DestructuringAssignmentSyntaxNode): void; visitDoWhile(node: DoWhileSyntaxNode): void; visitEcho(node: EchoSyntaxNode): void; visitElementAccess(node: ElementAccessSyntaxNode): void; visitElse(node: ElseSyntaxNode): void; visitElseBlock(node: ElseBlockSyntaxNode): void; visitElseIf(node: ElseIfSyntaxNode): void; visitElseIfBlock(node: ElseIfBlockSyntaxNode): void; visitEmptyIntrinsic(node: EmptyIntrinsicSyntaxNode): void; visitErrorControl(node: ErrorControlSyntaxNode): void; visitEvalIntrinsic(node: EvalIntrinsicSyntaxNode): void; visitExitIntrinsic(node: ExitIntrinsicSyntaxNode): void; visitExpressionGroup(node: ExpressionGroupSyntaxNode): void; visitExpressionStatement(node: ExpressionStatementSyntaxNode): void; visitFlexibleHeredocElement(node: FlexibleHeredocElementSyntaxNode): void; visitFlexibleHeredocTemplate(node: FlexibleHeredocTemplateSyntaxNode): void; visitFor(node: ForSyntaxNode): void; visitForBlock(node: ForBlockSyntaxNode): void; visitForEach(node: ForEachSyntaxNode): void; visitForEachBlock(node: ForEachBlockSyntaxNode): void; visitFullyQualifiedName(node: FullyQualifiedNameSyntaxNode): void; visitFunctionDeclaration(node: FunctionDeclarationSyntaxNode): void; visitFunctionInvocation(node: FunctionInvocationSyntaxNode): void; visitGlobalDeclaration(node: GlobalSyntaxNode): void; visitGoTo(node: GoToSyntaxNode): void; visitHaltCompiler(node: HaltCompilerSyntaxNode): void; visitHeredocTemplate(node: HeredocTemplateSyntaxNode): void; visitIf(node: IfSyntaxNode): void; visitIfBlock(node: IfBlockSyntaxNode): void; visitIncompleteMember(node: IncompleteMemberSyntaxNode): void; visitIncompleteNamedTraitAdapatation(node: IncompleteNamedTraitAdaptationSyntaxNode): void; visitIncompleteReferencedTraitAdaptation(node: IncompleteReferencedTraitAdaptationSyntaxNode): void; visitMemberAccess(node: MemberAccessSyntaxNode): void; visitMethodInvocation(node: MemberInvocationSyntaxNode): void; visitObjectCreation(node: ObjectCreationSyntaxNode): void; visitScopedInvocation(node: ScopedInvocationSyntaxNode): void; visitIndirectStringVariable(node: IndirectStringVariableSyntaxNode): void; visitIndirectVariable(node: IndirectVariableSyntaxNode): void; visitInstanceOf(node: InstanceOfSyntaxNode): void; visitInterfaceDeclaration(node: InterfaceDeclarationSyntaxNode): void; visitIsSetIntrinsic(node: IsSetIntrinsicSyntaxNode): void; visitLabel(node: LabelSyntaxNode): void; visitLexicalVariable(node: LexicalVariableSyntaxNode): void; visitListDestructure(node: ListDestructureSyntaxNode): void; visitListDestructureElement(node: ListDestructureElementSyntaxNode): void; visitLiteral(node: LiteralSyntaxNode): void; visitLocalVariable(node: LocalVariableSyntaxNode): void; visitMethodDeclaration(node: MethodDeclarationSyntaxNode): void; visitMethodReference(node: MethodReferenceSyntaxNode): void; visitTraitAlias(node: TraitAliasSyntaxNode): void; visitType(node: TypeSyntaxNode): void; visitNamespaceDeclaration(node: NamespaceDeclarationSyntaxNode): void; visitNamespaceGroupDeclaration(node: NamespaceGroupDeclarationSyntaxNode): void; visitParameter(node: ParameterSyntaxNode): void; visitPartiallyQualifiedName(node: PartiallyQualifiedNameSyntaxNode): void; visitPostfixUnaryExpression(node: PostfixUnarySyntaxNode): void; visitPrintIntrinsic(node: PrintIntrinsicSyntaxNode): void; visitPropertyDeclaration(node: PropertyDeclarationSyntaxNode): void; visitPropertyElement(node: PropertyElementSyntaxNode): void; visitRelativeName(node: RelativeNameSyntaxNode): void; visitReturn(node: ReturnSyntaxNode): void; visitScriptInclusion(node: ScriptInclusionSyntaxNode): void; visitShellCommandTemplate(node: ShellCommandTemplateSyntaxNode): void; visitStatementBlock(node: StatementBlockSyntaxNode): void; visitStaticDeclaration(node: StaticSyntaxNode): void; visitStaticElement(node: StaticElementSyntaxNode): void; visitStaticProperty(node: StaticPropertySyntaxNode): void; visitStringElementAccess(node: StringElementAccessSyntaxNode): void; visitStringExpression(node: StringExpressionSyntaxNode): void; visitStringTemplate(node: StringTemplateSyntaxNode): void; visitStringVariable(node: StringVariableSyntaxNode): void; visitSwitch(node: SwitchSyntaxNode): void; visitSwitchBlock(node: SwitchBlockSyntaxNode): void; visitSwitchCase(node: SwitchCaseSyntaxNode): void; visitThrow(node: ThrowSyntaxNode): void; visitTraitDeclaration(node: TraitDeclarationSyntaxNode): void; visitTraitPrecedence(node: TraitPrecedenceSyntaxNode): void; visitTraitUse(node: TraitUseSyntaxNode): void; visitTraitUseGroup(node: TraitUseGroupSyntaxNode): void; visitTry(node: TrySyntaxNode): void; visitTryCatch(node: TryCatchSyntaxNode): void; visitTryFinally(node: TryFinallySyntaxNode): void; visitUnaryExpression(node: UnarySyntaxNode): void; visitUnset(node: UnsetSyntaxNode): void; visitUseDeclaration(node: UseDeclarationSyntaxNode): void; visitUseElement(node: UseElementSyntaxNode): void; visitUseGroupDeclaration(node: UseGroupDeclarationSyntaxNode): void; visitWhile(node: WhileSyntaxNode): void; visitWhileBlock(node: WhileBlockSyntaxNode): void; visitYield(node: YieldSyntaxNode): void; visitYieldFrom(node: YieldFromSyntaxNode): void; }