Modifier and Type | Field and Description |
---|---|
static Name |
NAME |
private Function |
seqConcat |
private Function |
seqDef |
private Function |
seqEmpty |
private SortDependingFunction |
seqGet |
static Name |
SEQGET_NAME |
private Function |
seqIndexOf |
private Function |
seqLen |
private Function |
seqReverse |
private Function |
seqSingleton |
private Function |
seqSub |
private Function |
values |
Constructor and Description |
---|
SeqLDT(TermServices services) |
Modifier and Type | Method and Description |
---|---|
Function |
getFunctionFor(Operator op,
Services serv,
ExecutionContext ec)
returns the function symbol for the given operation
|
Function |
getSeqConcat() |
Function |
getSeqDef() |
Function |
getSeqEmpty() |
Function |
getSeqGet(Sort instanceSort,
TermServices services) |
Function |
getSeqIndexOf() |
Function |
getSeqLen() |
Function |
getSeqReverse() |
Function |
getSeqSingleton() |
Function |
getSeqSub() |
Type |
getType(Term t) |
Function |
getValues()
Placeholder for the sequence of values observed through the execution of an enhanced for loop.
|
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
public static final Name SEQGET_NAME
private final SortDependingFunction seqGet
private final Function seqLen
private final Function seqIndexOf
private final Function seqEmpty
private final Function seqSingleton
private final Function seqConcat
private final Function seqSub
private final Function seqReverse
private final Function seqDef
private final Function values
public SeqLDT(TermServices services)
public Function getSeqGet(Sort instanceSort, TermServices services)
public Function getSeqLen()
public Function getSeqEmpty()
public Function getSeqSingleton()
public Function getSeqConcat()
public Function getSeqSub()
public Function getSeqReverse()
public Function getSeqDef()
public Function getValues()
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
public Function getSeqIndexOf()