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: (symbolTable)#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.
- 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
name
into scope ofroot
and give themcompleter
as type. - def enterClassAndModule(root: (symbolTable)#Symbol, name: (symbolTable)#TermName, getCompleter: ((symbolTable)#ClassSymbol, (symbolTable)#ModuleSymbol) => SymbolLoader): Unit
Enter class and module with given
name
into scope ofroot
and give themcompleter
as 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
name
into scope ofroot
and give themcompleter
as type. - def enterPackage(root: (symbolTable)#Symbol, name: String, completer: SymbolLoader): (symbolTable)#Symbol
Enter package with given
name
into scope ofroot
and give themcompleter
as type. - def enterToplevelsFromSource(root: (symbolTable)#Symbol, name: (symbolTable)#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). - def initializeFromClassPath(owner: (symbolTable)#Symbol, classRep: ClassRepresentation): Unit
Initialize toplevel class and module symbols in
owner
from 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.