import { SourceFile } from "../tree"; import { TreeVisitor, ValidRecipeReturnType } from "../visitor"; import { Expression, J, NameTree, Statement } from "./tree"; import { Draft } from "mutative"; import { Type } from "./type"; /** * Register additional kind values for interfaces that extend J. * This allows isJava to recognize implementations of those interfaces. * @param kinds - Array of kind values to register * @param adapter - Adapter function to transform a JavaVisitor to, for example, a JavaScriptVisitor */ export declare function registerJavaExtensionKinds(kinds: readonly string[], adapter:

(visitor: JavaVisitor

) => JavaVisitor

): void; export declare function isJava(tree: any): tree is J; export declare class JavaVisitor

extends TreeVisitor { isAcceptable(sourceFile: SourceFile): Promise; protected visitExpression(expression: Expression, p: P): Promise; protected visitStatement(statement: Statement, p: P): Promise; visitSpace(space: J.Space, p: P): Promise; protected visitType(javaType: Type | undefined, p: P): Promise; protected visitTypeName(nameTree: N, p: P): Promise; protected visitAnnotatedType(annotatedType: J.AnnotatedType, p: P): Promise; protected visitAnnotation(annotation: J.Annotation, p: P): Promise; protected visitArrayAccess(arrayAccess: J.ArrayAccess, p: P): Promise; protected visitArrayDimension(arrayDimension: J.ArrayDimension, p: P): Promise; protected visitArrayType(arrayType: J.ArrayType, p: P): Promise; protected visitAssert(anAssert: J.Assert, p: P): Promise; protected visitAssignment(assignment: J.Assignment, p: P): Promise; protected visitAssignmentOperation(assignOp: J.AssignmentOperation, p: P): Promise; protected visitBinary(binary: J.Binary, p: P): Promise; protected visitBlock(block: J.Block, p: P): Promise; protected visitBreak(breakStatement: J.Break, p: P): Promise; protected visitCase(aCase: J.Case, p: P): Promise; protected visitClassDeclaration(classDecl: J.ClassDeclaration, p: P): Promise; protected visitClassDeclarationKind(kind: J.ClassDeclaration.Kind, p: P): Promise; protected visitCompilationUnit(cu: J.CompilationUnit, p: P): Promise; protected visitContinue(continueStatement: J.Continue, p: P): Promise; protected visitControlParentheses(controlParens: J.ControlParentheses, p: P): Promise; protected visitDeconstructionPattern(pattern: J.DeconstructionPattern, p: P): Promise; protected visitDoWhileLoop(doWhileLoop: J.DoWhileLoop, p: P): Promise; protected visitEmpty(empty: J.Empty, p: P): Promise; protected visitEnumValue(enumValue: J.EnumValue, p: P): Promise; protected visitEnumValueSet(enumValueSet: J.EnumValueSet, p: P): Promise; protected visitErroneous(erroneous: J.Erroneous, p: P): Promise; protected visitFieldAccess(fieldAccess: J.FieldAccess, p: P): Promise; protected visitForEachLoop(forLoop: J.ForEachLoop, p: P): Promise; protected visitForEachLoopControl(control: J.ForEachLoop.Control, p: P): Promise; protected visitForLoop(forLoop: J.ForLoop, p: P): Promise; protected visitForLoopControl(control: J.ForLoop.Control, p: P): Promise; protected visitIdentifier(ident: J.Identifier, p: P): Promise; protected visitIf(iff: J.If, p: P): Promise; protected visitElse(anElse: J.If.Else, p: P): Promise; protected visitImport(anImport: J.Import, p: P): Promise; protected visitInstanceOf(instanceOf: J.InstanceOf, p: P): Promise; protected visitIntersectionType(intersectionType: J.IntersectionType, p: P): Promise; protected visitLabel(label: J.Label, p: P): Promise; protected visitLambda(lambda: J.Lambda, p: P): Promise; protected visitLambdaParameters(params: J.Lambda.Parameters, p: P): Promise; protected visitLiteral(literal: J.Literal, p: P): Promise; protected visitMemberReference(memberRef: J.MemberReference, p: P): Promise; protected visitMethodDeclaration(method: J.MethodDeclaration, p: P): Promise; protected visitMethodInvocation(method: J.MethodInvocation, p: P): Promise; protected visitModifier(modifier: J.Modifier, p: P): Promise; protected visitMultiCatch(multiCatch: J.MultiCatch, p: P): Promise; protected visitNewArray(newArray: J.NewArray, p: P): Promise; protected visitNewClass(newClass: J.NewClass, p: P): Promise; protected visitNullableType(nullableType: J.NullableType, p: P): Promise; protected visitPackage(aPackage: J.Package, p: P): Promise; protected visitParameterizedType(parameterizedType: J.ParameterizedType, p: P): Promise; protected visitParentheses(parentheses: J.Parentheses, p: P): Promise; protected visitParenthesizedTypeTree(parTypeTree: J.ParenthesizedTypeTree, p: P): Promise; protected visitPrimitive(primitive: J.Primitive, p: P): Promise; protected visitReturn(ret: J.Return, p: P): Promise; protected visitSwitch(aSwitch: J.Switch, p: P): Promise; protected visitSwitchExpression(switchExpr: J.SwitchExpression, p: P): Promise; protected visitSynchronized(sync: J.Synchronized, p: P): Promise; protected visitTernary(ternary: J.Ternary, p: P): Promise; protected visitThrow(thrown: J.Throw, p: P): Promise; protected visitTry(tryable: J.Try, p: P): Promise; protected visitTryResource(resource: J.Try.Resource, p: P): Promise; protected visitTryCatch(tryCatch: J.Try.Catch, p: P): Promise; protected visitTypeCast(typeCast: J.TypeCast, p: P): Promise; protected visitTypeParameter(typeParam: J.TypeParameter, p: P): Promise; protected visitTypeParameters(typeParams: J.TypeParameters, p: P): Promise; protected visitUnary(unary: J.Unary, p: P): Promise; protected visitUnknown(unknown: J.Unknown, p: P): Promise; protected visitUnknownSource(source: J.UnknownSource, p: P): Promise; protected visitVariableDeclarations(varDecls: J.VariableDeclarations, p: P): Promise; protected visitVariable(variable: J.VariableDeclarations.NamedVariable, p: P): Promise; protected visitWhileLoop(whileLoop: J.WhileLoop, p: P): Promise; protected visitWildcard(wildcard: J.Wildcard, p: P): Promise; protected visitYield(aYield: J.Yield, p: P): Promise; protected visitOptionalRightPadded(right: J.RightPadded | undefined, p: P): Promise | undefined>; visitRightPadded(right: J.RightPadded, p: P): Promise | undefined>; protected visitOptionalLeftPadded(left: J.LeftPadded | undefined, p: P): Promise | undefined>; visitLeftPadded(left: J.LeftPadded, p: P): Promise | undefined>; protected visitOptionalContainer(container: J.Container | undefined, p: P): Promise | undefined>; visitContainer(container: J.Container, p: P): Promise>; protected produceJava(before: J2, p: P, recipe?: (draft: Draft) => ValidRecipeReturnType> | PromiseLike>>): Promise; protected accept(t: J, p: P): Promise; } //# sourceMappingURL=visitor.d.ts.map