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
If true, remember the new types of nodes in this compilation unit as an attachment in the unit's tpdTree node. By default, this is enabled when -Xprint:cc is set. Can be overridden.
If true, remember the new types of nodes in this compilation unit as an attachment in the unit's tpdTree node. By default, this is enabled when -Xprint:cc is set. Can be overridden.
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
Reset all references in prevSelDenots
to the denotations they had before this phase.
Reset all references in prevSelDenots
to the denotations they had before this phase.
Attributes
A hook to prevent rechecking a ValDef or DefDef. Typycally used when definitions are completed on first use.
A hook to prevent rechecking a ValDef or DefDef. Typycally used when definitions are completed on first use.
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
tp
contains SkolemTypes in covariant or invariant positions, the type where these SkolemTypes are mapped to their underlying type. Otherwise,tp
itself
Extensions
Extensions
Was a new type installed for this tree?
Was a new type installed for this tree?
Attributes
The new type of the tree, or if none was installed, the original type
The new type of the tree, or if none was installed, the original type
Attributes
Set new type of the tree if none was installed yet and the new type is different from the current type.
Set new type of the tree if none was installed yet and the new type is different from the current type.