Class StackVarToLocalRewriter
- java.lang.Object
-
- org.benf.cfr.reader.bytecode.analysis.parse.rewriters.StackVarToLocalRewriter
-
- All Implemented Interfaces:
ExpressionRewriter
public class StackVarToLocalRewriter extends java.lang.Object implements ExpressionRewriter
-
-
Field Summary
Fields Modifier and Type Field Description private int
idx
private java.util.Map<StackSSALabel,LocalVariable>
replacements
-
Constructor Summary
Constructors Constructor Description StackVarToLocalRewriter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private LocalVariable
getReplacement(StackSSALabel stackSSALabel)
void
handleStatement(StatementContainer statementContainer)
ConditionalExpression
rewriteExpression(ConditionalExpression expression, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
Expression
rewriteExpression(Expression expression, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
StackSSALabel
rewriteExpression(StackSSALabel lValue, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
LValue
rewriteExpression(LValue lValue, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
-
-
-
Field Detail
-
replacements
private final java.util.Map<StackSSALabel,LocalVariable> replacements
-
idx
private int idx
-
-
Method Detail
-
handleStatement
public void handleStatement(StatementContainer statementContainer)
- 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
-
getReplacement
private LocalVariable getReplacement(StackSSALabel stackSSALabel)
-
-