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