SymbolLoaders

dotty.tools.dotc.core.SymbolLoaders
object SymbolLoaders

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Type members

Classlikes

class PackageLoader(_sourceModule: TermSymbol, classPath: ClassPath) extends SymbolLoader

Load contents of a package

Load contents of a package

Attributes

Supertypes
class SymbolLoader
class LazyType
trait Symbol => LazyType
class Type
trait Showable
trait Hashable
class Object
trait Matchable
class Any
Show all

A marker trait for a completer that replaces the original Symbol loader for an unpickled root.

A marker trait for a completer that replaces the original Symbol loader for an unpickled root.

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes

Value members

Concrete methods

def binaryOnly(owner: Symbol, name: TermName)(using Context): Boolean

The package objects of scala and scala.reflect should always be loaded in binary if classfiles are available, even if sourcefiles are newer. Late-compiling these objects from source leads to compilation order issues. Note: We do a name-base comparison here because the method is called before we even have ReflectPackage defined.

The package objects of scala and scala.reflect should always be loaded in binary if classfiles are available, even if sourcefiles are newer. Late-compiling these objects from source leads to compilation order issues. Note: We do a name-base comparison here because the method is called before we even have ReflectPackage defined.

Attributes

def enterClass(owner: Symbol, name: PreName, completer: SymbolLoader, flags: FlagSet, scope: Scope)(using Context): Symbol

Enter class with given name into scope of owner.

Enter class with given name into scope of owner.

Attributes

def enterClassAndModule(owner: Symbol, name: PreName, completer: SymbolLoader, flags: FlagSet, scope: Scope)(using Context): Unit

Enter class and module with given name into scope of owner and give them completer as type.

Enter class and module with given name into scope of owner and give them completer as type.

Attributes

def enterModule(owner: Symbol, name: PreName, completer: SymbolLoader, modFlags: FlagSet, clsFlags: FlagSet, scope: Scope)(using Context): Symbol

Enter module with given name into scope of owner.

Enter module with given name into scope of owner.

Attributes

def enterPackage(owner: Symbol, pname: TermName, completer: (TermSymbol, ClassSymbol) => PackageLoader)(using Context): Symbol

Enter package with given name into scope of owner and give them completer as type.

Enter package with given name into scope of owner and give them completer as type.

Attributes

def enterToplevelsFromSource(owner: Symbol, name: PreName, src: AbstractFile, scope: Scope)(using Context): Unit

Enter all toplevel classes and objects in file src into package owner, provided they are in the right package. Issue a warning if a class or object is in the wrong package, i.e. if the file path differs from the declared package clause.

Enter all toplevel classes and objects in file src into package owner, provided they are in the right package. Issue a warning if a class or object is in the wrong package, i.e. if the file path differs from the declared package clause.

All entered symbols are given a source completer of src as info.

Attributes

Initialize toplevel class and module symbols in owner from class path representation classRep

Initialize toplevel class and module symbols in owner from class path representation classRep

Attributes