Class PrimitiveBoxingRewriter
java.lang.Object
org.benf.cfr.reader.bytecode.analysis.opgraph.op4rewriters.PrimitiveBoxingRewriter
- All Implemented Interfaces:
ExpressionRewriter
This seems daft - why do I need to have all this boilerplate?
Why not just replace with a cast, and a function pointer.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidhandleStatement(StatementContainer statementContainer) booleanvoidremoveRedundantCastOnly(List<Expression> mutableIn) private ExpressionrewriteExpression(ConditionalExpression expression, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags) rewriteExpression(Expression expression, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags) rewriteExpression(StackSSALabel lValue, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags) rewriteExpression(LValue lValue, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags) sugarNonParameterBoxing(Expression in, JavaTypeInstance tgtType) sugarParameterBoxing(Expression in, int argIdx, OverloadMethodSet possibleMethods, GenericTypeBinder gtb, MethodPrototype methodPrototype)
-
Constructor Details
-
PrimitiveBoxingRewriter
public PrimitiveBoxingRewriter()
-
-
Method Details
-
handleStatement
- Specified by:
handleStatementin interfaceExpressionRewriter
-
rewriteExpression
public Expression rewriteExpression(Expression expression, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags) - Specified by:
rewriteExpressionin interfaceExpressionRewriter
-
rewriteExpression
public ConditionalExpression rewriteExpression(ConditionalExpression expression, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags) - Specified by:
rewriteExpressionin interfaceExpressionRewriter
-
rewriteExpression
public LValue rewriteExpression(LValue lValue, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags) - Specified by:
rewriteExpressionin interfaceExpressionRewriter
-
rewriteExpression
public StackSSALabel rewriteExpression(StackSSALabel lValue, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags) - Specified by:
rewriteExpressionin interfaceExpressionRewriter
-
sugarParameterBoxing
public Expression sugarParameterBoxing(Expression in, int argIdx, OverloadMethodSet possibleMethods, GenericTypeBinder gtb, MethodPrototype methodPrototype) -
removeRedundantCastOnly
-
removeRedundantCastOnly
-
sugarNonParameterBoxing
-
sugarUnboxing
-
isUnboxedType
-