Inherits edu::mit::csail::sdg::squander::engine::ISquanderResult.
Public Member Functions | |
SquanderResult (IEvaluator eval, ForgeConverter fconv, Collection< GlobalVariable > mod) | |
ForgeProgram | program () |
LocalVariable | self () |
LocalVariable | returnVar () |
boolean | hasSolution () |
String | getTrace () |
String | getStats () |
String | unsatCore () |
boolean | findNext () |
void | restoreJavaHeap () |
Iterator< Object > | getSpecField (String specFieldName) |
Package Functions | |
public< R > R | getReturnValue () |
Private Member Functions | |
JField | getJFieldForVar (ForgeScene forgeScene, GlobalVariable mod) |
void | restoreEmpty (GlobalVariable mod) |
Object | convertForgeSetToJavaArray (ObjTupleSet ots, Class<?> arrCls) |
Private Attributes | |
final ForgeConverter | fconv |
final Collection< GlobalVariable > | modifiable |
IEvaluator | eval |
Represents the result of an analysis
Definition at line 36 of file SquanderResult.java.
edu.mit.csail.sdg.squander.engine.SquanderResult.SquanderResult | ( | IEvaluator | eval, | |
ForgeConverter | fconv, | |||
Collection< GlobalVariable > | mod | |||
) |
Definition at line 42 of file SquanderResult.java.
References edu.mit.csail.sdg.squander.engine.SquanderResult.modifiable.
Object edu.mit.csail.sdg.squander.engine.SquanderResult.convertForgeSetToJavaArray | ( | ObjTupleSet | ots, | |
Class<?> | arrCls | |||
) | [private] |
Definition at line 179 of file SquanderResult.java.
References edu.mit.csail.sdg.squander.absstate.ObjTupleSet.size(), and edu.mit.csail.sdg.squander.absstate.ObjTupleSet.tuples.
Referenced by edu.mit.csail.sdg.squander.engine.SquanderResult.getReturnValue().
boolean edu.mit.csail.sdg.squander.engine.SquanderResult.findNext | ( | ) |
Finds a different solution and updates the heap if the solution is found. Returns whether a solution was found or not.
Implements edu.mit.csail.sdg.squander.engine.ISquanderResult.
Definition at line 58 of file SquanderResult.java.
References edu.mit.csail.sdg.squander.engine.SquanderResult.eval, and edu.mit.csail.sdg.squander.engine.SquanderResult.restoreJavaHeap().
JField edu.mit.csail.sdg.squander.engine.SquanderResult.getJFieldForVar | ( | ForgeScene | forgeScene, | |
GlobalVariable | mod | |||
) | [private] |
Definition at line 165 of file SquanderResult.java.
References edu.mit.csail.sdg.squander.spec.ForgeScene.fields().
Referenced by edu.mit.csail.sdg.squander.engine.SquanderResult.restoreEmpty(), and edu.mit.csail.sdg.squander.engine.SquanderResult.restoreJavaHeap().
public<R> R edu.mit.csail.sdg.squander.engine.SquanderResult.getReturnValue | ( | ) | [package] |
Returns the Java object that is the return value of the method under Squander analysis. If the method under Squander analysis has void return type, null
is returned.
Implements edu.mit.csail.sdg.squander.engine.ISquanderResult.
Definition at line 69 of file SquanderResult.java.
References edu.mit.csail.sdg.squander.engine.SquanderResult.convertForgeSetToJavaArray(), edu.mit.csail.sdg.squander.engine.SquanderResult.eval, edu.mit.csail.sdg.squander.engine.SquanderResult.fconv, edu.mit.csail.sdg.squander.engine.ForgeConverter.forgeScene, edu.mit.csail.sdg.squander.spec.ForgeScene.global(), edu.mit.csail.sdg.squander.engine.ForgeConverter.javaScene, edu.mit.csail.sdg.squander.absstate.ObjTupleSet.join(), edu.mit.csail.sdg.squander.spec.JavaScene.method, edu.mit.csail.sdg.squander.spec.JMethod.returnType, edu.mit.csail.sdg.squander.engine.SquanderResult.returnVar(), and edu.mit.csail.sdg.squander.absstate.ObjTupleSet.tuples.
Iterator<Object> edu.mit.csail.sdg.squander.engine.SquanderResult.getSpecField | ( | String | specFieldName | ) |
Returns the value of the spec field with the given name as a sequence of objects. This works only for unary spec fields, so it shouldn't be used.
Implements edu.mit.csail.sdg.squander.engine.ISquanderResult.
Definition at line 112 of file SquanderResult.java.
References edu.mit.csail.sdg.squander.absstate.ObjTupleSet.arity, edu.mit.csail.sdg.squander.engine.SquanderResult.eval, edu.mit.csail.sdg.squander.engine.SquanderResult.fconv, edu.mit.csail.sdg.squander.engine.ForgeConverter.forgeScene, edu.mit.csail.sdg.squander.spec.ForgeScene.global(), and edu.mit.csail.sdg.squander.absstate.ObjTupleSet.tuples.
String edu.mit.csail.sdg.squander.engine.SquanderResult.getStats | ( | ) |
Optional statistics about the solving
Implements edu.mit.csail.sdg.squander.engine.ISquanderResult.
Definition at line 54 of file SquanderResult.java.
References edu.mit.csail.sdg.squander.engine.SquanderResult.eval.
String edu.mit.csail.sdg.squander.engine.SquanderResult.getTrace | ( | ) |
Optional string representation of the solution. Used for debugging purposes
Implements edu.mit.csail.sdg.squander.engine.ISquanderResult.
Definition at line 53 of file SquanderResult.java.
References edu.mit.csail.sdg.squander.engine.SquanderResult.eval.
boolean edu.mit.csail.sdg.squander.engine.SquanderResult.hasSolution | ( | ) |
Weather or not a solution was found
Implements edu.mit.csail.sdg.squander.engine.ISquanderResult.
Definition at line 52 of file SquanderResult.java.
References edu.mit.csail.sdg.squander.engine.SquanderResult.eval.
ForgeProgram edu.mit.csail.sdg.squander.engine.SquanderResult.program | ( | ) |
Definition at line 48 of file SquanderResult.java.
References edu.mit.csail.sdg.squander.engine.SquanderResult.fconv, edu.mit.csail.sdg.squander.engine.ForgeConverter.forgeScene, and edu.mit.csail.sdg.squander.spec.ForgeScene.program.
void edu.mit.csail.sdg.squander.engine.SquanderResult.restoreEmpty | ( | GlobalVariable | mod | ) | [private] |
Definition at line 169 of file SquanderResult.java.
References edu.mit.csail.sdg.squander.spec.JField.factory, edu.mit.csail.sdg.squander.engine.SquanderResult.fconv, edu.mit.csail.sdg.squander.engine.ForgeConverter.findLiteralsForType(), edu.mit.csail.sdg.squander.engine.ForgeConverter.forgeScene, edu.mit.csail.sdg.squander.engine.SquanderResult.getJFieldForVar(), and edu.mit.csail.sdg.squander.engine.ForgeConverter.lit2obj().
Referenced by edu.mit.csail.sdg.squander.engine.SquanderResult.restoreJavaHeap().
void edu.mit.csail.sdg.squander.engine.SquanderResult.restoreJavaHeap | ( | ) |
Restores the Java heap space from the given Results
that must contain valid solution. If the solution for this problem wasn't found, a runtime exception is thrown.
Implements edu.mit.csail.sdg.squander.engine.ISquanderResult.
Definition at line 87 of file SquanderResult.java.
References edu.mit.csail.sdg.squander.absstate.FieldValue.addAllTuples(), edu.mit.csail.sdg.squander.engine.SquanderResult.eval, edu.mit.csail.sdg.squander.engine.SquanderResult.fconv, edu.mit.csail.sdg.squander.engine.ForgeConverter.forgeScene, edu.mit.csail.sdg.squander.engine.SquanderResult.getJFieldForVar(), edu.mit.csail.sdg.squander.absstate.ObjTupleSet.isEmpty(), edu.mit.csail.sdg.squander.engine.SquanderResult.modifiable, edu.mit.csail.sdg.squander.engine.SquanderResult.restoreEmpty(), and edu.mit.csail.sdg.squander.absstate.ObjTupleSet.tuples.
Referenced by edu.mit.csail.sdg.squander.engine.SquanderResult.findNext().
LocalVariable edu.mit.csail.sdg.squander.engine.SquanderResult.returnVar | ( | ) |
Definition at line 50 of file SquanderResult.java.
References edu.mit.csail.sdg.squander.engine.SquanderResult.fconv, edu.mit.csail.sdg.squander.engine.ForgeConverter.forgeScene, and edu.mit.csail.sdg.squander.spec.ForgeScene.returnVar.
Referenced by edu.mit.csail.sdg.squander.engine.SquanderResult.getReturnValue().
LocalVariable edu.mit.csail.sdg.squander.engine.SquanderResult.self | ( | ) |
Definition at line 49 of file SquanderResult.java.
References edu.mit.csail.sdg.squander.engine.SquanderResult.fconv, edu.mit.csail.sdg.squander.engine.ForgeConverter.forgeScene, and edu.mit.csail.sdg.squander.spec.ForgeScene.thisVar.
String edu.mit.csail.sdg.squander.engine.SquanderResult.unsatCore | ( | ) |
Returns a string representation of the unsat core if a solution wasn't found (if known)
Implements edu.mit.csail.sdg.squander.engine.ISquanderResult.
Definition at line 56 of file SquanderResult.java.
References edu.mit.csail.sdg.squander.engine.SquanderResult.eval.
IEvaluator edu.mit.csail.sdg.squander.engine.SquanderResult.eval [private] |
Definition at line 40 of file SquanderResult.java.
Referenced by edu.mit.csail.sdg.squander.engine.SquanderResult.findNext(), edu.mit.csail.sdg.squander.engine.SquanderResult.getReturnValue(), edu.mit.csail.sdg.squander.engine.SquanderResult.getSpecField(), edu.mit.csail.sdg.squander.engine.SquanderResult.getStats(), edu.mit.csail.sdg.squander.engine.SquanderResult.getTrace(), edu.mit.csail.sdg.squander.engine.SquanderResult.hasSolution(), edu.mit.csail.sdg.squander.engine.SquanderResult.restoreJavaHeap(), and edu.mit.csail.sdg.squander.engine.SquanderResult.unsatCore().
final ForgeConverter edu.mit.csail.sdg.squander.engine.SquanderResult.fconv [private] |
Definition at line 38 of file SquanderResult.java.
Referenced by edu.mit.csail.sdg.squander.engine.SquanderResult.getReturnValue(), edu.mit.csail.sdg.squander.engine.SquanderResult.getSpecField(), edu.mit.csail.sdg.squander.engine.SquanderResult.program(), edu.mit.csail.sdg.squander.engine.SquanderResult.restoreEmpty(), edu.mit.csail.sdg.squander.engine.SquanderResult.restoreJavaHeap(), edu.mit.csail.sdg.squander.engine.SquanderResult.returnVar(), and edu.mit.csail.sdg.squander.engine.SquanderResult.self().
final Collection<GlobalVariable> edu.mit.csail.sdg.squander.engine.SquanderResult.modifiable [private] |
Definition at line 39 of file SquanderResult.java.
Referenced by edu.mit.csail.sdg.squander.engine.SquanderResult.restoreJavaHeap(), and edu.mit.csail.sdg.squander.engine.SquanderResult.SquanderResult().