Modifier and Type | Field and Description |
---|---|
private Function |
allFields |
private Function |
allLocs |
private Function |
allObjects |
private Function |
arrayRange |
private Function |
createdInHeap |
private Function |
disjoint |
private Function |
elementOf |
private Function |
empty |
private Function |
freshLocs |
private Function |
infiniteUnion |
private Function |
intersect |
static Name |
NAME |
private Function |
setMinus |
private Function |
singleton |
private Function |
subset |
private Function |
union |
Constructor and Description |
---|
LocSetLDT(TermServices services) |
Modifier and Type | Method and Description |
---|---|
Function |
getAllFields() |
Function |
getAllLocs() |
Function |
getAllObjects() |
Function |
getArrayRange() |
Function |
getCreatedInHeap() |
Function |
getDisjoint() |
Function |
getElementOf() |
Function |
getEmpty() |
Function |
getFreshLocs() |
Function |
getFunctionFor(Operator op,
Services serv,
ExecutionContext ec)
returns the function symbol for the given operation
|
Function |
getInfiniteUnion() |
Function |
getIntersect() |
Function |
getSetMinus() |
Function |
getSingleton() |
Function |
getSubset() |
Type |
getType(Term t) |
Function |
getUnion() |
boolean |
hasLiteralFunction(Function f) |
boolean |
isResponsible(Operator op,
Term[] subs,
Services services,
ExecutionContext ec)
returns true if the LDT offers an operation for the given java
operator and the logic subterms
|
boolean |
isResponsible(Operator op,
Term sub,
TermServices services,
ExecutionContext ec)
returns true if the LDT offers an operation for the given
unary java operator and the logic subterms
|
boolean |
isResponsible(Operator op,
Term left,
Term right,
Services services,
ExecutionContext ec)
returns true if the LDT offers an operation for the given
binary java operator and the logic subterms
|
Term |
translateLiteral(Literal lit,
Services services)
translates a given literal to its logic counterpart
|
Expression |
translateTerm(Term t,
ExtList children,
Services services)
Is called whenever
hasLiteralFunction() returns true. |
addFunction, addFunction, addSortDependingFunction, containsFunction, functions, getNewLDTInstances, name, targetSort, toString
public static final Name NAME
private final Function empty
private final Function allLocs
private final Function singleton
private final Function union
private final Function intersect
private final Function setMinus
private final Function infiniteUnion
private final Function allFields
private final Function allObjects
private final Function arrayRange
private final Function freshLocs
private final Function elementOf
private final Function subset
private final Function disjoint
private final Function createdInHeap
public LocSetLDT(TermServices services)
public Function getEmpty()
public Function getAllLocs()
public Function getSingleton()
public Function getUnion()
public Function getIntersect()
public Function getSetMinus()
public Function getInfiniteUnion()
public Function getAllFields()
public Function getAllObjects()
public Function getArrayRange()
public Function getFreshLocs()
public Function getElementOf()
public Function getSubset()
public Function getDisjoint()
public Function getCreatedInHeap()
public boolean isResponsible(Operator op, Term[] subs, Services services, ExecutionContext ec)
LDT
isResponsible
in class LDT
op
- the de.uka.ilkd.key.java.expression.Operator to
translatesubs
- the logic subterms of the java operatorservices
- the Servicesec
- the ExecutionContext in which the expression is evaluatedpublic boolean isResponsible(Operator op, Term left, Term right, Services services, ExecutionContext ec)
LDT
isResponsible
in class LDT
op
- the de.uka.ilkd.key.java.expression.Operator to
translateleft
- the left subterm of the java operatorright
- the right subterm of the java operatorservices
- the Servicesec
- the ExecutionContext in which the expression is evaluatedpublic boolean isResponsible(Operator op, Term sub, TermServices services, ExecutionContext ec)
LDT
isResponsible
in class LDT
op
- the de.uka.ilkd.key.java.expression.Operator to
translatesub
- the logic subterms of the java operatorservices
- the Servicesec
- the ExecutionContext in which the expression is evaluatedpublic Term translateLiteral(Literal lit, Services services)
LDT
translateLiteral
in class LDT
lit
- the Literal to be translatedpublic Function getFunctionFor(Operator op, Services serv, ExecutionContext ec)
LDT
getFunctionFor
in class LDT
public boolean hasLiteralFunction(Function f)
hasLiteralFunction
in class LDT
public Expression translateTerm(Term t, ExtList children, Services services)
LDT
hasLiteralFunction()
returns true.translateTerm
in class LDT