summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/symtab/BrowsingLoaders.scala
diff options
context:
space:
mode:
authorGrzegorz Kossakowski <grzegorz.kossakowski@gmail.com>2013-07-30 22:26:38 -0700
committerGrzegorz Kossakowski <grzegorz.kossakowski@gmail.com>2013-07-30 22:26:38 -0700
commit3cb3c8e35c3df31a7f661903eca48cca557d5a49 (patch)
treedac4cab1e761330d6b61f4347a48c5c6051ca1e1 /src/compiler/scala/tools/nsc/symtab/BrowsingLoaders.scala
parent115e8b4492851137ad2b5b61b9bf78bb51601dff (diff)
downloadscala-3cb3c8e35c3df31a7f661903eca48cca557d5a49.tar.gz
scala-3cb3c8e35c3df31a7f661903eca48cca557d5a49.tar.bz2
scala-3cb3c8e35c3df31a7f661903eca48cca557d5a49.zip
Address TODOs around SymbolLoaders and SymbolTable.
SymbolTable refactoring introduced some TODOs that were supposed to be addressed after M5 release. The reason I couldn't address those problems right away was a conflict with our plans to modularize Scaladoc and interactive. However, we decided to delay that work until after M5 is released so addressing TODOs is not blocked anymore. This commit introduces the following changes: * Eclipse project definitions for interactive and scaladoc depend on scala-compiler project so they are builded against latest version of the compiler (quick) instead of STARR. This aligns our Eclipse project definitions with build.xml structure. * Introduce GlobalSymbolLoaders class which wires dependencies of SymbolLoaders with assumption of dependency on Global. * Switch to GlobalSymbolLoaders in BrowsingLoaders, interactive Global and ScaladocGlobal; this eliminates all TODO comments introduced before
Diffstat (limited to 'src/compiler/scala/tools/nsc/symtab/BrowsingLoaders.scala')
-rw-r--r--src/compiler/scala/tools/nsc/symtab/BrowsingLoaders.scala18
1 files changed, 1 insertions, 17 deletions
diff --git a/src/compiler/scala/tools/nsc/symtab/BrowsingLoaders.scala b/src/compiler/scala/tools/nsc/symtab/BrowsingLoaders.scala
index 0d756fd309..4b9e056df3 100644
--- a/src/compiler/scala/tools/nsc/symtab/BrowsingLoaders.scala
+++ b/src/compiler/scala/tools/nsc/symtab/BrowsingLoaders.scala
@@ -12,28 +12,12 @@ import scala.tools.nsc.io.AbstractFile
* This class should be used whenever file dependencies and recompile sets
* are managed automatically.
*/
-abstract class BrowsingLoaders extends SymbolLoaders {
+abstract class BrowsingLoaders extends GlobalSymbolLoaders {
val global: Global
- val symbolTable: global.type
- protected def compileLate(srcfile: AbstractFile) = global.currentRun.compileLate(srcfile)
import global._
import syntaxAnalyzer.{OutlineParser, MalformedInput}
- /*
- * BrowsingLoaders has dependency on Global so we can implement this method here instead of forcing subclasses
- * of BrowsingLoaders (e.g. in interactive) to implement it.
- */
- override def lookupMemberAtTyperPhaseIfPossible(sym: Symbol, name: Name): Symbol = {
- def lookup = sym.info.member(name)
- // if loading during initialization of `definitions` typerPhase is not yet set.
- // in that case we simply load the member at the current phase
- if (currentRun.typerPhase eq null)
- lookup
- else
- enteringTyper { lookup }
- }
-
/** 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