Class MethodHandleConstantRewriter
- 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.MethodHandleConstantRewriter
-
- All Implemented Interfaces:
IAstVisitor<java.lang.Void,java.lang.Void>
,IAstTransform
public class MethodHandleConstantRewriter extends AbstractHelperClassTransform
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
MethodHandleConstantRewriter.LcdMHHelperBuilder
-
Field Summary
Fields Modifier and Type Field Description private java.util.Map<MethodHandle,MethodHandleConstantRewriter.LcdMHHelperBuilder>
helpers
-
Fields inherited from class com.strobel.decompiler.languages.java.ast.transforms.AbstractHelperClassTransform
BOOTSTRAP_ARG_OFFSET, currentType, M_DESC_AS_TYPE, M_DESC_DYNAMIC_INVOKER, M_DESC_GET_CLASS, M_DESC_INSERT_ARGUMENTS, M_DESC_INVOKE_EXACT, 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_CALL_SITE, T_DESC_CLASS, T_DESC_LOOKUP, T_DESC_METHOD_HANDLE, T_DESC_METHOD_HANDLES, T_DESC_METHOD_TYPE, T_DESC_REFLECTION_EXCEPTION, T_DESC_STRING, T_DESC_T_DESCRIPTOR, T_DESC_T_DESCRIPTOR_INNER_PREFIX, T_DESC_THROWABLE, T_DESC_THROWABLE_WRAPPER
-
Fields inherited from class com.strobel.decompiler.languages.java.ast.ContextTrackingVisitor
context
-
-
Constructor Summary
Constructors Constructor Description MethodHandleConstantRewriter(DecompilerContext context)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
run(AstNode compilationUnit)
java.lang.Void
visitBytecodeConstant(BytecodeConstant node, java.lang.Void data)
protected java.lang.Void
visitMethodHandlePlaceholder(MethodHandlePlaceholder 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, 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, 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, visitInvocationExpression, 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
-
helpers
private final java.util.Map<MethodHandle,MethodHandleConstantRewriter.LcdMHHelperBuilder> helpers
-
-
Constructor Detail
-
MethodHandleConstantRewriter
public MethodHandleConstantRewriter(DecompilerContext context)
-
-
Method Detail
-
run
public void run(AstNode compilationUnit)
- Specified by:
run
in interfaceIAstTransform
- Overrides:
run
in classContextTrackingVisitor<java.lang.Void>
-
visitBytecodeConstant
public java.lang.Void visitBytecodeConstant(BytecodeConstant node, java.lang.Void data)
- Specified by:
visitBytecodeConstant
in interfaceIAstVisitor<java.lang.Void,java.lang.Void>
- Overrides:
visitBytecodeConstant
in classDepthFirstAstVisitor<java.lang.Void,java.lang.Void>
-
visitMethodHandlePlaceholder
protected java.lang.Void visitMethodHandlePlaceholder(MethodHandlePlaceholder node, java.lang.Void data)
-
-