public class ObjectTypeUsageRewriter extends AbstractExpressionRewriter implements StructuredStatementTransformer
| Modifier and Type | Field and Description |
|---|---|
private boolean |
canHaveVar |
private java.util.Map<InferredJavaType,java.lang.Boolean> |
isAnonVar |
| Constructor and Description |
|---|
ObjectTypeUsageRewriter(AnonymousClassUsage anonymousClassUsage,
ClassFile classFile) |
| Modifier and Type | Method and Description |
|---|---|
private LValue |
handleFieldVariable(FieldVariable fieldVariable) |
private Expression |
handleMemberFunction(MemberFunctionInvokation funcInv) |
private void |
markLocalVar(Expression object) |
private boolean |
needsReWrite(Expression lhsObject,
JavaTypeInstance owningClassType,
UnaryFunction<ClassFile,java.lang.Boolean> checkVisible) |
Expression |
rewriteExpression(Expression expression,
SSAIdentifiers ssaIdentifiers,
StatementContainer statementContainer,
ExpressionRewriterFlags flags) |
LValue |
rewriteExpression(LValue lValue,
SSAIdentifiers ssaIdentifiers,
StatementContainer statementContainer,
ExpressionRewriterFlags flags) |
void |
transform(Op04StructuredStatement root) |
StructuredStatement |
transform(StructuredStatement in,
StructuredScope scope) |
handleStatement, rewriteExpression, rewriteExpressionprivate final java.util.Map<InferredJavaType,java.lang.Boolean> isAnonVar
private boolean canHaveVar
public ObjectTypeUsageRewriter(AnonymousClassUsage anonymousClassUsage, ClassFile classFile)
public void transform(Op04StructuredStatement root)
public StructuredStatement transform(StructuredStatement in, StructuredScope scope)
transform in interface StructuredStatementTransformerpublic 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 boolean needsReWrite(Expression lhsObject, JavaTypeInstance owningClassType, UnaryFunction<ClassFile,java.lang.Boolean> checkVisible)
private Expression handleMemberFunction(MemberFunctionInvokation funcInv)
private LValue handleFieldVariable(FieldVariable fieldVariable)
private void markLocalVar(Expression object)