Packages

c

scala.tools.nsc.symtab

SymbolLoaders

abstract class SymbolLoaders extends AnyRef

This class ...

Source
SymbolLoaders.scala
Version

1.0

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SymbolLoaders
  2. AnyRef
  3. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new SymbolLoaders()

Type Members

  1. class ClassfileLoader extends SymbolLoader with (symbolTable)#FlagAssigningCompleter
  2. class PackageLoader extends SymbolLoader with (symbolTable)#FlagAgnosticCompleter

    Loads contents of a package

  3. class SourcefileLoader extends SymbolLoader with (symbolTable)#FlagAssigningCompleter
  4. 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

  1. abstract def lookupMemberAtTyperPhaseIfPossible(sym: (symbolTable)#Symbol, name: (symbolTable)#Name): (symbolTable)#Symbol

    Required by ClassfileParser.

    Required by ClassfileParser. Check documentation in that class for details.

  2. abstract val platform: Platform { val symbolTable: scala.tools.nsc.symtab.SymbolLoaders.<refinement>.type }
  3. abstract val symbolTable: SymbolTable { def settings: scala.tools.nsc.Settings }

Concrete Value Members

  1. 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.

  2. def enterClass(owner: (symbolTable)#Symbol, clazz: (symbolTable)#ClassSymbol, completer: SymbolLoader): (symbolTable)#Symbol
  3. def enterClass(owner: (symbolTable)#Symbol, name: String, completer: SymbolLoader): (symbolTable)#Symbol

    Enter class with given name into scope of root and give them completer as type.

  4. def enterClassAndModule(root: (symbolTable)#Symbol, name: String, getCompleter: ((symbolTable)#ClassSymbol, (symbolTable)#ModuleSymbol) ⇒ SymbolLoader): Unit

    Enter class and module with given name into scope of root and give them completer as type.

  5. def enterModule(owner: (symbolTable)#Symbol, module: (symbolTable)#ModuleSymbol, completer: SymbolLoader): (symbolTable)#Symbol
  6. def enterModule(owner: (symbolTable)#Symbol, name: String, completer: SymbolLoader): (symbolTable)#Symbol

    Enter module with given name into scope of root and give them completer as type.

  7. def enterPackage(root: (symbolTable)#Symbol, name: String, completer: SymbolLoader): (symbolTable)#Symbol

    Enter package with given name into scope of root and give them completer as type.

  8. def enterToplevelsFromSource(root: (symbolTable)#Symbol, name: String, src: AbstractFile): Unit

    In batch mode: Enter class and module with given name into scope of root and give them a source completer for given src as type.

    In batch mode: Enter class and module with given name into scope of root and give them a source completer for given src as type. In IDE mode: Find all toplevel definitions in src and enter then into scope of root with source completer for given src as type. (overridden in interactive.Global).

  9. def initializeFromClassPath(owner: (symbolTable)#Symbol, classRep: ClassRepresentation): Unit

    Initialize toplevel class and module symbols in owner from class path representation classRep

  10. def newClass(owner: (symbolTable)#Symbol, name: String): (symbolTable)#ClassSymbol
  11. def newModule(owner: (symbolTable)#Symbol, name: String): (symbolTable)#ModuleSymbol
  12. var parentsLevel: Int

    used from classfile parser to avoid cycles

  13. var pendingLoadActions: List[() ⇒ Unit]
  14. object moduleClassLoader extends SymbolLoader with (symbolTable)#FlagAssigningCompleter