TASTYRun

dotty.tools.dotc.fromtasty.TASTYRun
class TASTYRun(comp: Compiler, ictx: Context) extends Run

Attributes

Graph
Supertypes
class Run
class Object
trait Matchable
class Any
Show all

Members list

Type members

Inherited classlikes

object suppressions

Attributes

Inherited from:
Run
Supertypes
class Object
trait Matchable
class Any

Value members

Concrete methods

override def compile(files: List[AbstractFile]): Unit

Attributes

Definition Classes
Run

Inherited methods

Attributes

Inherited from:
Run
def compileFromStrings(scalaSources: List[String], javaSources: List[String]): Unit

Attributes

Inherited from:
Run

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

Inherited from:
Run

Attributes

Inherited from:
Run

Attributes

Inherited from:
Run

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

Inherited from:
Run

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, if T is of the form P#A, the anchors of P.
  • If T is an alias of U, the anchors of U.
  • 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, if T is of the form (P#x).type, the anchors of P.
  • 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-type P.this.type, the anchors of P.
  • If T is some other type, the union of the anchors of each constituent type of T.

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 of T's parent classes.
  • If T is a reference to an object, S includes T itself as well as the implicit scopes of all of T's parent classes.
  • If T is a reference to an opaque type alias named A, S includes a reference to an object A defined in the same scope as the type, if it exists, as well as the implicit scope of T's underlying type or bounds.
  • If T is a reference to an an abstract type or match type alias named A, S includes a reference to an object A defined in the same scope as the type, if it exists, as well as the implicit scopes of T's lower and upper bound, if present.
  • If T is a reference to an anchor of the form p.A then S also includes all term references on the path p.
  • If T is some other type, S includes the implicit scopes of all anchors of T.

Attributes

Inherited from:
ImplicitRunInfo

Attributes

Inherited from:
Run

Attributes

Inherited from:
Run
def lateCompile(file: AbstractFile, typeCheck: Boolean)(using Context): Unit

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

Inherited from:
Run

Attributes

Inherited from:
ConstraintRunInfo

Print summary of warnings and errors encountered

Print summary of warnings and errors encountered

Attributes

Inherited from:
Run

Attributes

Inherited from:
ConstraintRunInfo
override def reset(): Unit

Attributes

Definition Classes
Inherited from:
Run

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 from:
Run

Inherited fields

Will be set to true if any of the compiled compilation units contains a captureChecking language import.

Will be set to true if any of the compiled compilation units contains a captureChecking language import.

Attributes

Inherited from:
Run

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

Inherited from:
Run

Attributes

Inherited from:
Run

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

Inherited from:
Run

A cache for static references to packages and classes

A cache for static references to packages and classes

Attributes

Inherited from:
Run

Attributes

Inherited from:
Run

Givens

Inherited givens

given runContext[Dummy_so_its_a_def]: Context

The context created for this run

The context created for this run

Attributes

Inherited from:
Run