abstract class BrowsingLoaders extends GlobalSymbolLoaders
A subclass of SymbolLoaders that implements browsing behavior. This class should be used whenever file dependencies and recompile sets are managed automatically.
- Source
- BrowsingLoaders.scala
- Alphabetic
- By Inheritance
- BrowsingLoaders
- GlobalSymbolLoaders
- SymbolLoaders
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Instance Constructors
- new BrowsingLoaders()
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
- Definition Classes
- BrowsingLoaders → GlobalSymbolLoaders
- abstract val platform: Global.platform
- Definition Classes
- GlobalSymbolLoaders → SymbolLoaders
Concrete Value Members
- def binaryOnly(owner: Global.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.
- Definition Classes
- SymbolLoaders
- def browseTopLevel(root: Global.Symbol, src: AbstractFile): Unit
Browse the top-level of given abstract file
src
and enter any encountered top-level classes and modules inroot
- 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: String, 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: String, src: AbstractFile): Unit
Enter top-level symbols from a source file
Enter top-level symbols from a source file
- Definition Classes
- BrowsingLoaders → 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
- object moduleClassLoader extends SymbolLoader with (symbolTable)#FlagAssigningCompleter
- Definition Classes
- SymbolLoaders
The Scala compiler and reflection APIs.