Scala implementation of space logic
- Companion:
- object
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
Decompose a type into subspaces -- assume the type can be decomposed
Decompose a type into subspaces -- assume the type can be decomposed
Whether the counterexample is satisfiable. The space is flattened and non-empty.
Whether the counterexample is satisfiable. The space is flattened and non-empty.
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 !!!
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
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
.
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
- Inherited from:
- SpaceLogic
Flatten space to get rid of Or
for pretty print
Flatten space to get rid of Or
for pretty print
- Inherited from:
- SpaceLogic
Simplify space such that a space equal to Empty
becomes Empty
Simplify space such that a space equal to Empty
becomes Empty
- Inherited from:
- SpaceLogic