class AliasAnalyser extends AliasChecker
Class to approximate whether two terms have to be considered as potential aliases, i.e., may have the same value. Two criteria are taken into account for this: arithmetic facts that are available in a proof goal, and constant freedom. The class does caching to speed up queries.
- Alphabetic
- By Inheritance
- AliasAnalyser
- AliasChecker
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new AliasAnalyser(reducer: ReduceWithConjunction, cf: ConstantFreedom, bc: BindingContext, order: TermOrder)
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def apply(a: LinearCombination, b: LinearCombination, includeCannotDueToFreedom: Boolean): terfor.AliasStatus.Value
Check whether two terms have to be considered as potential aliases, i.e., may have the same value.
Check whether two terms have to be considered as potential aliases, i.e., may have the same value.
- Definition Classes
- AliasAnalyser → AliasChecker
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def findMayAliases(atoms: Seq[Atom], pred: Predicate, arguments: Seq[LinearCombination], includeCannotDueToFreedom: Boolean): Map[terfor.AliasStatus.Value, Seq[Atom]]
Find atoms within the sequence
atoms
that may alias with atoms with the givenarguments
as the first arguments.Find atoms within the sequence
atoms
that may alias with atoms with the givenarguments
as the first arguments.- Definition Classes
- AliasAnalyser → AliasChecker
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)