/** * 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 { AnonymousClassNode, AnonymousFunctionNode, AnonymousObjectCreationNode, ArgumentNode, ArrayNode, ArrayElementNode, ArrowFunctionNode, AssignmentNode, BinaryNode, BreakNode, ClassConstantNode, ClassConstantDeclarationNode, ClassConstantElementNode, ClassDeclarationNode, CloneNode, ClosureUseNode, ConditionalNode, ConstantNode, ConstantDeclarationNode, ConstantElementNode, ContinueNode, DeclareNode, DeclareBlockNode, DestructuringAssignmentNode, DoWhileNode, EchoNode, ElementAccessNode, ElseNode, ElseBlockNode, ElseIfNode, ElseIfBlockNode, EmptyIntrinsicNode, ErrorControlNode, EvalIntrinsicNode, ExitIntrinsicNode, ExpressionGroupNode, ExpressionStatementNode, FlexibleHeredocElementNode, FlexibleHeredocTemplateNode, ForNode, ForBlockNode, ForEachNode, ForEachBlockNode, FullyQualifiedNameNode, FunctionDeclarationNode, FunctionInvocationNode, GlobalNode, GoToNode, HaltCompilerNode, HeredocTemplateNode, IfNode, IfBlockNode, IncompleteMemberNode, IncompleteNamedTraitAdaptationNode, IncompleteReferencedTraitAdaptationNode, IndirectStringVariableNode, IndirectVariableNode, InstanceOfNode, InterfaceDeclarationNode, IsSetIntrinsicNode, LabelNode, LexicalVariableNode, ListDestructureNode, ListDestructureElementNode, LiteralNode, LocalVariableNode, MemberAccessNode, MemberInvocationNode, MethodDeclarationNode, MethodReferenceNode, NamespaceDeclarationNode, NamespaceGroupDeclarationNode, ObjectCreationNode, ParameterNode, PartiallyQualifiedNameNode, PostfixUnaryNode, PrintIntrinsicNode, PropertyDeclarationNode, PropertyElementNode, RelativeNameNode, ReturnNode, ScopedInvocationNode, ScriptInclusionNode, ShellCommandTemplateNode, StatementBlockNode, StaticNode, StaticElementNode, StaticPropertyNode, StringElementAccessNode, StringExpressionNode, StringTemplateNode, StringVariableNode, SwitchNode, SwitchBlockNode, SwitchCaseNode, ThrowNode, TraitAliasNode, TraitDeclarationNode, TraitPrecedenceNode, TraitUseNode, TraitUseGroupNode, TryNode, TryCatchNode, TryFinallyNode, TypeNode, UnaryNode, UnsetNode, UseDeclarationNode, UseElementNode, UseGroupDeclarationNode, WhileNode, WhileBlockNode, YieldNode, YieldFromNode } from './Node.Generated'; import { Node } from './Node'; import { SourceTextNode } from './SourceTextNode'; export declare abstract class NodeTransform { protected readonly defaultValue: T; constructor(defaultValue: T); defaultVisit(node: Node): T; visit(node: Node): T; visitToken(token: Node): T; visitTrivia(token: Node): T; visitSourceText(node: SourceTextNode): T; visitAnonymousClass(node: AnonymousClassNode): T; visitAnonymousFunction(node: AnonymousFunctionNode): T; visitAnonymousObjectCreation(node: AnonymousObjectCreationNode): T; visitArgument(node: ArgumentNode): T; visitArray(node: ArrayNode): T; visitArrayElement(node: ArrayElementNode): T; visitArrowFunction(node: ArrowFunctionNode): T; visitAssignmentExpression(node: AssignmentNode): T; visitBinaryExpression(node: BinaryNode): T; visitBreak(node: BreakNode): T; visitClassConstant(node: ClassConstantNode): T; visitClassConstantDeclaration(node: ClassConstantDeclarationNode): T; visitClassConstantElement(node: ClassConstantElementNode): T; visitClassDeclaration(node: ClassDeclarationNode): T; visitClone(node: CloneNode): T; visitClosureUse(node: ClosureUseNode): T; visitConditionalExpression(node: ConditionalNode): T; visitConstant(node: ConstantNode): T; visitConstantDeclaration(node: ConstantDeclarationNode): T; visitConstantElement(node: ConstantElementNode): T; visitContinue(node: ContinueNode): T; visitDeclare(node: DeclareNode): T; visitDeclareBlock(node: DeclareBlockNode): T; visitDestructuringAssignment(node: DestructuringAssignmentNode): T; visitDoWhile(node: DoWhileNode): T; visitEcho(node: EchoNode): T; visitElementAccess(node: ElementAccessNode): T; visitElse(node: ElseNode): T; visitElseBlock(node: ElseBlockNode): T; visitElseIf(node: ElseIfNode): T; visitElseIfBlock(node: ElseIfBlockNode): T; visitEmptyIntrinsic(node: EmptyIntrinsicNode): T; visitErrorControl(node: ErrorControlNode): T; visitEvalIntrinsic(node: EvalIntrinsicNode): T; visitExitIntrinsic(node: ExitIntrinsicNode): T; visitExpressionGroup(node: ExpressionGroupNode): T; visitExpressionStatement(node: ExpressionStatementNode): T; visitFlexibleHeredocElement(node: FlexibleHeredocElementNode): T; visitFlexibleHeredocTemplate(node: FlexibleHeredocTemplateNode): T; visitFor(node: ForNode): T; visitForBlock(node: ForBlockNode): T; visitForEach(node: ForEachNode): T; visitForEachBlock(node: ForEachBlockNode): T; visitFullyQualifiedName(node: FullyQualifiedNameNode): T; visitFunctionDeclaration(node: FunctionDeclarationNode): T; visitFunctionInvocation(node: FunctionInvocationNode): T; visitGlobalDeclaration(node: GlobalNode): T; visitGoTo(node: GoToNode): T; visitHaltCompiler(node: HaltCompilerNode): T; visitHeredocTemplate(node: HeredocTemplateNode): T; visitIf(node: IfNode): T; visitIfBlock(node: IfBlockNode): T; visitIncompleteMember(node: IncompleteMemberNode): T; visitIncompleteNamedTraitAdapatation(node: IncompleteNamedTraitAdaptationNode): T; visitIncompleteReferencedTraitAdaptation(node: IncompleteReferencedTraitAdaptationNode): T; visitMemberAccess(node: MemberAccessNode): T; visitMethodInvocation(node: MemberInvocationNode): T; visitObjectCreation(node: ObjectCreationNode): T; visitScopedInvocation(node: ScopedInvocationNode): T; visitIndirectStringVariable(node: IndirectStringVariableNode): T; visitIndirectVariable(node: IndirectVariableNode): T; visitInstanceOf(node: InstanceOfNode): T; visitInterfaceDeclaration(node: InterfaceDeclarationNode): T; visitIsSetIntrinsic(node: IsSetIntrinsicNode): T; visitLabel(node: LabelNode): T; visitLexicalVariable(node: LexicalVariableNode): T; visitListDestructure(node: ListDestructureNode): T; visitListDestructureElement(node: ListDestructureElementNode): T; visitLiteral(node: LiteralNode): T; visitLocalVariable(node: LocalVariableNode): T; visitMethodDeclaration(node: MethodDeclarationNode): T; visitMethodReference(node: MethodReferenceNode): T; visitTraitAlias(node: TraitAliasNode): T; visitType(node: TypeNode): T; visitNamespaceDeclaration(node: NamespaceDeclarationNode): T; visitNamespaceGroupDeclaration(node: NamespaceGroupDeclarationNode): T; visitParameter(node: ParameterNode): T; visitPartiallyQualifiedName(node: PartiallyQualifiedNameNode): T; visitPostfixUnaryExpression(node: PostfixUnaryNode): T; visitPrintIntrinsic(node: PrintIntrinsicNode): T; visitPropertyDeclaration(node: PropertyDeclarationNode): T; visitPropertyElement(node: PropertyElementNode): T; visitRelativeName(node: RelativeNameNode): T; visitReturn(node: ReturnNode): T; visitScriptInclusion(node: ScriptInclusionNode): T; visitShellCommandTemplate(node: ShellCommandTemplateNode): T; visitStatementBlock(node: StatementBlockNode): T; visitStaticDeclaration(node: StaticNode): T; visitStaticElement(node: StaticElementNode): T; visitStaticProperty(node: StaticPropertyNode): T; visitStringElementAccess(node: StringElementAccessNode): T; visitStringExpression(node: StringExpressionNode): T; visitStringTemplate(node: StringTemplateNode): T; visitStringVariable(node: StringVariableNode): T; visitSwitch(node: SwitchNode): T; visitSwitchBlock(node: SwitchBlockNode): T; visitSwitchCase(node: SwitchCaseNode): T; visitThrow(node: ThrowNode): T; visitTraitDeclaration(node: TraitDeclarationNode): T; visitTraitPrecedence(node: TraitPrecedenceNode): T; visitTraitUse(node: TraitUseNode): T; visitTraitUseGroup(node: TraitUseGroupNode): T; visitTry(node: TryNode): T; visitTryCatch(node: TryCatchNode): T; visitTryFinally(node: TryFinallyNode): T; visitUnaryExpression(node: UnaryNode): T; visitUnset(node: UnsetNode): T; visitUseDeclaration(node: UseDeclarationNode): T; visitUseElement(node: UseElementNode): T; visitUseGroupDeclaration(node: UseGroupDeclarationNode): T; visitWhile(node: WhileNode): T; visitWhileBlock(node: WhileBlockNode): T; visitYield(node: YieldNode): T; visitYieldFrom(node: YieldFromNode): T; }