A tree traverser that prepares a compilation unit to be capture checked. It does the following:
- For every inferred type, drop any retains annotations, add capture sets to all its parts, add refinements to class types and function types. (c.f. mapInferred)
- For explicit capturing types, expand throws aliases to the underlying (pure) function, and add some implied capture sets to curried functions (c.f. expandThrowsAlias, expandAbbreviations).
- Add capture sets to self types of classes and objects, unless the self type was written explicitly.
- Box the types of mutable variables and type arguments to methods (type arguments of types are boxed on access).
- Link the external types of val and def symbols with the inferred types based on their parameter symbols.
Attributes
- Companion
- object
- Graph
-
- Supertypes
-
trait SetupAPItrait SymTransformerclass PreRechecktrait DenotTransformerclass Phaseclass Objecttrait Matchableclass AnyShow all
- Self type
Members list
Type members
Inherited types
Attributes
- Inherited from:
- SetupAPI
Value members
Concrete methods
Add a capture set variable to tp
if necessary, or maybe pull out an embedded capture set variable from a part of tp
.
Add a capture set variable to tp
if necessary, or maybe pull out an embedded capture set variable from a part of tp
.
Attributes
Add a capture set variable to tp
if necessary, or maybe pull out an embedded capture set variable from a part of tp
.
Add a capture set variable to tp
if necessary, or maybe pull out an embedded capture set variable from a part of tp
.
Attributes
This property is queried before a phase is run. If it is false, the phase is skipped.
This property is queried before a phase is run. If it is false, the phase is skipped.
Attributes
- Definition Classes
Should a capture set variable be added on type tp
?
Should a capture set variable be added on type tp
?
Attributes
Pull out an embedded capture set from a part of tp
Pull out an embedded capture set from a part of tp
Attributes
- Reset
private
flags of parameter accessors so that we can refine them in Setup if they have non-empty capture sets. - Special handling of some symbols defined for case classes. Enabled only until recheck is finished, and provided some compilation unit is CC-enabled.
Attributes
Inherited methods
If set, implicit search is enabled
Do not run if compile progress has been cancelled
Can this transform change the base types of a type?
Can this transform change the base types of a type?
Attributes
- Definition Classes
-
PreRecheck -> Phase
- Inherited from:
- PreRecheck
Can this transform create or delete non-private members?
Can this transform change the parents of a class?
Check what the phase achieves, to be called at any point after it is finished.
Check what the phase achieves, to be called at any point after it is finished.
Attributes
- Inherited from:
- Phase
Attributes
- Inherited from:
- Phase
Attributes
- Inherited from:
- Phase
True for all phases except NoPhase
Attributes
- Inherited from:
- Phase
The sequence position of this phase in the given context where 0 is reserved for NoPhase and the first real phase is at position 1. -1 if the phase is not installed in the context.
The sequence position of this phase in the given context where 0 is reserved for NoPhase and the first real phase is at position 1. -1 if the phase is not installed in the context.
Attributes
- Inherited from:
- Phase
Attributes
- Inherited from:
- Phase
Attributes
- Inherited from:
- Phase
Output should be checkable by TreeChecker
Output should be checkable by TreeChecker
Attributes
- Definition Classes
-
PreRecheck -> Phase
- Inherited from:
- PreRecheck
This property is queried when phases are first assembled. If it is false, the phase will be dropped from the set of phases to traverse.
This property is queried when phases are first assembled. If it is false, the phase will be dropped from the set of phases to traverse.
Attributes
- Inherited from:
- Phase
Is this phase the standard typerphase? True for TyperPhase, but not for other first phases (such as FromTasty or Parser). The predicate is tested in some places that perform checks and corrections. It's different from ctx.isAfterTyper (and cheaper to test).
Is this phase the standard typerphase? True for TyperPhase, but not for other first phases (such as FromTasty or Parser). The predicate is tested in some places that perform checks and corrections. It's different from ctx.isAfterTyper (and cheaper to test).
Attributes
- Inherited from:
- Phase
Attributes
- Inherited from:
- Phase
The last phase during which the transformed denotations are valid
The last phase during which the transformed denotations are valid
Attributes
- Inherited from:
- DenotTransformer
Cancellable region, if not cancelled, run the body in the context of the current compilation unit. Enrich crash messages.
Cancellable region, if not cancelled, run the body in the context of the current compilation unit. Enrich crash messages.
Attributes
- Inherited from:
- Phase
Attributes
- Inherited from:
- Phase
A name given to the Phase
that can be used to debug the compiler. For instance, it is possible to print trees after a given phase using:
A name given to the Phase
that can be used to debug the compiler. For instance, it is possible to print trees after a given phase using:
$ ./bin/scalac -Xprint:<phaseNameHere> sourceFile.scala
Attributes
- Inherited from:
- PreRecheck
A hook that allows to transform the usual context passed to the function that prints a compilation unit after a phase
A hook that allows to transform the usual context passed to the function that prints a compilation unit after a phase
Attributes
- Inherited from:
- Phase
Attributes
- Inherited from:
- Phase
If set, allow missing or superfluous arguments in applications and type applications.
If set, allow missing or superfluous arguments in applications and type applications.
Attributes
- Inherited from:
- Phase
Attributes
- Inherited from:
- PreRecheck
Attributes
- Inherited from:
- Phase
Attributes
- Inherited from:
- Phase
List of names of phases that should precede this phase
Attributes
- Inherited from:
- Phase
Attributes
- Inherited from:
- Phase
Attributes
- Inherited from:
- Phase
Convert a compilation unit's tree to a string; can be overridden
skip the phase for a Java compilation unit, may depend on -Yjava-tasty
skip the phase for a Java compilation unit, may depend on -Yjava-tasty
Attributes
- Inherited from:
- Phase
for purposes of progress tracking, overridden in TyperPhase
The transformation method
Attributes
- Inherited from:
- Phase
The validity period of the transformed denotations in the given context
The validity period of the transformed denotations in the given context
Attributes
- Inherited from:
- DenotTransformer
Inherited fields
Attributes
- Inherited from:
- PreRecheck