public class SyntheticAccessorRewriter extends AbstractExpressionRewriter implements Op04Rewriter
| Modifier and Type | Class and Description |
|---|---|
private class |
SyntheticAccessorRewriter.AccessorMatchCollector |
private class |
SyntheticAccessorRewriter.FuncMatchCollector |
private class |
SyntheticAccessorRewriter.VisibiliyDecreasingRewriter |
| Modifier and Type | Field and Description |
|---|---|
private static java.lang.String |
ASSIGNMENT1 |
private static java.lang.String |
MUTATION1 |
private static java.lang.String |
MUTATION2 |
private static java.lang.String |
MUTATION3 |
private static java.lang.String |
POST_DEC |
private static java.lang.String |
POST_INC |
private static java.lang.String |
PRE_DEC |
private static java.lang.String |
PRE_INC |
private static java.lang.String |
RETURN_LVALUE |
private static java.lang.String |
STA_FUN1 |
private static java.lang.String |
STA_SUB1 |
private DCCommonState |
state |
private static java.lang.String |
SUPER_INVOKE |
private static java.lang.String |
SUPER_RETINVOKE |
private JavaTypeInstance |
thisClassType |
private ExpressionRewriter |
visbilityRewriter |
| Constructor and Description |
|---|
SyntheticAccessorRewriter(DCCommonState state,
JavaTypeInstance thisClassType) |
handleStatement, rewriteExpression, rewriteExpressionprivate final DCCommonState state
private final JavaTypeInstance thisClassType
private final ExpressionRewriter visbilityRewriter
private static final java.lang.String RETURN_LVALUE
private static final java.lang.String MUTATION1
private static final java.lang.String MUTATION2
private static final java.lang.String MUTATION3
private static final java.lang.String ASSIGNMENT1
private static final java.lang.String PRE_INC
private static final java.lang.String POST_INC
private static final java.lang.String PRE_DEC
private static final java.lang.String POST_DEC
private static final java.lang.String SUPER_INVOKE
private static final java.lang.String SUPER_RETINVOKE
private static final java.lang.String STA_SUB1
private static final java.lang.String STA_FUN1
public SyntheticAccessorRewriter(DCCommonState state, JavaTypeInstance thisClassType)
public void rewrite(Op04StructuredStatement root)
rewrite in interface Op04Rewriterpublic Expression rewriteExpression(Expression expression, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
rewriteExpression in interface ExpressionRewriterrewriteExpression in class AbstractExpressionRewriterpublic LValue rewriteExpression(LValue lValue, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
rewriteExpression in interface ExpressionRewriterrewriteExpression in class AbstractExpressionRewriterprivate Expression rewriteFunctionExpression(StaticFunctionInvokation functionInvokation)
private static boolean validRelationship(JavaTypeInstance type1, JavaTypeInstance type2)
private Expression rewriteFunctionExpression2(StaticFunctionInvokation functionInvokation)
private Expression tryRewriteAccessor(java.util.List<StructuredStatement> structuredStatements, JavaTypeInstance otherType, java.util.List<Expression> appliedArgs, java.util.List<LocalVariable> methodArgs)
private Expression tryRewriteFunctionCall(java.util.List<StructuredStatement> structuredStatements, JavaTypeInstance otherType, java.util.List<Expression> appliedArgs, java.util.List<LocalVariable> methodArgs)
private Expression getCastFriendArg(JavaTypeInstance otherType, LocalVariable methodArg, Expression appliedArg)