public class FunctionalOperationContractImpl extends java.lang.Object implements FunctionalOperationContract
Contract.OriginalVariables| Modifier and Type | Field and Description |
|---|---|
(package private) java.lang.String |
baseName |
(package private) Term |
globalDefs |
(package private) java.util.Map<LocationVariable,java.lang.Boolean> |
hasRealModifiesClause
If a method is strictly pure, it has no modifies clause which could
be anonymised.
|
(package private) int |
id |
(package private) KeYJavaType |
kjt |
(package private) Modality |
modality |
(package private) java.lang.String |
name |
(package private) java.util.Map<LocationVariable,LocationVariable> |
originalAtPreVars |
(package private) java.util.Map<LocationVariable,Term> |
originalAxioms |
(package private) java.util.Map<ProgramVariable,Term> |
originalDeps |
(package private) ProgramVariable |
originalExcVar |
(package private) java.util.Map<LocationVariable,Term> |
originalFreePosts |
(package private) java.util.Map<LocationVariable,Term> |
originalFreePres |
(package private) Term |
originalMby |
(package private) java.util.Map<LocationVariable,Term> |
originalMods |
(package private) ImmutableList<ProgramVariable> |
originalParamVars |
(package private) java.util.Map<LocationVariable,Term> |
originalPosts |
(package private) java.util.Map<LocationVariable,Term> |
originalPres |
(package private) ProgramVariable |
originalResultVar |
(package private) ProgramVariable |
originalSelfVar |
(package private) IProgramMethod |
pm |
private TermServices |
services |
(package private) KeYJavaType |
specifiedIn |
protected TermBuilder |
TB |
(package private) boolean |
toBeSaved |
(package private) boolean |
transaction |
INVALID_ID| Constructor and Description |
|---|
FunctionalOperationContractImpl(java.lang.String baseName,
java.lang.String name,
KeYJavaType kjt,
IProgramMethod pm,
KeYJavaType specifiedIn,
Modality modality,
java.util.Map<LocationVariable,Term> pres,
java.util.Map<LocationVariable,Term> freePres,
Term mby,
java.util.Map<LocationVariable,Term> posts,
java.util.Map<LocationVariable,Term> freePosts,
java.util.Map<LocationVariable,Term> axioms,
java.util.Map<LocationVariable,Term> mods,
java.util.Map<ProgramVariable,Term> accessibles,
java.util.Map<LocationVariable,java.lang.Boolean> hasRealMod,
ProgramVariable selfVar,
ImmutableList<ProgramVariable> paramVars,
ProgramVariable resultVar,
ProgramVariable excVar,
java.util.Map<LocationVariable,LocationVariable> atPreVars,
Term globalDefs,
int id,
boolean toBeSaved,
boolean transaction,
TermServices services)
Creates an operation contract.
|
| Modifier and Type | Method and Description |
|---|---|
private ImmutableList<ProgramVariable> |
addGhostParams(ImmutableList<ProgramVariable> paramVars)
Make sure ghost parameters appear in the list of parameter variables.
|
private ImmutableList<Term> |
addGhostParamTerms(ImmutableList<Term> paramVars)
Make sure ghost parameters appear in the list of parameter variables.
|
ContractPO |
createProofObl(InitConfig initConfig)
Returns a proof obligation to the passed initConfig.
|
ProofOblInput |
createProofObl(InitConfig initConfig,
Contract contract)
Returns a proof obligation to the passed contract and initConfig.
|
ProofOblInput |
createProofObl(InitConfig initConfig,
Contract contract,
boolean addSymbolicExecutionLabel)
Returns a proof obligation to the passed contract and initConfig.
|
Term |
getAccessible(ProgramVariable heap) |
private Term |
getAnyMod(LocationVariable heap,
Term mod,
Term heapTerm,
Term selfTerm,
ImmutableList<Term> paramTerms,
Services services) |
Term |
getAnyMod(Term mod,
ProgramVariable selfVar,
ImmutableList<ProgramVariable> paramVars,
Services services) |
Term |
getAssignable(LocationVariable heap) |
java.lang.String |
getBaseName() |
Term |
getDep(LocationVariable heap,
boolean atPre,
ProgramVariable selfVar,
ImmutableList<ProgramVariable> paramVars,
java.util.Map<LocationVariable,? extends ProgramVariable> atPreVars,
Services services)
Returns the dependency set of the contract.
|
Term |
getDep(LocationVariable heap,
boolean atPre,
Term heapTerm,
Term selfTerm,
ImmutableList<Term> paramTerms,
java.util.Map<LocationVariable,Term> atPres,
Services services)
Returns the dependency set of the contract.
|
java.lang.String |
getDisplayName()
Returns the displayed name.
|
Term |
getEnsures(LocationVariable heap) |
Term |
getExc() |
Term |
getFreePost(java.util.List<LocationVariable> heapContext,
java.util.Map<LocationVariable,Term> heapTerms,
Term selfTerm,
ImmutableList<Term> paramTerms,
Term resultTerm,
Term excTerm,
java.util.Map<LocationVariable,Term> atPres,
Services services) |
Term |
getFreePost(LocationVariable heap,
ProgramVariable selfVar,
ImmutableList<ProgramVariable> paramVars,
ProgramVariable resultVar,
ProgramVariable excVar,
java.util.Map<LocationVariable,? extends ProgramVariable> atPreVars,
Services services) |
Term |
getFreePost(LocationVariable heap,
Term heapTerm,
Term selfTerm,
ImmutableList<Term> paramTerms,
Term resultTerm,
Term excTerm,
java.util.Map<LocationVariable,Term> atPres,
Services services) |
Term |
getFreePre(java.util.List<LocationVariable> heapContext,
ProgramVariable selfVar,
ImmutableList<ProgramVariable> paramVars,
java.util.Map<LocationVariable,? extends ProgramVariable> atPreVars,
Services services) |
Term |
getFreePre(LocationVariable heap,
ProgramVariable selfVar,
ImmutableList<ProgramVariable> paramVars,
java.util.Map<LocationVariable,? extends ProgramVariable> atPreVars,
Services services) |
Term |
getFreePre(LocationVariable heap,
Term heapTerm,
Term selfTerm,
ImmutableList<Term> paramTerms,
java.util.Map<LocationVariable,Term> atPres,
Services services) |
Term |
getGlobalDefs() |
Term |
getGlobalDefs(LocationVariable heap,
Term heapTerm,
Term selfTerm,
ImmutableList<Term> paramTerms,
Services services) |
java.lang.String |
getHTMLText(Services services)
Returns the contract in pretty HTML format.
|
KeYJavaType |
getKJT()
Returns the KeYJavaType representing the class/interface to which the
specification element belongs.
|
Term |
getMby() |
Term |
getMby(java.util.Map<LocationVariable,Term> heapTerms,
Term selfTerm,
ImmutableList<Term> paramTerms,
java.util.Map<LocationVariable,Term> atPres,
Services services)
Returns the measured_by clause of the contract.
|
Term |
getMby(ProgramVariable selfVar,
ImmutableList<ProgramVariable> paramVars,
Services services)
Returns the measured_by clause of the contract.
|
Term |
getMod() |
Term |
getMod(LocationVariable heap,
ProgramVariable selfVar,
ImmutableList<ProgramVariable> paramVars,
Services services)
Returns the modifies clause of the contract.
|
Term |
getMod(LocationVariable heap,
Term heapTerm,
Term selfTerm,
ImmutableList<Term> paramTerms,
Services services)
Returns the modifies clause of the contract.
|
Modality |
getModality()
Returns the modality of the contract.
|
java.lang.String |
getName()
Returns the unique internal name of the specification element.
|
Contract.OriginalVariables |
getOrigVars()
Returns the original ProgramVariables to replace them easier.
|
ImmutableList<Term> |
getParams() |
java.lang.String |
getPlainText(Services services)
Returns the contract in pretty plain text format.
|
Term |
getPost() |
Term |
getPost(java.util.List<LocationVariable> heapContext,
java.util.Map<LocationVariable,Term> heapTerms,
Term selfTerm,
ImmutableList<Term> paramTerms,
Term resultTerm,
Term excTerm,
java.util.Map<LocationVariable,Term> atPres,
Services services) |
Term |
getPost(java.util.List<LocationVariable> heapContext,
ProgramVariable selfVar,
ImmutableList<ProgramVariable> paramVars,
ProgramVariable resultVar,
ProgramVariable excVar,
java.util.Map<LocationVariable,? extends ProgramVariable> atPreVars,
Services services) |
Term |
getPost(LocationVariable heap,
ProgramVariable selfVar,
ImmutableList<ProgramVariable> paramVars,
ProgramVariable resultVar,
ProgramVariable excVar,
java.util.Map<LocationVariable,? extends ProgramVariable> atPreVars,
Services services)
Returns the postcondition of the contract.
|
Term |
getPost(LocationVariable heap,
Term heapTerm,
Term selfTerm,
ImmutableList<Term> paramTerms,
Term resultTerm,
Term excTerm,
java.util.Map<LocationVariable,Term> atPres,
Services services)
Returns the postcondition of the contract.
|
Term |
getPre() |
Term |
getPre(java.util.List<LocationVariable> heapContext,
java.util.Map<LocationVariable,Term> heapTerms,
Term selfTerm,
ImmutableList<Term> paramTerms,
java.util.Map<LocationVariable,Term> atPres,
Services services)
Returns the precondition of the contract.
|
Term |
getPre(java.util.List<LocationVariable> heapContext,
ProgramVariable selfVar,
ImmutableList<ProgramVariable> paramVars,
java.util.Map<LocationVariable,? extends ProgramVariable> atPreVars,
Services services)
Returns the precondition of the contract.
|
Term |
getPre(LocationVariable heap,
ProgramVariable selfVar,
ImmutableList<ProgramVariable> paramVars,
java.util.Map<LocationVariable,? extends ProgramVariable> atPreVars,
Services services)
Returns the precondition of the contract.
|
Term |
getPre(LocationVariable heap,
Term heapTerm,
Term selfTerm,
ImmutableList<Term> paramTerms,
java.util.Map<LocationVariable,Term> atPres,
Services services)
Returns the precondition of the contract.
|
ProofOblInput |
getProofObl(Services services)
Lookup the proof obligation belonging to the contract in the specification repository.
|
protected java.util.Map<Term,Term> |
getReplaceMap(LocationVariable heap,
Term heapTerm,
Term selfTerm,
ImmutableList<Term> paramTerms,
Services services)
Deprecated.
|
protected java.util.Map<Term,Term> |
getReplaceMap(LocationVariable heap,
Term heapTerm,
Term selfTerm,
ImmutableList<Term> paramTerms,
Term resultTerm,
Term excTerm,
Term atPre,
Services services)
Deprecated.
|
protected java.util.Map<Term,Term> |
getReplaceMap(java.util.Map<LocationVariable,Term> heapTerms,
Term selfTerm,
ImmutableList<Term> paramTerms,
Term resultTerm,
Term excTerm,
java.util.Map<LocationVariable,Term> atPres,
Services services) |
protected java.util.Map<ProgramVariable,ProgramVariable> |
getReplaceMap(ProgramVariable selfVar,
ImmutableList<ProgramVariable> paramVars,
ProgramVariable resultVar,
ProgramVariable excVar,
java.util.Map<LocationVariable,? extends ProgramVariable> atPreVars,
Services services) |
Term |
getRepresentsAxiom(LocationVariable heap,
ProgramVariable selfVar,
ImmutableList<ProgramVariable> paramVars,
ProgramVariable resultVar,
java.util.Map<LocationVariable,? extends ProgramVariable> atPreVars,
Services services)
Returns the model method definition for model method contracts
|
Term |
getRepresentsAxiom(LocationVariable heap,
Term heapTerm,
Term selfTerm,
ImmutableList<Term> paramTerms,
Term resultTerm,
Term excTerm,
java.util.Map<LocationVariable,Term> atPres,
Services services) |
Term |
getRequires(LocationVariable heap) |
Term |
getResult() |
Term |
getSelf() |
KeYJavaType |
getSpecifiedIn() |
IProgramMethod |
getTarget()
Returns the contracted function symbol.
|
private java.lang.String |
getText(boolean includeHtmlMarkup,
Services services) |
static java.lang.String |
getText(FunctionalOperationContract contract,
ImmutableList<Term> contractParams,
Term resultTerm,
Term contractSelf,
Term excTerm,
LocationVariable baseHeap,
Term baseHeapTerm,
java.util.List<LocationVariable> heapContext,
java.util.Map<LocationVariable,Term> atPres,
boolean includeHtmlMarkup,
Services services,
boolean usePrettyPrinting,
boolean useUnicodeSymbols) |
private static java.lang.String |
getText(IProgramMethod pm,
Operator originalResultVar,
Operator originalSelfVar,
ImmutableList<? extends SVSubstitute> originalParamVars,
ProgramVariable originalExcVar,
boolean hasMby,
Term originalMby,
java.util.Map<LocationVariable,Term> originalMods,
java.util.Map<LocationVariable,java.lang.Boolean> hasRealModifiesClause,
Term globalDefs,
java.util.Map<LocationVariable,Term> originalPres,
java.util.Map<LocationVariable,Term> originalFreePres,
java.util.Map<LocationVariable,Term> originalPosts,
java.util.Map<LocationVariable,Term> originalFreePosts,
java.util.Map<LocationVariable,Term> originalAxioms,
Modality modality,
boolean transaction,
boolean includeHtmlMarkup,
Services services,
boolean usePrettyPrinting,
boolean useUnicodeSymbols) |
java.lang.String |
getTypeName()
Returns technical name for the contract type.
|
VisibilityModifier |
getVisibility()
Returns the visibility of the invariant (null for default visibility)
|
boolean |
hasMby()
Tells whether the contract contains a measured_by clause.
|
boolean |
hasModifiesClause(LocationVariable heap)
Returns
true iff the method (according to the contract) does
not modify the heap at all, i.e., iff it is "strictly pure." |
boolean |
hasResultVar() |
boolean |
hasSelfVar()
Checks if a self variable is originally provided.
|
int |
id()
Returns the id number of the contract.
|
boolean |
isReadOnlyContract(Services services) |
java.lang.String |
proofToString(Services services)
Returns a parseable String representation of the contract.
|
FunctionalOperationContract |
setID(int newId)
Returns a contract which is identical this contract except that the id is set to the new id.
|
Contract |
setTarget(KeYJavaType newKJT,
IObserverFunction newPM)
Returns a contract which is identical to this contract except that the KeYJavaType and
IObserverFunction are set to the new values.
|
boolean |
toBeSaved()
Tells whether, on saving a proof where this contract is available, the contract should be
saved too.
|
java.lang.String |
toString() |
boolean |
transactionApplicableContract() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitisAuxiliaryprotected final TermBuilder TB
private final TermServices services
final java.lang.String baseName
final java.lang.String name
final KeYJavaType kjt
final IProgramMethod pm
final KeYJavaType specifiedIn
final Modality modality
final java.util.Map<LocationVariable,Term> originalPres
final java.util.Map<LocationVariable,Term> originalFreePres
final Term originalMby
final java.util.Map<LocationVariable,Term> originalPosts
final java.util.Map<LocationVariable,Term> originalFreePosts
final java.util.Map<LocationVariable,Term> originalAxioms
final java.util.Map<LocationVariable,Term> originalMods
final java.util.Map<ProgramVariable,Term> originalDeps
final ProgramVariable originalSelfVar
final ImmutableList<ProgramVariable> originalParamVars
final ProgramVariable originalResultVar
final ProgramVariable originalExcVar
final java.util.Map<LocationVariable,LocationVariable> originalAtPreVars
final Term globalDefs
final int id
final boolean transaction
final boolean toBeSaved
final java.util.Map<LocationVariable,java.lang.Boolean> hasRealModifiesClause
#hasModifiesClause()FunctionalOperationContractImpl(java.lang.String baseName,
java.lang.String name,
KeYJavaType kjt,
IProgramMethod pm,
KeYJavaType specifiedIn,
Modality modality,
java.util.Map<LocationVariable,Term> pres,
java.util.Map<LocationVariable,Term> freePres,
Term mby,
java.util.Map<LocationVariable,Term> posts,
java.util.Map<LocationVariable,Term> freePosts,
java.util.Map<LocationVariable,Term> axioms,
java.util.Map<LocationVariable,Term> mods,
java.util.Map<ProgramVariable,Term> accessibles,
java.util.Map<LocationVariable,java.lang.Boolean> hasRealMod,
ProgramVariable selfVar,
ImmutableList<ProgramVariable> paramVars,
ProgramVariable resultVar,
ProgramVariable excVar,
java.util.Map<LocationVariable,LocationVariable> atPreVars,
Term globalDefs,
int id,
boolean toBeSaved,
boolean transaction,
TermServices services)
ContractFactory.baseName - base name of the contract (does not have to be unique)pm - the IProgramMethod to which the contract belongsmodality - the modality of the contractmby - the measured_by clause of the contractselfVar - the variable used for the receiver objectparamVars - the variables used for the operation parametersresultVar - the variables used for the operation resultexcVar - the variable used for the thrown exceptionglobalDefs - definitions for the whole contractservices - TODOpre - the precondition of the contractpost - the postcondition of the contractmod - the modifies clause of the contractheapAtPreVar - the variable used for the pre-heapprotected java.util.Map<ProgramVariable,ProgramVariable> getReplaceMap(ProgramVariable selfVar, ImmutableList<ProgramVariable> paramVars, ProgramVariable resultVar, ProgramVariable excVar, java.util.Map<LocationVariable,? extends ProgramVariable> atPreVars, Services services)
@Deprecated protected java.util.Map<Term,Term> getReplaceMap(LocationVariable heap, Term heapTerm, Term selfTerm, ImmutableList<Term> paramTerms, Services services)
@Deprecated protected java.util.Map<Term,Term> getReplaceMap(LocationVariable heap, Term heapTerm, Term selfTerm, ImmutableList<Term> paramTerms, Term resultTerm, Term excTerm, Term atPre, Services services)
protected java.util.Map<Term,Term> getReplaceMap(java.util.Map<LocationVariable,Term> heapTerms, Term selfTerm, ImmutableList<Term> paramTerms, Term resultTerm, Term excTerm, java.util.Map<LocationVariable,Term> atPres, Services services)
private ImmutableList<ProgramVariable> addGhostParams(ImmutableList<ProgramVariable> paramVars)
private ImmutableList<Term> addGhostParamTerms(ImmutableList<Term> paramVars)
public java.lang.String getName()
SpecificationElementgetName in interface SpecificationElementpublic int id()
Contractpublic KeYJavaType getKJT()
SpecificationElementgetKJT in interface SpecificationElementpublic IProgramMethod getTarget()
ContractgetTarget in interface ContractgetTarget in interface OperationContractpublic boolean hasMby()
Contractpublic Term getPre(LocationVariable heap, ProgramVariable selfVar, ImmutableList<ProgramVariable> paramVars, java.util.Map<LocationVariable,? extends ProgramVariable> atPreVars, Services services)
Contractpublic Term getPre(java.util.List<LocationVariable> heapContext, ProgramVariable selfVar, ImmutableList<ProgramVariable> paramVars, java.util.Map<LocationVariable,? extends ProgramVariable> atPreVars, Services services)
Contractpublic Term getPre(LocationVariable heap, Term heapTerm, Term selfTerm, ImmutableList<Term> paramTerms, java.util.Map<LocationVariable,Term> atPres, Services services)
Contractpublic Term getPre(java.util.List<LocationVariable> heapContext, java.util.Map<LocationVariable,Term> heapTerms, Term selfTerm, ImmutableList<Term> paramTerms, java.util.Map<LocationVariable,Term> atPres, Services services)
Contractpublic Term getFreePre(LocationVariable heap, ProgramVariable selfVar, ImmutableList<ProgramVariable> paramVars, java.util.Map<LocationVariable,? extends ProgramVariable> atPreVars, Services services)
getFreePre in interface OperationContractpublic Term getFreePre(java.util.List<LocationVariable> heapContext, ProgramVariable selfVar, ImmutableList<ProgramVariable> paramVars, java.util.Map<LocationVariable,? extends ProgramVariable> atPreVars, Services services)
getFreePre in interface OperationContractpublic Term getFreePre(LocationVariable heap, Term heapTerm, Term selfTerm, ImmutableList<Term> paramTerms, java.util.Map<LocationVariable,Term> atPres, Services services)
getFreePre in interface OperationContractpublic Term getRequires(LocationVariable heap)
getRequires in interface Contractpublic Term getEnsures(LocationVariable heap)
getEnsures in interface FunctionalOperationContractpublic Term getAssignable(LocationVariable heap)
getAssignable in interface Contractpublic Term getAccessible(ProgramVariable heap)
getAccessible in interface Contractpublic Term getMby(ProgramVariable selfVar, ImmutableList<ProgramVariable> paramVars, Services services)
Contractpublic Term getMby(java.util.Map<LocationVariable,Term> heapTerms, Term selfTerm, ImmutableList<Term> paramTerms, java.util.Map<LocationVariable,Term> atPres, Services services)
Contractpublic java.lang.String getPlainText(Services services)
ContractgetPlainText in interface Contractservices - services instancepublic java.lang.String getHTMLText(Services services)
ContractgetHTMLText in interface Contractservices - services instanceprivate java.lang.String getText(boolean includeHtmlMarkup,
Services services)
public static java.lang.String getText(FunctionalOperationContract contract, ImmutableList<Term> contractParams, Term resultTerm, Term contractSelf, Term excTerm, LocationVariable baseHeap, Term baseHeapTerm, java.util.List<LocationVariable> heapContext, java.util.Map<LocationVariable,Term> atPres, boolean includeHtmlMarkup, Services services, boolean usePrettyPrinting, boolean useUnicodeSymbols)
private static java.lang.String getText(IProgramMethod pm, Operator originalResultVar, Operator originalSelfVar, ImmutableList<? extends SVSubstitute> originalParamVars, ProgramVariable originalExcVar, boolean hasMby, Term originalMby, java.util.Map<LocationVariable,Term> originalMods, java.util.Map<LocationVariable,java.lang.Boolean> hasRealModifiesClause, Term globalDefs, java.util.Map<LocationVariable,Term> originalPres, java.util.Map<LocationVariable,Term> originalFreePres, java.util.Map<LocationVariable,Term> originalPosts, java.util.Map<LocationVariable,Term> originalFreePosts, java.util.Map<LocationVariable,Term> originalAxioms, Modality modality, boolean transaction, boolean includeHtmlMarkup, Services services, boolean usePrettyPrinting, boolean useUnicodeSymbols)
public boolean toBeSaved()
Contractpublic java.lang.String proofToString(Services services)
ContractproofToString in interface Contractservices - the services instancepublic Modality getModality()
FunctionalOperationContractgetModality in interface FunctionalOperationContractpublic Term getPost(LocationVariable heap, ProgramVariable selfVar, ImmutableList<ProgramVariable> paramVars, ProgramVariable resultVar, ProgramVariable excVar, java.util.Map<LocationVariable,? extends ProgramVariable> atPreVars, Services services)
FunctionalOperationContractgetPost in interface FunctionalOperationContractpublic Term getPost(java.util.List<LocationVariable> heapContext, ProgramVariable selfVar, ImmutableList<ProgramVariable> paramVars, ProgramVariable resultVar, ProgramVariable excVar, java.util.Map<LocationVariable,? extends ProgramVariable> atPreVars, Services services)
getPost in interface FunctionalOperationContractpublic Term getPost(LocationVariable heap, Term heapTerm, Term selfTerm, ImmutableList<Term> paramTerms, Term resultTerm, Term excTerm, java.util.Map<LocationVariable,Term> atPres, Services services)
FunctionalOperationContractgetPost in interface FunctionalOperationContractpublic Term getPost(java.util.List<LocationVariable> heapContext, java.util.Map<LocationVariable,Term> heapTerms, Term selfTerm, ImmutableList<Term> paramTerms, Term resultTerm, Term excTerm, java.util.Map<LocationVariable,Term> atPres, Services services)
getPost in interface FunctionalOperationContractpublic Term getFreePost(LocationVariable heap, ProgramVariable selfVar, ImmutableList<ProgramVariable> paramVars, ProgramVariable resultVar, ProgramVariable excVar, java.util.Map<LocationVariable,? extends ProgramVariable> atPreVars, Services services)
getFreePost in interface FunctionalOperationContractpublic Term getFreePost(LocationVariable heap, Term heapTerm, Term selfTerm, ImmutableList<Term> paramTerms, Term resultTerm, Term excTerm, java.util.Map<LocationVariable,Term> atPres, Services services)
getFreePost in interface FunctionalOperationContractpublic Term getFreePost(java.util.List<LocationVariable> heapContext, java.util.Map<LocationVariable,Term> heapTerms, Term selfTerm, ImmutableList<Term> paramTerms, Term resultTerm, Term excTerm, java.util.Map<LocationVariable,Term> atPres, Services services)
getFreePost in interface FunctionalOperationContractpublic Term getRepresentsAxiom(LocationVariable heap, ProgramVariable selfVar, ImmutableList<ProgramVariable> paramVars, ProgramVariable resultVar, java.util.Map<LocationVariable,? extends ProgramVariable> atPreVars, Services services)
FunctionalOperationContractgetRepresentsAxiom in interface FunctionalOperationContractpublic Term getRepresentsAxiom(LocationVariable heap, Term heapTerm, Term selfTerm, ImmutableList<Term> paramTerms, Term resultTerm, Term excTerm, java.util.Map<LocationVariable,Term> atPres, Services services)
getRepresentsAxiom in interface FunctionalOperationContractpublic boolean isReadOnlyContract(Services services)
isReadOnlyContract in interface FunctionalOperationContractpublic Term getAnyMod(Term mod, ProgramVariable selfVar, ImmutableList<ProgramVariable> paramVars, Services services)
public Term getMod(LocationVariable heap, ProgramVariable selfVar, ImmutableList<ProgramVariable> paramVars, Services services)
OperationContractgetMod in interface OperationContractprivate Term getAnyMod(LocationVariable heap, Term mod, Term heapTerm, Term selfTerm, ImmutableList<Term> paramTerms, Services services)
public boolean hasModifiesClause(LocationVariable heap)
OperationContracttrue iff the method (according to the contract) does
not modify the heap at all, i.e., iff it is "strictly pure."hasModifiesClause in interface OperationContractpublic Term getMod(LocationVariable heap, Term heapTerm, Term selfTerm, ImmutableList<Term> paramTerms, Services services)
OperationContractgetMod in interface OperationContractpublic Term getDep(LocationVariable heap, boolean atPre, ProgramVariable selfVar, ImmutableList<ProgramVariable> paramVars, java.util.Map<LocationVariable,? extends ProgramVariable> atPreVars, Services services)
Contractpublic Term getDep(LocationVariable heap, boolean atPre, Term heapTerm, Term selfTerm, ImmutableList<Term> paramTerms, java.util.Map<LocationVariable,Term> atPres, Services services)
ContractgetDep in interface Contractheap - the heap variableatPre - boolean whether old heap should be usedheapTerm - the heap variable termselfTerm - term of self variableparamTerms - terms of parameter variablesatPres - terms of variables at previous heapservices - services objectpublic Term getGlobalDefs()
getGlobalDefs in interface Contractpublic Term getGlobalDefs(LocationVariable heap, Term heapTerm, Term selfTerm, ImmutableList<Term> paramTerms, Services services)
getGlobalDefs in interface Contractpublic java.lang.String toString()
toString in class java.lang.Objectpublic final ContractPO createProofObl(InitConfig initConfig)
ContractcreateProofObl in interface ContractinitConfig - the initial configurationpublic ProofOblInput getProofObl(Services services)
ContractgetProofObl in interface Contractservices - the services instancepublic ProofOblInput createProofObl(InitConfig initConfig, Contract contract)
ContractcreateProofObl in interface ContractinitConfig - the initial configurationcontract - the contractpublic ProofOblInput createProofObl(InitConfig initConfig, Contract contract, boolean addSymbolicExecutionLabel)
ContractcreateProofObl in interface ContractinitConfig - the initial configurationcontract - the contractaddSymbolicExecutionLabel - boolean saying whether symbolic execution api is supportedpublic java.lang.String getDisplayName()
SpecificationElementgetDisplayName in interface SpecificationElementpublic VisibilityModifier getVisibility()
SpecificationElementgetVisibility in interface SpecificationElementpublic boolean transactionApplicableContract()
transactionApplicableContract in interface Contractpublic FunctionalOperationContract setID(int newId)
Contractpublic Contract setTarget(KeYJavaType newKJT, IObserverFunction newPM)
Contractpublic java.lang.String getTypeName()
ContractgetTypeName in interface Contractpublic boolean hasSelfVar()
ContracthasSelfVar in interface Contracttrue self variable is originally provided, false no self variable
available.public java.lang.String getBaseName()
getBaseName in interface FunctionalOperationContractpublic Term getPre()
getPre in interface FunctionalOperationContractpublic Term getPost()
getPost in interface FunctionalOperationContractpublic Term getMod()
getMod in interface FunctionalOperationContractpublic Term getMby()
getMby in interface ContractgetMby in interface FunctionalOperationContractpublic Term getSelf()
getSelf in interface FunctionalOperationContractpublic boolean hasResultVar()
hasResultVar in interface FunctionalOperationContractpublic ImmutableList<Term> getParams()
getParams in interface FunctionalOperationContractpublic Term getResult()
getResult in interface FunctionalOperationContractpublic Term getExc()
getExc in interface FunctionalOperationContractpublic KeYJavaType getSpecifiedIn()
getSpecifiedIn in interface FunctionalOperationContractpublic Contract.OriginalVariables getOrigVars()
ContractgetOrigVars in interface Contract