abstract class SymbolLoaders extends AnyRef
- Alphabetic
- By Inheritance
- SymbolLoaders
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new SymbolLoaders()
Type Members
- class ClassfileLoader extends SymbolLoader with (symbolTable)#FlagAssigningCompleter
- class PackageLoader extends SymbolLoader with (symbolTable)#FlagAgnosticCompleter
Loads contents of a package
- class SourcefileLoader extends SymbolLoader with (symbolTable)#FlagAssigningCompleter
- 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
Abstract Value Members
- abstract def lookupMemberAtTyperPhaseIfPossible(sym: (symbolTable)#Symbol, name: (symbolTable)#Name): (symbolTable)#Symbol
Required by ClassfileParser.
Required by ClassfileParser. Check documentation in that class for details.
- abstract val platform: Platform { val symbolTable: SymbolLoaders.this.symbolTable.type }
- abstract val symbolTable: SymbolTable { def settings: scala.tools.nsc.Settings }
- abstract def warning(pos: (symbolTable)#Position, msg: String, category: WarningCategory, site: String): Unit
Concrete Value Members
- def binaryOnly(owner: (symbolTable)#Symbol, name: String): 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.
- def enterClass(owner: (symbolTable)#Symbol, clazz: (symbolTable)#ClassSymbol, completer: SymbolLoader): (symbolTable)#Symbol
- def enterClass(owner: (symbolTable)#Symbol, name: String, completer: SymbolLoader): (symbolTable)#Symbol
Enter class with given
nameinto scope ofrootand give themcompleteras type. - def enterClassAndModule(root: (symbolTable)#Symbol, name: String, getCompleter: ((symbolTable)#ClassSymbol, (symbolTable)#ModuleSymbol) => SymbolLoader): Unit
Enter class and module with given
nameinto scope ofrootand give themcompleteras type. - def enterModule(owner: (symbolTable)#Symbol, module: (symbolTable)#ModuleSymbol, completer: SymbolLoader): (symbolTable)#Symbol
- def enterModule(owner: (symbolTable)#Symbol, name: String, completer: SymbolLoader): (symbolTable)#Symbol
Enter module with given
nameinto scope ofrootand give themcompleteras type. - def enterPackage(root: (symbolTable)#Symbol, name: String, completer: SymbolLoader): (symbolTable)#Symbol
Enter package with given
nameinto scope ofrootand give themcompleteras type. - def enterToplevelsFromSource(root: (symbolTable)#Symbol, name: String, src: AbstractFile): Unit
In batch mode: Enter class and module with given
nameinto scope ofrootand give them a source completer for givensrcas type.In batch mode: Enter class and module with given
nameinto scope ofrootand give them a source completer for givensrcas type. In IDE mode: Find all toplevel definitions insrcand enter then into scope ofrootwith source completer for givensrcas type. (overridden in interactive.Global). - def initializeFromClassPath(owner: (symbolTable)#Symbol, classRep: ClassRepresentation): Unit
Initialize toplevel class and module symbols in
ownerfrom class path representationclassRep - def newClass(owner: (symbolTable)#Symbol, name: String): (symbolTable)#ClassSymbol
- def newModule(owner: (symbolTable)#Symbol, name: String): (symbolTable)#ModuleSymbol
- var parentsLevel: Int
used from classfile parser to avoid cycles
- var pendingLoadActions: List[() => Unit]
- object moduleClassLoader extends SymbolLoader with (symbolTable)#FlagAssigningCompleter
The Scala compiler and reflection APIs.