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 classMethodHandleConstantRewriter.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 voidrun(AstNode compilationUnit)java.lang.VoidvisitBytecodeConstant(BytecodeConstant node, java.lang.Void data)protected java.lang.VoidvisitMethodHandlePlaceholder(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:
runin interfaceIAstTransform- Overrides:
runin classContextTrackingVisitor<java.lang.Void>
-
visitBytecodeConstant
public java.lang.Void visitBytecodeConstant(BytecodeConstant node, java.lang.Void data)
- Specified by:
visitBytecodeConstantin interfaceIAstVisitor<java.lang.Void,java.lang.Void>- Overrides:
visitBytecodeConstantin classDepthFirstAstVisitor<java.lang.Void,java.lang.Void>
-
visitMethodHandlePlaceholder
protected java.lang.Void visitMethodHandlePlaceholder(MethodHandlePlaceholder node, java.lang.Void data)
-
-