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.