SymbolLoaders

class Object
trait Matchable
class Any

Type members

Classlikes

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

Load contents of a package

Load contents of a package

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.

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.

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.

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.

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.

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.

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.

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