abstract class GlobalSymbolLoaders extends SymbolLoaders
Symbol loaders implementation that wires dependencies using Global.
- Alphabetic
- By Inheritance
- GlobalSymbolLoaders
- SymbolLoaders
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new GlobalSymbolLoaders()
Type Members
- class ClassfileLoader extends SymbolLoader with (symbolTable)#FlagAssigningCompleter
- Definition Classes
- SymbolLoaders
- class PackageLoader extends SymbolLoader with (symbolTable)#FlagAgnosticCompleter
Loads contents of a package
Loads contents of a package
- Definition Classes
- SymbolLoaders
- class SourcefileLoader extends SymbolLoader with (symbolTable)#FlagAssigningCompleter
- Definition Classes
- SymbolLoaders
- abstract class SymbolLoader extends (symbolTable)#SymLoader
A lazy type that completes itself by calling parameter doComplete.
A lazy type that completes itself by calling parameter doComplete. Any linked modules/classes or module classes are also initialized. Todo: consider factoring out behavior from TopClassCompleter/SymbolLoader into supertrait SymLoader
- Definition Classes
- SymbolLoaders
Abstract Value Members
- abstract val global: Global
- abstract val platform: Global.platform
- Definition Classes
- GlobalSymbolLoaders → SymbolLoaders
Concrete Value Members
- def binaryOnly(owner: Global.Symbol, name: Global.TermName): Boolean
The package objects of scala and scala.reflect should always be loaded in binary if classfiles are available, even if sourcefiles are newer.
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.
- Definition Classes
- SymbolLoaders
- def enterClass(owner: Global.Symbol, clazz: Global.ClassSymbol, completer: SymbolLoader): Global.Symbol
- Definition Classes
- SymbolLoaders
- def enterClass(owner: Global.Symbol, name: String, completer: SymbolLoader): Global.Symbol
Enter class with given
name
into scope ofroot
and give themcompleter
as type.Enter class with given
name
into scope ofroot
and give themcompleter
as type.- Definition Classes
- SymbolLoaders
- def enterClassAndModule(root: Global.Symbol, name: Global.TermName, getCompleter: (Global.ClassSymbol, Global.ModuleSymbol) => SymbolLoader): Unit
Enter class and module with given
name
into scope ofroot
and give themcompleter
as type.Enter class and module with given
name
into scope ofroot
and give themcompleter
as type.- Definition Classes
- SymbolLoaders
- def enterModule(owner: Global.Symbol, module: Global.ModuleSymbol, completer: SymbolLoader): Global.Symbol
- Definition Classes
- SymbolLoaders
- def enterModule(owner: Global.Symbol, name: String, completer: SymbolLoader): Global.Symbol
Enter module with given
name
into scope ofroot
and give themcompleter
as type.Enter module with given
name
into scope ofroot
and give themcompleter
as type.- Definition Classes
- SymbolLoaders
- def enterPackage(root: Global.Symbol, name: String, completer: SymbolLoader): Global.Symbol
Enter package with given
name
into scope ofroot
and give themcompleter
as type.Enter package with given
name
into scope ofroot
and give themcompleter
as type.- Definition Classes
- SymbolLoaders
- def enterToplevelsFromSource(root: Global.Symbol, name: Global.TermName, src: AbstractFile): Unit
In batch mode: Enter class and module with given
name
into scope ofroot
and give them a source completer for givensrc
as type.In batch mode: Enter class and module with given
name
into scope ofroot
and give them a source completer for givensrc
as type. In IDE mode: Find all toplevel definitions insrc
and enter then into scope ofroot
with source completer for givensrc
as type. (overridden in interactive.Global).- Definition Classes
- SymbolLoaders
- def initializeFromClassPath(owner: Global.Symbol, classRep: ClassRepresentation): Unit
Initialize toplevel class and module symbols in
owner
from class path representationclassRep
Initialize toplevel class and module symbols in
owner
from class path representationclassRep
- Definition Classes
- SymbolLoaders
- def lookupMemberAtTyperPhaseIfPossible(sym: Global.Symbol, name: Global.Name): Global.Symbol
Required by ClassfileParser.
Required by ClassfileParser. Check documentation in that class for details.
- Definition Classes
- GlobalSymbolLoaders → SymbolLoaders
- def newClass(owner: Global.Symbol, name: String): Global.ClassSymbol
- Definition Classes
- SymbolLoaders
- def newModule(owner: Global.Symbol, name: String): Global.ModuleSymbol
- Definition Classes
- SymbolLoaders
- var parentsLevel: Int
used from classfile parser to avoid cycles
used from classfile parser to avoid cycles
- Definition Classes
- SymbolLoaders
- var pendingLoadActions: List[() => Unit]
- Definition Classes
- SymbolLoaders
- val symbolTable: global.type
- Definition Classes
- GlobalSymbolLoaders → SymbolLoaders
- def warning(pos: Global.Position, msg: String, category: WarningCategory, site: String): Unit
- Definition Classes
- GlobalSymbolLoaders → SymbolLoaders
- object moduleClassLoader extends SymbolLoader with (symbolTable)#FlagAssigningCompleter
- Definition Classes
- SymbolLoaders
The Scala compiler and reflection APIs.