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
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
def
+(other: String): String
- Implicit
- This member is added by an implicit conversion from BrowsingLoaders to any2stringadd[BrowsingLoaders] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
-
def
->[B](y: B): (BrowsingLoaders, B)
- Implicit
- This member is added by an implicit conversion from BrowsingLoaders to ArrowAssoc[BrowsingLoaders] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
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
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
compileLate(srcfile: AbstractFile): Unit
Should forward to
Run.compileLate
.Should forward to
Run.compileLate
. The more principled fix would be to determine why this functionality is needed and extract it into a separate interface.- Attributes
- protected
- Definition Classes
- GlobalSymbolLoaders → SymbolLoaders
-
def
ensuring(cond: (BrowsingLoaders) ⇒ Boolean, msg: ⇒ Any): BrowsingLoaders
- Implicit
- This member is added by an implicit conversion from BrowsingLoaders to Ensuring[BrowsingLoaders] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: (BrowsingLoaders) ⇒ Boolean): BrowsingLoaders
- Implicit
- This member is added by an implicit conversion from BrowsingLoaders to Ensuring[BrowsingLoaders] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean, msg: ⇒ Any): BrowsingLoaders
- Implicit
- This member is added by an implicit conversion from BrowsingLoaders to Ensuring[BrowsingLoaders] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean): BrowsingLoaders
- Implicit
- This member is added by an implicit conversion from BrowsingLoaders to Ensuring[BrowsingLoaders] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
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
enterIfNew(owner: Global.Symbol, member: Global.Symbol, completer: SymbolLoader): Global.Symbol
In browse mode, it can happen that an encountered symbol is already present.
In browse mode, it can happen that an encountered symbol is already present. For instance, if the source file has a name different from the classes and objects it contains, the symbol loader will always reparse the source file. The symbols it encounters might already be loaded as class files. In this case we return the one which has a sourcefile (and the other has not), and issue an error if both have sourcefiles.
- Attributes
- protected
- Definition Classes
- BrowsingLoaders → 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
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from BrowsingLoaders to StringFormat[BrowsingLoaders] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
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
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
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
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
newClass(owner: Global.Symbol, name: String): Global.ClassSymbol
- Definition Classes
- SymbolLoaders
-
def
newModule(owner: Global.Symbol, name: String): Global.ModuleSymbol
- Definition Classes
- SymbolLoaders
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
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
-
def
signalError(root: Global.Symbol, ex: Throwable): Unit
- Attributes
- protected
- Definition Classes
- SymbolLoaders
-
val
symbolTable: global.type
- Definition Classes
- GlobalSymbolLoaders → SymbolLoaders
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
→[B](y: B): (BrowsingLoaders, B)
- Implicit
- This member is added by an implicit conversion from BrowsingLoaders to ArrowAssoc[BrowsingLoaders] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
-
object
moduleClassLoader
extends SymbolLoader with (symbolTable)#FlagAssigningCompleter
- Definition Classes
- SymbolLoaders
The Scala compiler and reflection APIs.