Class SyntheticAccessorRewriter
java.lang.Object
org.benf.cfr.reader.bytecode.analysis.parse.rewriters.AbstractExpressionRewriter
org.benf.cfr.reader.bytecode.analysis.opgraph.op4rewriters.SyntheticAccessorRewriter
- All Implemented Interfaces:
Op04Rewriter, ExpressionRewriter
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate classprivate classprivate class -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final Stringprivate static final Stringprivate static final Stringprivate static final Stringprivate static final Stringprivate static final Stringprivate static final Stringprivate static final Stringprivate static final Stringprivate static final Stringprivate static final Stringprivate final DCCommonStateprivate static final Stringprivate static final Stringprivate final JavaTypeInstanceprivate final ExpressionRewriter -
Constructor Summary
ConstructorsConstructorDescriptionSyntheticAccessorRewriter(DCCommonState state, JavaTypeInstance thisClassType) -
Method Summary
Modifier and TypeMethodDescriptionprivate ExpressiongetCastFriendArg(JavaTypeInstance otherType, LocalVariable methodArg, Expression appliedArg) voidrewriteExpression(Expression expression, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags) rewriteExpression(LValue lValue, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags) private ExpressionrewriteFunctionExpression(StaticFunctionInvokation functionInvokation) private ExpressionrewriteFunctionExpression2(StaticFunctionInvokation functionInvokation) private ExpressiontryRewriteAccessor(List<StructuredStatement> structuredStatements, JavaTypeInstance otherType, List<Expression> appliedArgs, List<LocalVariable> methodArgs) private ExpressiontryRewriteFunctionCall(List<StructuredStatement> structuredStatements, JavaTypeInstance otherType, List<Expression> appliedArgs, List<LocalVariable> methodArgs) private static booleanvalidRelationship(JavaTypeInstance type1, JavaTypeInstance type2) Methods inherited from class AbstractExpressionRewriter
handleStatement, rewriteExpression, rewriteExpression
-
Field Details
-
state
-
thisClassType
-
visbilityRewriter
-
RETURN_LVALUE
- See Also:
-
MUTATION1
- See Also:
-
MUTATION2
- See Also:
-
MUTATION3
- See Also:
-
ASSIGNMENT1
- See Also:
-
PRE_INC
- See Also:
-
POST_INC
- See Also:
-
PRE_DEC
- See Also:
-
POST_DEC
- See Also:
-
SUPER_INVOKE
- See Also:
-
SUPER_RETINVOKE
- See Also:
-
STA_SUB1
- See Also:
-
STA_FUN1
- See Also:
-
-
Constructor Details
-
SyntheticAccessorRewriter
-
-
Method Details
-
rewrite
- Specified by:
rewritein interfaceOp04Rewriter
-
rewriteExpression
public Expression rewriteExpression(Expression expression, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags) - Specified by:
rewriteExpressionin interfaceExpressionRewriter- Overrides:
rewriteExpressionin classAbstractExpressionRewriter
-
rewriteExpression
public LValue rewriteExpression(LValue lValue, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags) - Specified by:
rewriteExpressionin interfaceExpressionRewriter- Overrides:
rewriteExpressionin classAbstractExpressionRewriter
-
rewriteFunctionExpression
-
validRelationship
-
rewriteFunctionExpression2
-
tryRewriteAccessor
private Expression tryRewriteAccessor(List<StructuredStatement> structuredStatements, JavaTypeInstance otherType, List<Expression> appliedArgs, List<LocalVariable> methodArgs) -
tryRewriteFunctionCall
private Expression tryRewriteFunctionCall(List<StructuredStatement> structuredStatements, JavaTypeInstance otherType, List<Expression> appliedArgs, List<LocalVariable> methodArgs) -
getCastFriendArg
private Expression getCastFriendArg(JavaTypeInstance otherType, LocalVariable methodArg, Expression appliedArg)
-