Rechecker
The typechecker pass
Attributes
- Graph
-
- Supertypes
- Known subtypes
-
class CaptureChecker
Members list
Value members
Concrete methods
Check that widened types of tpe and pt are compatible.
Check that widened types of tpe and pt are compatible.
Attributes
Should type of tree be kept in an attachment so that it can be retrieved with knownType? By default true only is keepAllTypes hold, but can be overridden.
Should type of tree be kept in an attachment so that it can be retrieved with knownType? By default true only is keepAllTypes hold, but can be overridden.
Attributes
When we select the apply of a function with type such as (=> A) => B, we need to convert the parameter type => A to () ?=> A. See doc comment of mapExprType.
When we select the apply of a function with type such as (=> A) => B, we need to convert the parameter type => A to () ?=> A. See doc comment of mapExprType.
Attributes
Finish rechecking a tree node: check rechecked type against expected type and remember rechecked type in a tree attachment if required.
Finish rechecking a tree node: check rechecked type against expected type and remember rechecked type in a tree attachment if required.
Value parameters
- pt
-
the expected type
- tpe
-
the recheched type of
tree - tree
-
the rechecked tree
Attributes
Keep the symbol of the select but re-infer its type
Keep the symbol of the select but re-infer its type
Attributes
Recheck tree without adapting it, returning its new type.
Recheck tree without adapting it, returning its new type.
Value parameters
- pt
-
the expected result type
- tree
-
the original tree
Attributes
Typing and previous transforms sometimes leaves skolem types in prefixes of NamedTypes in expected that do not match the actual Type. -Ycheck does not complain (need to find out why), but a full recheck does. We compensate by de-skolemizing everywhere in expected except when variance is negative.
Typing and previous transforms sometimes leaves skolem types in prefixes of NamedTypes in expected that do not match the actual Type. -Ycheck does not complain (need to find out why), but a full recheck does. We compensate by de-skolemizing everywhere in expected except when variance is negative.
Attributes
- Returns
-
If
tpcontains SkolemTypes in covariant or invariant positions, the type where these SkolemTypes are mapped to their underlying type. Otherwise,tpitself