Scala implementation of space logic
Attributes
- Companion
- object
- Graph
-
- Supertypes
Members list
Value members
Concrete methods
Abstract sealed types, or-types, Boolean and Java enums can be decomposed
Abstract sealed types, or-types, Boolean and Java enums can be decomposed
Attributes
Whether the extractor covers the given type
Whether the extractor covers the given type
Attributes
Decompose a type into subspaces -- assume the type can be decomposed
Decompose a type into subspaces -- assume the type can be decomposed
Attributes
Return a space containing the values of both types.
Return a space containing the values of both types.
The types should be atomic (non-decomposable) and unrelated (neither should be a subtype of the other).
Attributes
- Definition Classes
True if we can assume that the two unapply methods are the same. That is, given the same parameter, they return the same result.
True if we can assume that the two unapply methods are the same. That is, given the same parameter, they return the same result.
We assume that unapply methods are pure, but the same method may be called with different prefixes, thus behaving differently.
Attributes
Is tp1
a subtype of tp2
?
Is tp1
a subtype of tp2
?
Attributes
Is a
a subspace of b
? Equivalent to simplify(simplify(a) - simplify(b)) == Empty
, but faster
Is a
a subspace of b
? Equivalent to simplify(simplify(a) - simplify(b)) == Empty
, but faster
Attributes
- Definition Classes
Return the space that represents the pattern pat
Return the space that represents the pattern pat
Attributes
Space of the pattern: unapplySeq(a, b, c: _*)
Space of the pattern: unapplySeq(a, b, c: _*)
Attributes
Whether the counterexample is satisfiable. The space is flattened and non-empty.
Whether the counterexample is satisfiable. The space is flattened and non-empty.
Attributes
Show friendly type name with current scope in mind
Show friendly type name with current scope in mind
E.g. C.this.B --> B if current owner is C C.this.x.T --> x.T if current owner is C X[T] --> X C --> C if current owner is C !!!
Attributes
Parameter types of the case class type tp
. Adapted from unapplyPlan
in patternMatcher
Parameter types of the case class type tp
. Adapted from unapplyPlan
in patternMatcher
Attributes
Return the underlying type of non-module, non-constant, non-enum case singleton types. Also widen ExprType to its result type, and rewrap any annotation wrappers. For example, with val opt = None
, widen opt.type
to None.type
.
Return the underlying type of non-module, non-constant, non-enum case singleton types. Also widen ExprType to its result type, and rewrap any annotation wrappers. For example, with val opt = None
, widen opt.type
to None.type
.
Attributes
Inherited methods
Remove a space if it's a subspace of remaining spaces
Remove a space if it's a subspace of remaining spaces
Note: dedup
will return the same result if the sequence >= 10
Attributes
- Inherited from:
- SpaceLogic
Flatten space to get rid of Or
for pretty print
Intersection of two spaces
The space of a not covered by b
Simplify space such that a space equal to Empty
becomes Empty