public class ArraySSAVisitor extends FixedPointAstMapVisitor
Modifier and Type | Field and Description |
---|---|
(package private) static int |
ARRAY_SUBSCRIPT_BASE |
private static int |
arrayExceptionNumber |
ArrayExpressions |
arrayExpressions |
private DynamicRegion |
dynRegion |
private GlobalArraySubscriptMap |
gsm |
private gov.nasa.jpf.vm.ThreadInfo |
ti |
firstException, instantiatedRegion, somethingChanged
eva, exprVisitor
Constructor and Description |
---|
ArraySSAVisitor(gov.nasa.jpf.vm.ThreadInfo ti,
DynamicRegion dynRegion) |
Modifier and Type | Method and Description |
---|---|
private Stmt |
createGammaStmtArray(int ref,
za.ac.sun.cs.green.expr.Expression condition,
za.ac.sun.cs.green.expr.Expression[] thenExpArr,
za.ac.sun.cs.green.expr.Expression[] elseExpArr,
java.lang.String type) |
DynamicRegion |
execute() |
private Stmt |
getIfThenElseStmt(ArrayRef arrayRef,
Stmt assignStmt) |
static Stmt |
getThrowInstruction() |
private boolean |
isUnsupportedArrayRef(ArrayRef arrayRef) |
private Stmt |
mergeArrayExpressions(za.ac.sun.cs.green.expr.Expression condition,
ArrayExpressions thenExps,
ArrayExpressions elseExps) |
static int |
nextArrayExceptionNumber() |
Stmt |
visit(ArrayLengthInstruction c) |
Stmt |
visit(ArrayLoadInstruction c) |
Stmt |
visit(ArrayStoreInstruction putIns) |
Stmt |
visit(IfThenElseStmt stmt) |
getChange, getFirstException
visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit
private static int arrayExceptionNumber
private DynamicRegion dynRegion
private gov.nasa.jpf.vm.ThreadInfo ti
static final int ARRAY_SUBSCRIPT_BASE
private GlobalArraySubscriptMap gsm
public ArrayExpressions arrayExpressions
public ArraySSAVisitor(gov.nasa.jpf.vm.ThreadInfo ti, DynamicRegion dynRegion)
public Stmt visit(ArrayLengthInstruction c)
visit
in interface AstVisitor<Stmt>
visit
in class AstMapVisitor
public Stmt visit(ArrayLoadInstruction c)
visit
in interface AstVisitor<Stmt>
visit
in class AstMapVisitor
public static Stmt getThrowInstruction()
public static int nextArrayExceptionNumber()
public Stmt visit(ArrayStoreInstruction putIns)
visit
in interface AstVisitor<Stmt>
visit
in class AstMapVisitor
private boolean isUnsupportedArrayRef(ArrayRef arrayRef)
public Stmt visit(IfThenElseStmt stmt)
visit
in interface AstVisitor<Stmt>
visit
in class AstMapVisitor
private Stmt mergeArrayExpressions(za.ac.sun.cs.green.expr.Expression condition, ArrayExpressions thenExps, ArrayExpressions elseExps)
private Stmt createGammaStmtArray(int ref, za.ac.sun.cs.green.expr.Expression condition, za.ac.sun.cs.green.expr.Expression[] thenExpArr, za.ac.sun.cs.green.expr.Expression[] elseExpArr, java.lang.String type)
public DynamicRegion execute()
execute
in class FixedPointAstMapVisitor