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 classInvokeDynamicRewriter.IndyHelperBuilder
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.StringM_DESC_DYNAMIC_INVOKERprivate static java.lang.StringM_DESC_INVOKE_EXACTprivate static java.lang.StringT_DESC_CALL_SITEprivate static java.lang.StringT_DESC_LOOKUPprivate static java.lang.StringT_DESC_METHOD_HANDLEprivate static java.lang.StringT_DESC_METHOD_HANDLESprivate static java.lang.StringT_DESC_THROWABLEprivate static java.lang.StringT_DESC_THROWABLE_WRAPPERprivate static java.lang.StringT_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.VoidvisitInvocationExpression(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:
visitInvocationExpressionin interfaceIAstVisitor<java.lang.Void,java.lang.Void>- Overrides:
visitInvocationExpressionin classDepthFirstAstVisitor<java.lang.Void,java.lang.Void>
-
-