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 TypeMethodDescriptionvoid
handleStatement
(StatementContainer statementContainer) boolean
void
removeRedundantCastOnly
(List<Expression> mutableIn) private Expression
rewriteExpression
(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:
handleStatement
in interfaceExpressionRewriter
-
rewriteExpression
public Expression rewriteExpression(Expression expression, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags) - Specified by:
rewriteExpression
in interfaceExpressionRewriter
-
rewriteExpression
public ConditionalExpression rewriteExpression(ConditionalExpression expression, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags) - Specified by:
rewriteExpression
in interfaceExpressionRewriter
-
rewriteExpression
public LValue rewriteExpression(LValue lValue, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags) - Specified by:
rewriteExpression
in interfaceExpressionRewriter
-
rewriteExpression
public StackSSALabel rewriteExpression(StackSSALabel lValue, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags) - Specified by:
rewriteExpression
in interfaceExpressionRewriter
-
sugarParameterBoxing
public Expression sugarParameterBoxing(Expression in, int argIdx, OverloadMethodSet possibleMethods, GenericTypeBinder gtb, MethodPrototype methodPrototype) -
removeRedundantCastOnly
-
removeRedundantCastOnly
-
sugarNonParameterBoxing
-
sugarUnboxing
-
isUnboxedType
-