Class RetroLambdaRewriter
- java.lang.Object
-
- org.benf.cfr.reader.bytecode.analysis.parse.rewriters.AbstractExpressionRewriter
-
- org.benf.cfr.reader.bytecode.analysis.opgraph.op4rewriters.RetroLambdaRewriter
-
- All Implemented Interfaces:
ExpressionRewriter
public class RetroLambdaRewriter extends AbstractExpressionRewriter
-
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.String
getLambdaName
private static java.lang.String
lambdaFactoryLabel
private ClassFile
mainClazz
private DCCommonState
state
-
Constructor Summary
Constructors Constructor Description RetroLambdaRewriter(DCCommonState state, ClassFile mainClazz)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private StaticFunctionInvokation
check3(Method method)
private Expression
considerCandidateInvokation(StaticFunctionInvokation sf)
private Expression
getFullLambdaBody(Method mainLambdaIndirect)
private Method
getMainLambdaIndirect(StaticFunctionInvokation m2callReal)
static void
rewrite(ClassFile classFile, DCCommonState state)
private static void
rewrite(Method m, ClassFile classFile, DCCommonState state)
Expression
rewriteExpression(Expression expression, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
-
Methods inherited from class org.benf.cfr.reader.bytecode.analysis.parse.rewriters.AbstractExpressionRewriter
handleStatement, rewriteExpression, rewriteExpression, rewriteExpression
-
-
-
-
Field Detail
-
state
private final DCCommonState state
-
mainClazz
private final ClassFile mainClazz
-
lambdaFactoryLabel
private static final java.lang.String lambdaFactoryLabel
- See Also:
- Constant Field Values
-
getLambdaName
private static final java.lang.String getLambdaName
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
RetroLambdaRewriter
public RetroLambdaRewriter(DCCommonState state, ClassFile mainClazz)
-
-
Method Detail
-
rewrite
public static void rewrite(ClassFile classFile, DCCommonState state)
-
rewrite
private static void rewrite(Method m, ClassFile classFile, DCCommonState state)
-
rewriteExpression
public Expression rewriteExpression(Expression expression, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
- Specified by:
rewriteExpression
in interfaceExpressionRewriter
- Overrides:
rewriteExpression
in classAbstractExpressionRewriter
-
considerCandidateInvokation
private Expression considerCandidateInvokation(StaticFunctionInvokation sf)
-
check3
private StaticFunctionInvokation check3(Method method)
-
getFullLambdaBody
private Expression getFullLambdaBody(Method mainLambdaIndirect)
-
getMainLambdaIndirect
private Method getMainLambdaIndirect(StaticFunctionInvokation m2callReal)
-
-