Class InvokeDynamicRewriter
- java.lang.Object
-
- com.strobel.decompiler.languages.java.ast.DepthFirstAstVisitor<java.lang.Void,TResult>
-
- com.strobel.decompiler.languages.java.ast.ContextTrackingVisitor<java.lang.Void>
-
- com.strobel.decompiler.languages.java.ast.transforms.AbstractHelperClassTransform
-
- com.strobel.decompiler.languages.java.ast.transforms.InvokeDynamicRewriter
-
- All Implemented Interfaces:
IAstVisitor<java.lang.Void,java.lang.Void>
,IAstTransform
public class InvokeDynamicRewriter extends AbstractHelperClassTransform
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
InvokeDynamicRewriter.IndyHelperBuilder
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.String
M_DESC_DYNAMIC_INVOKER
private static java.lang.String
M_DESC_INVOKE_EXACT
private static java.lang.String
T_DESC_CALL_SITE
private static java.lang.String
T_DESC_LOOKUP
private static java.lang.String
T_DESC_METHOD_HANDLE
private static java.lang.String
T_DESC_METHOD_HANDLES
private static java.lang.String
T_DESC_THROWABLE
private static java.lang.String
T_DESC_THROWABLE_WRAPPER
private static java.lang.String
T_SIGNATURE_LOOKUP
-
Fields inherited from class com.strobel.decompiler.languages.java.ast.transforms.AbstractHelperClassTransform
BOOTSTRAP_ARG_OFFSET, currentType, M_DESC_AS_TYPE, M_DESC_GET_CLASS, M_DESC_INSERT_ARGUMENTS, M_DESC_METHOD_TYPE, M_DESC_PERMUTE_ARGUMENTS, M_DESC_RETURN_TYPE, M_DESC_THROW_EXCEPTION, M_SIGNATURE_LOOKUP, M_SIGNATURE_PRIVATE_LOOKUP, parser, resolver, T_DESC_CLASS, T_DESC_METHOD_TYPE, T_DESC_REFLECTION_EXCEPTION, T_DESC_STRING, T_DESC_T_DESCRIPTOR, T_DESC_T_DESCRIPTOR_INNER_PREFIX
-
Fields inherited from class com.strobel.decompiler.languages.java.ast.ContextTrackingVisitor
context
-
-
Constructor Summary
Constructors Constructor Description InvokeDynamicRewriter(DecompilerContext context)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Void
visitInvocationExpression(InvocationExpression node, java.lang.Void data)
-
Methods inherited from class com.strobel.decompiler.languages.java.ast.transforms.AbstractHelperClassTransform
declareField, makeBootstrapCall, makeCatchVariable, makeMethodHandle, makeMethodHandle, makeMethodHandle, makeMethodType, makeReference, newMethod, nextUniqueId, resolveLookupMethod, resolver, translateArgumentType, tryConvertArgument, varReference, varReference, visitTypeDeclarationOverride
-
Methods inherited from class com.strobel.decompiler.languages.java.ast.ContextTrackingVisitor
inConstructor, inMethod, inStaticInitializer, makeType, makeType, resolver, run, visitConstructorDeclaration, visitMethodDeclaration, visitMethodDeclarationOverride, visitTypeDeclaration
-
Methods inherited from class com.strobel.decompiler.languages.java.ast.DepthFirstAstVisitor
shouldContinue, visitAnnotation, visitAnonymousObjectCreationExpression, visitArrayCreationExpression, visitArrayInitializerExpression, visitArraySpecifier, visitAssertStatement, visitAssignmentExpression, visitBinaryOperatorExpression, visitBlockStatement, visitBreakStatement, visitBytecodeConstant, visitCaseLabel, visitCastExpression, visitCatchClause, visitChildren, visitClassOfExpression, visitComment, visitCompilationUnit, visitComposedType, visitConditionalExpression, visitContinueStatement, visitDoWhileStatement, visitEmptyStatement, visitEnumValueDeclaration, visitExpressionStatement, visitFieldDeclaration, visitForEachStatement, visitForStatement, visitGotoStatement, visitIdentifier, visitIdentifierExpression, visitIfElseStatement, visitImportDeclaration, visitIndexerExpression, visitInitializerBlock, visitInlinedBytecode, visitInstanceOfExpression, visitIntersectionType, visitJavaTokenNode, visitLabeledStatement, visitLabelStatement, visitLambdaExpression, visitLocalTypeDeclarationStatement, visitMemberReferenceExpression, visitMethodGroupExpression, visitModuleDeclaration, visitNewLine, visitNullReferenceExpression, visitObjectCreationExpression, visitPackageDeclaration, visitParameterDeclaration, visitParenthesizedExpression, visitPatternPlaceholder, visitPrimitiveExpression, visitReturnStatement, visitSimpleType, visitSuperReferenceExpression, visitSwitchExpression, visitSwitchExpressionArm, visitSwitchSection, visitSwitchStatement, visitSynchronizedStatement, visitText, visitThisReferenceExpression, visitThrowStatement, visitTryCatchStatement, visitTypeParameterDeclaration, visitTypeReference, visitUnaryOperatorExpression, visitUnionType, visitVariableDeclaration, visitVariableInitializer, visitWhileStatement, visitWildcardType
-
-
-
-
Field Detail
-
T_DESC_THROWABLE
private static final java.lang.String T_DESC_THROWABLE
- See Also:
- Constant Field Values
-
T_DESC_THROWABLE_WRAPPER
private static final java.lang.String T_DESC_THROWABLE_WRAPPER
- See Also:
- Constant Field Values
-
T_DESC_METHOD_HANDLE
private static final java.lang.String T_DESC_METHOD_HANDLE
- See Also:
- Constant Field Values
-
T_DESC_METHOD_HANDLES
private static final java.lang.String T_DESC_METHOD_HANDLES
- See Also:
- Constant Field Values
-
T_DESC_LOOKUP
private static final java.lang.String T_DESC_LOOKUP
- See Also:
- Constant Field Values
-
T_DESC_CALL_SITE
private static final java.lang.String T_DESC_CALL_SITE
- See Also:
- Constant Field Values
-
T_SIGNATURE_LOOKUP
private static final java.lang.String T_SIGNATURE_LOOKUP
- See Also:
- Constant Field Values
-
M_DESC_INVOKE_EXACT
private static final java.lang.String M_DESC_INVOKE_EXACT
- See Also:
- Constant Field Values
-
M_DESC_DYNAMIC_INVOKER
private static final java.lang.String M_DESC_DYNAMIC_INVOKER
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
InvokeDynamicRewriter
public InvokeDynamicRewriter(DecompilerContext context)
-
-
Method Detail
-
visitInvocationExpression
public java.lang.Void visitInvocationExpression(InvocationExpression node, java.lang.Void data)
- Specified by:
visitInvocationExpression
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
- Overrides:
visitInvocationExpression
in classDepthFirstAstVisitor<java.lang.Void,java.lang.Void>
-
-