trait IsTaintLattice[L] extends IsSchemeLattice[L]
- Alphabetic
- By Inheritance
- IsTaintLattice
- IsSchemeLattice
- JoinLattice
- PartialOrdering
- Equiv
- Serializable
- Serializable
- Monoid
- Semigroup
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Type Members
-
trait
SchemeLatticeLaw extends MonoidLaw
- Definition Classes
- IsSchemeLattice
-
trait
MonoidLaw extends scalaz.Monoid.SemigroupLaw
- Definition Classes
- Monoid
-
trait
SemigroupApply extends Apply[[α]F]
- Attributes
- protected[this]
- Definition Classes
- Semigroup
-
trait
SemigroupCompose extends Compose[[α, β]F]
- Attributes
- protected[this]
- Definition Classes
- Semigroup
-
trait
SemigroupLaw extends AnyRef
- Definition Classes
- Semigroup
-
trait
JoinLatticeLaw extends AnyRef
- Definition Classes
- JoinLattice
Abstract Value Members
-
abstract
def
binaryOp(op: BinaryOperator)(x: L, y: L): MayFail[L]
Performs a binary operation on abstract values x and y
Performs a binary operation on abstract values x and y
- Definition Classes
- IsSchemeLattice
-
abstract
def
bottom: L
A lattice has a bottom element
A lattice has a bottom element
- Definition Classes
- JoinLattice
-
abstract
def
car[Addr](x: L)(implicit arg0: Address[Addr]): Set[Addr]
Takes the car of a cons cell
Takes the car of a cons cell
- Definition Classes
- IsSchemeLattice
-
abstract
def
cardinality(x: L): Cardinality
Cardinality of this value
Cardinality of this value
- Definition Classes
- JoinLattice
-
abstract
def
cdr[Addr](x: L)(implicit arg0: Address[Addr]): Set[Addr]
Takes the cdr of a cons cell
Takes the cdr of a cons cell
- Definition Classes
- IsSchemeLattice
-
abstract
def
cons[Addr](car: Addr, cdr: Addr)(implicit arg0: Address[Addr]): L
Creates a cons cell
Creates a cons cell
- Definition Classes
- IsSchemeLattice
-
abstract
def
counting: Boolean
It should state whether it supports abstract counting or not.
It should state whether it supports abstract counting or not. (TODO: this is probably not the best place for that)
- Definition Classes
- JoinLattice
-
abstract
def
getClosures[Exp, Addr](x: L)(implicit arg0: Expression[Exp], arg1: Address[Addr]): Set[(Exp, Environment[Addr])]
Extract closures contained in this value
Extract closures contained in this value
- Definition Classes
- IsSchemeLattice
-
abstract
def
getPrimitives[Addr, Abs](x: L)(implicit arg0: Address[Addr], arg1: JoinLattice[Abs]): Set[Primitive[Addr, Abs]]
Extract primitives contained in this value
Extract primitives contained in this value
- Definition Classes
- IsSchemeLattice
-
abstract
def
getVectors[Addr](x: L)(implicit arg0: Address[Addr]): Set[Addr]
Extract vector addresses contained in this value
Extract vector addresses contained in this value
- Definition Classes
- IsSchemeLattice
-
abstract
def
inject[Exp, Addr](x: (Exp, Environment[Addr]))(implicit arg0: Expression[Exp], arg1: Address[Addr]): L
Injection of a closure
Injection of a closure
- Definition Classes
- IsSchemeLattice
-
abstract
def
inject[Addr, Abs](x: Primitive[Addr, Abs])(implicit arg0: Address[Addr], arg1: JoinLattice[Abs]): L
Injection of a primitive function
Injection of a primitive function
- Definition Classes
- IsSchemeLattice
-
abstract
def
inject(x: Char): L
Injection of a character
Injection of a character
- Definition Classes
- IsSchemeLattice
-
abstract
def
inject(x: Boolean): L
Injection of a boolean
Injection of a boolean
- Definition Classes
- IsSchemeLattice
-
abstract
def
inject(x: String): L
Injection of a string
Injection of a string
- Definition Classes
- IsSchemeLattice
-
abstract
def
inject(x: Double): L
Injection of a float
Injection of a float
- Definition Classes
- IsSchemeLattice
-
abstract
def
inject(x: Int): L
Injection of an integer
Injection of an integer
- Definition Classes
- IsSchemeLattice
-
abstract
def
injectSymbol(x: String): L
Injection of a symbol
Injection of a symbol
- Definition Classes
- IsSchemeLattice
-
abstract
def
intTop: L
The top integer
The top integer
- Definition Classes
- IsSchemeLattice
-
abstract
def
isFalse(x: L): Boolean
Can this value be considered false for conditionals?
Can this value be considered false for conditionals?
- Definition Classes
- IsSchemeLattice
-
abstract
def
isPrimitiveValue(x: L): Boolean
Some elements may contain addresses in there and are therefore not considered as primitive values
Some elements may contain addresses in there and are therefore not considered as primitive values
- Definition Classes
- JoinLattice
-
abstract
def
isTrue(x: L): Boolean
Can this value be considered true for conditionals?
Can this value be considered true for conditionals?
- Definition Classes
- IsSchemeLattice
-
abstract
def
join(x: L, y: L): L
Elements of the lattice can be joined together
Elements of the lattice can be joined together
- Definition Classes
- JoinLattice
-
abstract
def
name: String
A name identifying the lattice
A name identifying the lattice
- Definition Classes
- JoinLattice
-
abstract
def
nil: L
Nil value
Nil value
- Definition Classes
- IsSchemeLattice
- abstract def sanitize(x: L): L
-
abstract
def
subsumes(x: L, y: L): Boolean
Subsumption between two elements can be checked
Subsumption between two elements can be checked
- Definition Classes
- JoinLattice
- abstract def taint(x: L, source: Position): L
- abstract def taintStatus(x: L): TaintStatus
-
abstract
def
unaryOp(op: UnaryOperator)(x: L): MayFail[L]
Performs a unary operation on the abstract value x
Performs a unary operation on the abstract value x
- Definition Classes
- IsSchemeLattice
-
abstract
def
vector[Addr](addr: Addr, size: L, init: Addr)(implicit arg0: Address[Addr]): MayFail[(L, L)]
Creates a vector of the given size, where the initial value lies at address.
Creates a vector of the given size, where the initial value lies at address. Return the vector address wrapped in a lattice value, as well as the vector value itsel
- Definition Classes
- IsSchemeLattice
-
abstract
def
vectorRef[Addr](vector: L, index: L)(implicit arg0: Address[Addr]): MayFail[Set[Addr]]
Get a value from a vector.
Get a value from a vector. Returns the addresses where to look for the values
- Definition Classes
- IsSchemeLattice
-
abstract
def
vectorSet[Addr](vector: L, index: L, addr: Addr)(implicit arg0: Address[Addr]): MayFail[(L, Set[Addr])]
Changes a value inside a vector.
Changes a value inside a vector. The address given is an address where the value can be stored if needed. Returns the vector value, as well as the addresses to update in the store. The value stored is not passed to vectorSet, but will be stored in the returned addresses.
- Definition Classes
- IsSchemeLattice
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
def
+(other: String): String
- Implicit
- This member is added by an implicit conversion from IsTaintLattice[L] to any2stringadd[IsTaintLattice[L]] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
-
def
->[B](y: B): (IsTaintLattice[L], B)
- Implicit
- This member is added by an implicit conversion from IsTaintLattice[L] to ArrowAssoc[IsTaintLattice[L]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
and(x: L, y: ⇒ L): L
Conjunction
Conjunction
- Definition Classes
- IsSchemeLattice
-
def
append(x: L, y: ⇒ L): L
- Definition Classes
- JoinLattice → Semigroup
-
final
def
applicative: Applicative[[α]L]
- Definition Classes
- Monoid
-
final
def
apply: Apply[[α]L]
- Definition Classes
- Semigroup
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
boolTop: L
The top boolean
The top boolean
- Definition Classes
- IsSchemeLattice
-
final
def
category: Category[[α, β]L]
- Definition Classes
- Monoid
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate() @throws( ... )
-
final
def
compose: Compose[[α, β]L]
- Definition Classes
- Semigroup
-
def
ensuring(cond: (IsTaintLattice[L]) ⇒ Boolean, msg: ⇒ Any): IsTaintLattice[L]
- Implicit
- This member is added by an implicit conversion from IsTaintLattice[L] to Ensuring[IsTaintLattice[L]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: (IsTaintLattice[L]) ⇒ Boolean): IsTaintLattice[L]
- Implicit
- This member is added by an implicit conversion from IsTaintLattice[L] to Ensuring[IsTaintLattice[L]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean, msg: ⇒ Any): IsTaintLattice[L]
- Implicit
- This member is added by an implicit conversion from IsTaintLattice[L] to Ensuring[IsTaintLattice[L]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean): IsTaintLattice[L]
- Implicit
- This member is added by an implicit conversion from IsTaintLattice[L] to Ensuring[IsTaintLattice[L]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
equiv(x: L, y: L): Boolean
- Definition Classes
- PartialOrdering → Equiv
-
def
formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from IsTaintLattice[L] to StringFormat[IsTaintLattice[L]] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
gt(x: L, y: L): Boolean
- Definition Classes
- PartialOrdering
-
def
gteq(x: L, y: L): Boolean
- Definition Classes
- PartialOrdering
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
ifEmpty[B](a: L)(t: ⇒ B)(f: ⇒ B)(implicit eq: Equal[L]): B
- Definition Classes
- Monoid
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
isMZero(a: L)(implicit eq: Equal[L]): Boolean
- Definition Classes
- Monoid
-
def
lt(x: L, y: L): Boolean
- Definition Classes
- PartialOrdering
-
def
lteq(x: L, y: L): Boolean
- Definition Classes
- JoinLattice → PartialOrdering
-
def
monoidLaw: MonoidLaw
- Definition Classes
- Monoid
-
val
monoidSyntax: MonoidSyntax[L]
- Definition Classes
- Monoid
-
def
multiply(value: L, n: Int): L
- Definition Classes
- Monoid
-
def
multiply1(value: L, n: Int): L
- Definition Classes
- Semigroup
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
onEmpty[A, B](a: L)(v: ⇒ B)(implicit eq: Equal[L], mb: Monoid[B]): B
- Definition Classes
- Monoid
-
final
def
onNotEmpty[B](a: L)(v: ⇒ B)(implicit eq: Equal[L], mb: Monoid[B]): B
- Definition Classes
- Monoid
-
def
or(x: L, y: ⇒ L): L
Disjunction
Disjunction
- Definition Classes
- IsSchemeLattice
-
def
reverse: PartialOrdering[L]
- Definition Classes
- PartialOrdering
-
val
schemeLatticeLaw: SchemeLatticeLaw
- Definition Classes
- IsSchemeLattice
-
def
semigroupLaw: SemigroupLaw
- Definition Classes
- Semigroup
-
val
semigroupSyntax: SemigroupSyntax[L]
- Definition Classes
- Semigroup
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
def
totalLessThan(a: L, b: L): Boolean
ADDED Force an artificial total order to sort final values and have a deterministic output.
ADDED Force an artificial total order to sort final values and have a deterministic output. (The corresponding <= is not always transitive, but it is good enough.)
- Definition Classes
- JoinLattice
-
def
tryCompare(x: L, y: L): Option[Int]
- Definition Classes
- JoinLattice → PartialOrdering
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
zero: L
- Definition Classes
- JoinLattice → Monoid
-
def
→[B](y: B): (IsTaintLattice[L], B)
- Implicit
- This member is added by an implicit conversion from IsTaintLattice[L] to ArrowAssoc[IsTaintLattice[L]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc