A compiler run. Exports various methods to compile source files
Attributes
Members list
Type members
Classlikes
Attributes
- Supertypes
- Self type
-
suppressions.type
Value members
Concrete methods
TODO: There's a fundamental design problem here: We assemble phases using fusePhases
when we first build the compiler. But we modify them with -Yskip, -Ystop on each run. That modification needs to either transform the tree structure, or we need to assemble phases on each run, and take -Yskip, -Ystop into account. I think the latter would be preferable.
TODO: There's a fundamental design problem here: We assemble phases using fusePhases
when we first build the compiler. But we modify them with -Yskip, -Ystop on each run. That modification needs to either transform the tree structure, or we need to assemble phases on each run, and take -Yskip, -Ystop into account. I think the latter would be preferable.
Attributes
The files currently being compiled (active or suspended). This may return different results over time. These files do not have to be source files since it's possible to compile from TASTY.
The files currently being compiled (active or suspended). This may return different results over time. These files do not have to be source files since it's possible to compile from TASTY.
Attributes
Enter top-level definitions of classes and objects contained in source file file
. The newly added symbols replace any previously entered symbols. If typeCheck = true
, also run typer on the compilation unit, and set rootTreeOrProvider
.
Enter top-level definitions of classes and objects contained in source file file
. The newly added symbols replace any previously entered symbols. If typeCheck = true
, also run typer on the compilation unit, and set rootTreeOrProvider
.
Attributes
Print summary of warnings and errors encountered
Print summary of warnings and errors encountered
Attributes
Attributes
- Definition Classes
The compilation units currently being compiled, this may return different results over time.
The compilation units currently being compiled, this may return different results over time.
Attributes
Inherited methods
The implicit scope of a type tp
, which is specified by the following definitions.
The implicit scope of a type tp
, which is specified by the following definitions.
A reference is an anchor if it refers to an object, a class, a trait, an abstract type, an opaque type alias, or a match type alias. References to packages and package objects are anchors only under -source:3.0-migration.
The anchors of a type T
is a set of references defined as follows:
- If
T
is a reference to an anchor,T
itself plus, ifT
is of the formP#A
, the anchors ofP
. - If
T
is an alias ofU
, the anchors ofU
. - If
T
is a reference to a type parameter, the union of the anchors of both of its bounds. - If
T
is a singleton reference, the anchors of its underlying type, plus, ifT
is of the form(P#x).type
, the anchors ofP
. - If
T
is the this-type of a static object, the anchors of a term reference to that object. - If
T
is some other this-typeP.this.type
, the anchors ofP
. - If
T
is some other type, the union of the anchors of each constituent type ofT
.
The implicit scope of a type tp
is the smallest set S of term references (i.e. TermRefs) such that
- If
T
is a reference to a class, S includes a reference to the companion object of the class, if it exists, as well as the implicit scopes of all ofT
's parent classes. - If
T
is a reference to an object, S includesT
itself as well as the implicit scopes of all ofT
's parent classes. - If
T
is a reference to an opaque type alias namedA
, S includes a reference to an objectA
defined in the same scope as the type, if it exists, as well as the implicit scope ofT
's underlying type or bounds. - If
T
is a reference to an an abstract type or match type alias namedA
, S includes a reference to an objectA
defined in the same scope as the type, if it exists, as well as the implicit scopes ofT
's lower and upper bound, if present. - If
T
is a reference to an anchor of the formp.A
then S also includes all term references on the pathp
. - If
T
is some other type, S includes the implicit scopes of all anchors ofT
.
Attributes
- Inherited from:
- ImplicitRunInfo
Attributes
- Inherited from:
- ConstraintRunInfo
Attributes
- Inherited from:
- ConstraintRunInfo
Concrete fields
Will be set to true if experimental.captureChecking is enabled or any of the compiled compilation units contains a captureChecking language import.
Will be set to true if experimental.captureChecking is enabled or any of the compiled compilation units contains a captureChecking language import.
Attributes
If this variable is set to true
, some core typer operations will return immediately. Currently these early abort operations are Typer.typed
and Implicits.typedImplicit
.
If this variable is set to true
, some core typer operations will return immediately. Currently these early abort operations are Typer.typed
and Implicits.typedImplicit
.
Attributes
Will be set to true if any of the compiled compilation units contains a pureFunctions language import.
Will be set to true if any of the compiled compilation units contains a pureFunctions language import.
Attributes
A cache for static references to packages and classes
A cache for static references to packages and classes
Attributes
Givens
Givens
The context created for this run
The context created for this run