summaryrefslogtreecommitdiff
path: root/src/compiler/scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2009-07-24 15:28:37 +0000
committerMartin Odersky <odersky@gmail.com>2009-07-24 15:28:37 +0000
commit40707e0f49eb991ba1cbc07bdb1bcf65a640006b (patch)
tree00b6b70e32b941f9aa4502a91ad07fd0fc807e3d /src/compiler/scala
parent8a78d3748319811d7b0adc80d4ee8926dc8d90bf (diff)
downloadscala-40707e0f49eb991ba1cbc07bdb1bcf65a640006b.tar.gz
scala-40707e0f49eb991ba1cbc07bdb1bcf65a640006b.tar.bz2
scala-40707e0f49eb991ba1cbc07bdb1bcf65a640006b.zip
switch to unnested packages.
Diffstat (limited to 'src/compiler/scala')
-rw-r--r--src/compiler/scala/tools/ant/FastScalac.scala2
-rw-r--r--src/compiler/scala/tools/nsc/Global.scala2
-rw-r--r--src/compiler/scala/tools/nsc/Interpreter.scala4
-rw-r--r--src/compiler/scala/tools/nsc/ast/NodePrinters.scala9
-rw-r--r--src/compiler/scala/tools/nsc/ast/TreeBrowsers.scala5
-rw-r--r--src/compiler/scala/tools/nsc/ast/TreeDSL.scala5
-rw-r--r--src/compiler/scala/tools/nsc/ast/TreeGen.scala3
-rw-r--r--src/compiler/scala/tools/nsc/ast/TreeInfo.scala5
-rw-r--r--src/compiler/scala/tools/nsc/ast/TreePrinters.scala3
-rw-r--r--src/compiler/scala/tools/nsc/ast/Trees.scala63
-rw-r--r--src/compiler/scala/tools/nsc/ast/parser/BracePair.scala3
-rw-r--r--src/compiler/scala/tools/nsc/ast/parser/BracePatch.scala3
-rw-r--r--src/compiler/scala/tools/nsc/ast/parser/MarkupParsers.scala3
-rwxr-xr-xsrc/compiler/scala/tools/nsc/ast/parser/Parsers.scala79
-rwxr-xr-xsrc/compiler/scala/tools/nsc/ast/parser/Scanners.scala3
-rw-r--r--src/compiler/scala/tools/nsc/ast/parser/SymbolicXMLBuilder.scala3
-rw-r--r--src/compiler/scala/tools/nsc/ast/parser/SyntaxAnalyzer.scala3
-rw-r--r--src/compiler/scala/tools/nsc/ast/parser/Tokens.scala3
-rw-r--r--src/compiler/scala/tools/nsc/ast/parser/TreeBuilder.scala3
-rw-r--r--src/compiler/scala/tools/nsc/backend/ScalaPrimitives.scala3
-rw-r--r--src/compiler/scala/tools/nsc/backend/WorklistAlgorithm.scala3
-rw-r--r--src/compiler/scala/tools/nsc/backend/icode/BasicBlocks.scala4
-rw-r--r--src/compiler/scala/tools/nsc/backend/icode/CheckerError.scala4
-rw-r--r--src/compiler/scala/tools/nsc/backend/icode/Checkers.scala4
-rw-r--r--src/compiler/scala/tools/nsc/backend/icode/ExceptionHandlers.scala4
-rw-r--r--src/compiler/scala/tools/nsc/backend/icode/GenICode.scala8
-rw-r--r--src/compiler/scala/tools/nsc/backend/icode/ICodes.scala4
-rw-r--r--src/compiler/scala/tools/nsc/backend/icode/Linearizers.scala4
-rw-r--r--src/compiler/scala/tools/nsc/backend/icode/Members.scala4
-rw-r--r--src/compiler/scala/tools/nsc/backend/icode/Opcodes.scala4
-rw-r--r--src/compiler/scala/tools/nsc/backend/icode/Primitives.scala4
-rw-r--r--src/compiler/scala/tools/nsc/backend/icode/Printers.scala4
-rw-r--r--src/compiler/scala/tools/nsc/backend/icode/Repository.scala4
-rw-r--r--src/compiler/scala/tools/nsc/backend/icode/TypeKinds.scala4
-rw-r--r--src/compiler/scala/tools/nsc/backend/icode/TypeStacks.scala4
-rw-r--r--src/compiler/scala/tools/nsc/backend/icode/analysis/CompleteLattice.scala3
-rw-r--r--src/compiler/scala/tools/nsc/backend/icode/analysis/CopyPropagation.scala3
-rw-r--r--src/compiler/scala/tools/nsc/backend/icode/analysis/DataFlowAnalysis.scala3
-rw-r--r--src/compiler/scala/tools/nsc/backend/icode/analysis/Liveness.scala3
-rw-r--r--src/compiler/scala/tools/nsc/backend/icode/analysis/LubError.scala3
-rw-r--r--src/compiler/scala/tools/nsc/backend/icode/analysis/ProgramPoint.scala3
-rw-r--r--src/compiler/scala/tools/nsc/backend/icode/analysis/ReachingDefinitions.scala3
-rw-r--r--src/compiler/scala/tools/nsc/backend/icode/analysis/TypeFlowAnalysis.scala3
-rw-r--r--src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala3
-rw-r--r--src/compiler/scala/tools/nsc/backend/msil/GenMSIL.scala3
-rw-r--r--src/compiler/scala/tools/nsc/backend/opt/ClosureElimination.scala3
-rw-r--r--src/compiler/scala/tools/nsc/backend/opt/DeadCodeElimination.scala3
-rw-r--r--src/compiler/scala/tools/nsc/backend/opt/Inliners.scala3
-rw-r--r--src/compiler/scala/tools/nsc/dependencies/Changes.scala3
-rw-r--r--src/compiler/scala/tools/nsc/dependencies/DependencyAnalysis.scala5
-rw-r--r--src/compiler/scala/tools/nsc/dependencies/Files.scala5
-rw-r--r--src/compiler/scala/tools/nsc/dependencies/References.scala3
-rw-r--r--src/compiler/scala/tools/nsc/doc/DefaultDocDriver.scala3
-rw-r--r--src/compiler/scala/tools/nsc/doc/DocDriver.scala3
-rw-r--r--src/compiler/scala/tools/nsc/doc/DocUtil.scala3
-rw-r--r--src/compiler/scala/tools/nsc/doc/ModelAdditions.scala3
-rw-r--r--src/compiler/scala/tools/nsc/doc/ModelExtractor.scala3
-rw-r--r--src/compiler/scala/tools/nsc/doc/ModelFrames.scala3
-rw-r--r--src/compiler/scala/tools/nsc/doc/ModelToXML.scala3
-rw-r--r--src/compiler/scala/tools/nsc/doc/Settings.scala3
-rw-r--r--src/compiler/scala/tools/nsc/interactive/BuildManager.scala7
-rw-r--r--src/compiler/scala/tools/nsc/interactive/CompilerControl.scala3
-rwxr-xr-xsrc/compiler/scala/tools/nsc/interactive/ContextTrees.scala5
-rwxr-xr-xsrc/compiler/scala/tools/nsc/interactive/Global.scala9
-rwxr-xr-xsrc/compiler/scala/tools/nsc/interactive/Positions.scala5
-rw-r--r--src/compiler/scala/tools/nsc/interactive/REPL.scala3
-rwxr-xr-xsrc/compiler/scala/tools/nsc/interactive/RangePositions.scala5
-rw-r--r--src/compiler/scala/tools/nsc/interactive/RefinedBuildManager.scala7
-rw-r--r--src/compiler/scala/tools/nsc/interactive/RichCompilationUnits.scala3
-rw-r--r--src/compiler/scala/tools/nsc/interactive/SimpleBuildManager.scala7
-rw-r--r--src/compiler/scala/tools/nsc/interpreter/AbstractFileClassLoader.scala3
-rw-r--r--src/compiler/scala/tools/nsc/interpreter/Completion.scala5
-rw-r--r--src/compiler/scala/tools/nsc/interpreter/InteractiveReader.scala3
-rw-r--r--src/compiler/scala/tools/nsc/interpreter/JLineReader.scala3
-rw-r--r--src/compiler/scala/tools/nsc/interpreter/SimpleReader.scala3
-rw-r--r--src/compiler/scala/tools/nsc/io/AbstractFile.scala3
-rw-r--r--src/compiler/scala/tools/nsc/io/PlainFile.scala3
-rw-r--r--src/compiler/scala/tools/nsc/io/SourceReader.scala5
-rw-r--r--src/compiler/scala/tools/nsc/io/VirtualDirectory.scala3
-rw-r--r--src/compiler/scala/tools/nsc/io/VirtualFile.scala3
-rw-r--r--src/compiler/scala/tools/nsc/io/ZipArchive.scala3
-rwxr-xr-xsrc/compiler/scala/tools/nsc/javac/JavaParsers.scala17
-rwxr-xr-xsrc/compiler/scala/tools/nsc/javac/JavaScanners.scala3
-rwxr-xr-xsrc/compiler/scala/tools/nsc/javac/JavaTokens.scala3
-rw-r--r--src/compiler/scala/tools/nsc/matching/MatchUtil.scala3
-rw-r--r--src/compiler/scala/tools/nsc/matching/ParallelMatching.scala3
-rw-r--r--src/compiler/scala/tools/nsc/matching/PatternNodes.scala3
-rw-r--r--src/compiler/scala/tools/nsc/matching/TransMatcher.scala3
-rw-r--r--src/compiler/scala/tools/nsc/models/Models.scala5
-rw-r--r--src/compiler/scala/tools/nsc/models/SemanticTokens.scala5
-rw-r--r--src/compiler/scala/tools/nsc/models/Signatures.scala3
-rw-r--r--src/compiler/scala/tools/nsc/plugins/Plugin.scala3
-rw-r--r--src/compiler/scala/tools/nsc/plugins/PluginComponent.scala3
-rw-r--r--src/compiler/scala/tools/nsc/plugins/PluginDescription.scala3
-rw-r--r--src/compiler/scala/tools/nsc/plugins/PluginLoadException.scala3
-rw-r--r--src/compiler/scala/tools/nsc/plugins/Plugins.scala3
-rw-r--r--src/compiler/scala/tools/nsc/reporters/AbstractReporter.scala3
-rw-r--r--src/compiler/scala/tools/nsc/reporters/ConsoleReporter.scala3
-rw-r--r--src/compiler/scala/tools/nsc/reporters/Reporter.scala3
-rw-r--r--src/compiler/scala/tools/nsc/reporters/ReporterTimer.scala3
-rw-r--r--src/compiler/scala/tools/nsc/reporters/StoreReporter.scala3
-rw-r--r--src/compiler/scala/tools/nsc/symtab/AnnotationCheckers.scala3
-rw-r--r--src/compiler/scala/tools/nsc/symtab/AnnotationInfos.scala3
-rwxr-xr-xsrc/compiler/scala/tools/nsc/symtab/BaseTypeSeqs.scala3
-rw-r--r--src/compiler/scala/tools/nsc/symtab/Constants.scala3
-rw-r--r--src/compiler/scala/tools/nsc/symtab/Definitions.scala3
-rw-r--r--src/compiler/scala/tools/nsc/symtab/Flags.scala3
-rw-r--r--src/compiler/scala/tools/nsc/symtab/IdeSupport.scala5
-rw-r--r--src/compiler/scala/tools/nsc/symtab/InfoTransformers.scala3
-rw-r--r--src/compiler/scala/tools/nsc/symtab/Names.scala3
-rw-r--r--src/compiler/scala/tools/nsc/symtab/Scopes.scala3
-rw-r--r--src/compiler/scala/tools/nsc/symtab/StdNames.scala3
-rw-r--r--src/compiler/scala/tools/nsc/symtab/SymbolLoaders.scala3
-rw-r--r--src/compiler/scala/tools/nsc/symtab/SymbolTable.scala5
-rw-r--r--src/compiler/scala/tools/nsc/symtab/SymbolWalker.scala3
-rw-r--r--src/compiler/scala/tools/nsc/symtab/Symbols.scala3
-rw-r--r--src/compiler/scala/tools/nsc/symtab/Types.scala3
-rw-r--r--src/compiler/scala/tools/nsc/symtab/classfile/AbstractFileReader.scala4
-rw-r--r--src/compiler/scala/tools/nsc/symtab/classfile/ClassfileConstants.scala4
-rw-r--r--src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala4
-rw-r--r--src/compiler/scala/tools/nsc/symtab/classfile/ICodeReader.scala4
-rw-r--r--src/compiler/scala/tools/nsc/symtab/classfile/MetaParser.scala4
-rw-r--r--src/compiler/scala/tools/nsc/symtab/classfile/PickleBuffer.scala4
-rw-r--r--src/compiler/scala/tools/nsc/symtab/classfile/PickleFormat.scala4
-rw-r--r--src/compiler/scala/tools/nsc/symtab/classfile/Pickler.scala12
-rw-r--r--src/compiler/scala/tools/nsc/symtab/classfile/UnPickler.scala8
-rw-r--r--src/compiler/scala/tools/nsc/symtab/clr/CLRTypes.scala4
-rw-r--r--src/compiler/scala/tools/nsc/symtab/clr/TypeParser.scala4
-rw-r--r--src/compiler/scala/tools/nsc/transform/AddInterfaces.scala3
-rw-r--r--src/compiler/scala/tools/nsc/transform/CleanUp.scala3
-rw-r--r--src/compiler/scala/tools/nsc/transform/Constructors.scala3
-rw-r--r--src/compiler/scala/tools/nsc/transform/Erasure.scala3
-rw-r--r--src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala3
-rw-r--r--src/compiler/scala/tools/nsc/transform/Flatten.scala3
-rw-r--r--src/compiler/scala/tools/nsc/transform/InfoTransform.scala3
-rw-r--r--src/compiler/scala/tools/nsc/transform/LambdaLift.scala3
-rw-r--r--src/compiler/scala/tools/nsc/transform/LazyVals.scala3
-rw-r--r--src/compiler/scala/tools/nsc/transform/LiftCode.scala5
-rw-r--r--src/compiler/scala/tools/nsc/transform/Mixin.scala3
-rw-r--r--src/compiler/scala/tools/nsc/transform/OverridingPairs.scala3
-rw-r--r--src/compiler/scala/tools/nsc/transform/Reifiers.scala3
-rw-r--r--src/compiler/scala/tools/nsc/transform/SampleTransform.scala3
-rw-r--r--src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala7
-rw-r--r--src/compiler/scala/tools/nsc/transform/TailCalls.scala5
-rw-r--r--src/compiler/scala/tools/nsc/transform/Transform.scala3
-rw-r--r--src/compiler/scala/tools/nsc/transform/TypingTransformers.scala3
-rw-r--r--src/compiler/scala/tools/nsc/transform/UnCurry.scala3
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/Analyzer.scala3
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/ConstantFolder.scala3
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/Contexts.scala10
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/DeVirtualize.scala3
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/Duplicators.scala3
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/EtaExpansion.scala3
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/IdeSupport.scala5
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/Implicits.scala3
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/Infer.scala3
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/Namers.scala32
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/NamesDefaults.scala3
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/RefChecks.scala3
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/SuperAccessors.scala7
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/SyntheticMethods.scala3
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/TreeCheckers.scala3
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/Typers.scala77
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/Unapplies.scala3
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/Variances.scala3
-rw-r--r--src/compiler/scala/tools/nsc/util/ArgumentsExpander.scala3
-rw-r--r--src/compiler/scala/tools/nsc/util/BitSet.scala3
-rwxr-xr-xsrc/compiler/scala/tools/nsc/util/CharArrayReader.scala3
-rw-r--r--src/compiler/scala/tools/nsc/util/ClassPath.scala3
-rw-r--r--src/compiler/scala/tools/nsc/util/FreshNameCreator.scala3
-rw-r--r--src/compiler/scala/tools/nsc/util/HashSet.scala3
-rwxr-xr-xsrc/compiler/scala/tools/nsc/util/JavaCharArrayReader.scala3
-rw-r--r--src/compiler/scala/tools/nsc/util/Position.scala3
-rw-r--r--src/compiler/scala/tools/nsc/util/RegexCache.scala3
-rw-r--r--src/compiler/scala/tools/nsc/util/Set.scala3
-rw-r--r--src/compiler/scala/tools/nsc/util/ShowPickled.scala3
-rw-r--r--src/compiler/scala/tools/nsc/util/SourceFile.scala3
-rw-r--r--src/compiler/scala/tools/nsc/util/Statistics.scala3
-rw-r--r--src/compiler/scala/tools/nsc/util/TreeSet.scala3
-rw-r--r--src/compiler/scala/tools/nsc/util/WorkScheduler.scala3
-rw-r--r--src/compiler/scala/tools/nsc/util/trace.scala3
181 files changed, 558 insertions, 351 deletions
diff --git a/src/compiler/scala/tools/ant/FastScalac.scala b/src/compiler/scala/tools/ant/FastScalac.scala
index 581bdb7ea6..1aca0b3c81 100644
--- a/src/compiler/scala/tools/ant/FastScalac.scala
+++ b/src/compiler/scala/tools/ant/FastScalac.scala
@@ -93,7 +93,7 @@ class FastScalac extends Scalac {
val args = (cmdOptions ::: (sourceFiles map (_.toString))).toArray
try {
- if(nsc.CompileClient.main0(args) > 0 && failonerror)
+ if (scala.tools.nsc.CompileClient.main0(args) > 0 && failonerror)
error("Compile failed; see the compiler error output for details.")
}
catch {
diff --git a/src/compiler/scala/tools/nsc/Global.scala b/src/compiler/scala/tools/nsc/Global.scala
index c4ce109946..e842c96641 100644
--- a/src/compiler/scala/tools/nsc/Global.scala
+++ b/src/compiler/scala/tools/nsc/Global.scala
@@ -146,7 +146,7 @@ class Global(var settings: Settings, var reporter: Reporter) extends SymbolTable
// ------------------ Reporting -------------------------------------
- import nsc.util.NoPosition
+ import util.NoPosition
def error(msg: String) = reporter.error(NoPosition, msg)
def warning(msg: String) = reporter.warning(NoPosition, msg)
def inform(msg: String) = Console.err.println(msg)
diff --git a/src/compiler/scala/tools/nsc/Interpreter.scala b/src/compiler/scala/tools/nsc/Interpreter.scala
index b41f577f84..b32dc796da 100644
--- a/src/compiler/scala/tools/nsc/Interpreter.scala
+++ b/src/compiler/scala/tools/nsc/Interpreter.scala
@@ -23,8 +23,8 @@ import reporters.{ ConsoleReporter, Reporter }
import symtab.{ Flags, Names }
import util.{ SourceFile, BatchSourceFile, ClassPath }
import scala.util.NameTransformer
-import nsc.{ InterpreterResults => IR }
-import nsc.interpreter._
+import scala.tools.nsc.{ InterpreterResults => IR }
+import interpreter._
import Interpreter._
/** <p>
diff --git a/src/compiler/scala/tools/nsc/ast/NodePrinters.scala b/src/compiler/scala/tools/nsc/ast/NodePrinters.scala
index bf7a890524..6d4d5f99fd 100644
--- a/src/compiler/scala/tools/nsc/ast/NodePrinters.scala
+++ b/src/compiler/scala/tools/nsc/ast/NodePrinters.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.ast
+package scala.tools.nsc
+package ast
import compat.Platform.EOL
import symtab.Flags._
@@ -317,8 +318,10 @@ abstract class NodePrinters {
traverse(tpt, level + 1, true)
traverse(rhs, level + 1, false)
printcln(")")
- case PackageDef(name, stats) =>
- println("PackageDef("+name+", ")
+ case PackageDef(pid, stats) =>
+ println("PackageDef(")
+ traverse(pid, level + 1, false)
+ println(",\n")
for (stat <- stats)
traverse(stat, level + 1, false)
printcln(")")
diff --git a/src/compiler/scala/tools/nsc/ast/TreeBrowsers.scala b/src/compiler/scala/tools/nsc/ast/TreeBrowsers.scala
index af9a45fde5..eb46e93d73 100644
--- a/src/compiler/scala/tools/nsc/ast/TreeBrowsers.scala
+++ b/src/compiler/scala/tools/nsc/ast/TreeBrowsers.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.ast
+package scala.tools.nsc
+package ast
import java.awt.{List => awtList, _}
import java.awt.event._
@@ -412,7 +413,7 @@ abstract class TreeBrowsers {
mods.annotations ::: impl :: children
}
- case PackageDef(name, stats) =>
+ case PackageDef(pid, stats) =>
stats
case ModuleDef(mods, name, impl) =>
diff --git a/src/compiler/scala/tools/nsc/ast/TreeDSL.scala b/src/compiler/scala/tools/nsc/ast/TreeDSL.scala
index 97869d5ea5..253994744b 100644
--- a/src/compiler/scala/tools/nsc/ast/TreeDSL.scala
+++ b/src/compiler/scala/tools/nsc/ast/TreeDSL.scala
@@ -4,7 +4,8 @@
* @author Paul Phillips
*/
-package scala.tools.nsc.ast
+package scala.tools.nsc
+package ast
/** A DSL for generating scala code. The goal is that the
* code generating code should look a lot like the code it
@@ -244,4 +245,4 @@ trait TreeDSL {
implicit def mkTreeFromSelectStart(ss: SelectStart): Select = ss.tree
implicit def mkTreeMethodsFromSelectStart(ss: SelectStart): TreeMethods = mkTreeMethods(ss.tree)
}
-} \ No newline at end of file
+}
diff --git a/src/compiler/scala/tools/nsc/ast/TreeGen.scala b/src/compiler/scala/tools/nsc/ast/TreeGen.scala
index 5c4d7c1c37..2baf578914 100644
--- a/src/compiler/scala/tools/nsc/ast/TreeGen.scala
+++ b/src/compiler/scala/tools/nsc/ast/TreeGen.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.ast
+package scala.tools.nsc
+package ast
import scala.collection.mutable.ListBuffer
import symtab.Flags._
diff --git a/src/compiler/scala/tools/nsc/ast/TreeInfo.scala b/src/compiler/scala/tools/nsc/ast/TreeInfo.scala
index 3eb6dc321b..5e1a36dc72 100644
--- a/src/compiler/scala/tools/nsc/ast/TreeInfo.scala
+++ b/src/compiler/scala/tools/nsc/ast/TreeInfo.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.ast
+package scala.tools.nsc
+package ast
import symtab.Flags._
import symtab.SymbolTable
@@ -324,7 +325,7 @@ abstract class TreeInfo {
/** Compilation unit is the predef object
*/
def isPredefUnit(tree: Tree): Boolean = tree match {
- case PackageDef(nme.scala_, List(obj)) => isPredefObj(obj)
+ case PackageDef(Ident(nme.scala_), List(obj)) => isPredefObj(obj)
case _ => false
}
diff --git a/src/compiler/scala/tools/nsc/ast/TreePrinters.scala b/src/compiler/scala/tools/nsc/ast/TreePrinters.scala
index 43ecc7b9f1..fe2fa4513d 100644
--- a/src/compiler/scala/tools/nsc/ast/TreePrinters.scala
+++ b/src/compiler/scala/tools/nsc/ast/TreePrinters.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.ast
+package scala.tools.nsc
+package ast
import compat.Platform.{EOL => LINE_SEPARATOR}
import java.io.{OutputStream, PrintWriter, Writer}
diff --git a/src/compiler/scala/tools/nsc/ast/Trees.scala b/src/compiler/scala/tools/nsc/ast/Trees.scala
index 79977d69bc..c005d0690e 100644
--- a/src/compiler/scala/tools/nsc/ast/Trees.scala
+++ b/src/compiler/scala/tools/nsc/ast/Trees.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.ast
+package scala.tools.nsc
+package ast
import java.io.{PrintWriter, StringWriter}
@@ -273,6 +274,10 @@ trait Trees {
override var symbol: Symbol = NoSymbol
}
+ trait RefTree extends SymTree {
+ def name: Name
+ }
+
abstract class DefTree extends SymTree {
def name: Name
override def isDef = true
@@ -338,14 +343,18 @@ trait Trees {
final def hasFlag(mask: Long): Boolean = (mods.flags & mask) != 0
}
- /** Package clause */
- case class PackageDef(name: Name, stats: List[Tree])
+ /** Package clause
+ */
+ case class PackageDef(pid: RefTree, stats: List[Tree])
extends MemberDef {
+ def name = pid.name
def mods = NoMods
}
+/* disabled, as this is now dangerous
def PackageDef(sym: Symbol, stats: List[Tree]): PackageDef =
- PackageDef(sym.name, stats) setSymbol sym
+ PackageDef(Ident(sym.name), stats) setSymbol sym
+*/
abstract class ImplDef extends MemberDef {
def impl: Template
@@ -812,10 +821,10 @@ trait Trees {
def This(sym: Symbol): Tree = This(sym.name) setSymbol sym
/** Designator <qualifier> . <selector> */
- case class Select(qualifier: Tree, selector: Name)
- extends SymTree {
- override def isTerm = selector.isTermName
- override def isType = selector.isTypeName
+ case class Select(qualifier: Tree, name: Name)
+ extends RefTree {
+ override def isTerm = name.isTermName
+ override def isType = name.isTypeName
}
def Select(qualifier: Tree, sym: Symbol): Select =
@@ -823,7 +832,7 @@ trait Trees {
/** Identifier <name> */
case class Ident(name: Name)
- extends SymTree {
+ extends RefTree {
override def isTerm = name.isTermName
override def isType = name.isTypeName
}
@@ -880,8 +889,8 @@ trait Trees {
extends TypTree
/** Type selection <qualifier> # <selector>, eliminated by RefCheck */
- case class SelectFromTypeTree(qualifier: Tree, selector: Name)
- extends TypTree with SymTree
+ case class SelectFromTypeTree(qualifier: Tree, name: Name)
+ extends TypTree with RefTree
/** Intersection type <parent1> with ... with <parentN> { <decls> }, eliminated by RefCheck */
case class CompoundTypeTree(templ: Template)
@@ -909,8 +918,8 @@ trait Trees {
/* A standard pattern match
case EmptyTree =>
- case PackageDef(name, stats) =>
- // package name { stats }
+ case PackageDef(pid, stats) =>
+ // package pid { stats }
case ClassDef(mods, name, tparams, impl) =>
// mods class name [tparams] impl where impl = extends parents { defs }
case ModuleDef(mods, name, impl) => (eliminated by refcheck)
@@ -1023,7 +1032,7 @@ trait Trees {
abstract class TreeCopier {
def ClassDef(tree: Tree, mods: Modifiers, name: Name, tparams: List[TypeDef], impl: Template): ClassDef
- def PackageDef(tree: Tree, name: Name, stats: List[Tree]): PackageDef
+ def PackageDef(tree: Tree, pid: RefTree, stats: List[Tree]): PackageDef
def ModuleDef(tree: Tree, mods: Modifiers, name: Name, impl: Template): ModuleDef
def ValDef(tree: Tree, mods: Modifiers, name: Name, tpt: Tree, rhs: Tree): ValDef
def DefDef(tree: Tree, mods: Modifiers, name: Name, tparams: List[TypeDef], vparamss: List[List[ValDef]], tpt: Tree, rhs: Tree): DefDef
@@ -1071,8 +1080,8 @@ trait Trees {
class StrictTreeCopier extends TreeCopier {
def ClassDef(tree: Tree, mods: Modifiers, name: Name, tparams: List[TypeDef], impl: Template) =
new ClassDef(mods, name, tparams, impl).copyAttrs(tree);
- def PackageDef(tree: Tree, name: Name, stats: List[Tree]) =
- new PackageDef(name, stats).copyAttrs(tree)
+ def PackageDef(tree: Tree, pid: RefTree, stats: List[Tree]) =
+ new PackageDef(pid, stats).copyAttrs(tree)
def ModuleDef(tree: Tree, mods: Modifiers, name: Name, impl: Template) =
new ModuleDef(mods, name, impl).copyAttrs(tree)
def ValDef(tree: Tree, mods: Modifiers, name: Name, tpt: Tree, rhs: Tree) =
@@ -1166,10 +1175,10 @@ trait Trees {
if (mods0 == mods) && (name0 == name) && (tparams0 == tparams) && (impl0 == impl) => t
case _ => treeCopy.ClassDef(tree, mods, name, tparams, impl)
}
- def PackageDef(tree: Tree, name: Name, stats: List[Tree]) = tree match {
- case t @ PackageDef(name0, stats0)
- if (name0 == name) && (stats0 == stats) => t
- case _ => treeCopy.PackageDef(tree, name, stats)
+ def PackageDef(tree: Tree, pid: RefTree, stats: List[Tree]) = tree match {
+ case t @ PackageDef(pid0, stats0)
+ if (pid0 == pid) && (stats0 == stats) => t
+ case _ => treeCopy.PackageDef(tree, pid, stats)
}
def ModuleDef(tree: Tree, mods: Modifiers, name: Name, impl: Template) = tree match {
case t @ ModuleDef(mods0, name0, impl0)
@@ -1392,10 +1401,13 @@ trait Trees {
def transform(tree: Tree): Tree = tree match {
case EmptyTree =>
tree
- case PackageDef(name, stats) =>
- atOwner(tree.symbol.moduleClass) {
- treeCopy.PackageDef(tree, name, transformStats(stats, currentOwner))
- }
+ case PackageDef(pid, stats) =>
+ treeCopy.PackageDef(
+ tree, transform(pid).asInstanceOf[RefTree],
+ atOwner(tree.symbol.moduleClass) {
+ transformStats(stats, currentOwner)
+ }
+ )
case ClassDef(mods, name, tparams, impl) =>
atOwner(tree.symbol) {
treeCopy.ClassDef(tree, transformModifiers(mods), name,
@@ -1544,7 +1556,8 @@ trait Trees {
def traverse(tree: Tree): Unit = tree match {
case EmptyTree =>
;
- case PackageDef(name, stats) =>
+ case PackageDef(pid, stats) =>
+ traverse(pid)
atOwner(tree.symbol.moduleClass) {
traverseTrees(stats)
}
diff --git a/src/compiler/scala/tools/nsc/ast/parser/BracePair.scala b/src/compiler/scala/tools/nsc/ast/parser/BracePair.scala
index 44cf5e7f2c..ea64eee7ba 100644
--- a/src/compiler/scala/tools/nsc/ast/parser/BracePair.scala
+++ b/src/compiler/scala/tools/nsc/ast/parser/BracePair.scala
@@ -2,7 +2,8 @@
* Copyright 2005-2009 LAMP/EPFL
* @author Martin Odersky
*/
-package scala.tools.nsc.ast.parser
+package scala.tools.nsc
+package ast.parser
/** A descriptor for a matching pair of braces.
* @param loff The offset of the opening brace (-1 means missing)
diff --git a/src/compiler/scala/tools/nsc/ast/parser/BracePatch.scala b/src/compiler/scala/tools/nsc/ast/parser/BracePatch.scala
index 00d2e1a2ba..c77b33946a 100644
--- a/src/compiler/scala/tools/nsc/ast/parser/BracePatch.scala
+++ b/src/compiler/scala/tools/nsc/ast/parser/BracePatch.scala
@@ -2,7 +2,8 @@
* Copyright 2005-2009 LAMP/EPFL
* @author Martin Odersky
*/
-package scala.tools.nsc.ast.parser
+package scala.tools.nsc
+package ast.parser
/** A patch that postulates that a brace needs to be inserted or deleted at a given position.
* @param off The offset where the brace needs to be inserted or deleted
diff --git a/src/compiler/scala/tools/nsc/ast/parser/MarkupParsers.scala b/src/compiler/scala/tools/nsc/ast/parser/MarkupParsers.scala
index d247134fd6..b1b9b81145 100644
--- a/src/compiler/scala/tools/nsc/ast/parser/MarkupParsers.scala
+++ b/src/compiler/scala/tools/nsc/ast/parser/MarkupParsers.scala
@@ -4,7 +4,8 @@
*/
// $Id: MarkupParsers.scala 17754 2009-05-18 10:54:00Z milessabin $
-package scala.tools.nsc.ast.parser
+package scala.tools.nsc
+package ast.parser
import scala.collection.mutable
import scala.util.control.ControlException
diff --git a/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala b/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala
index 2c878a7841..f18ac77ed4 100755
--- a/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala
+++ b/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala
@@ -6,7 +6,8 @@
//todo: allow infix type patterns
-package scala.tools.nsc.ast.parser
+package scala.tools.nsc
+package ast.parser
import scala.collection.mutable.ListBuffer
import scala.tools.nsc.util.{Position, OffsetPosition, NoPosition, BatchSourceFile}
@@ -2340,14 +2341,16 @@ self =>
/** Create a tree representing a packaging */
def makePackaging(start: Int, pkg: Tree, stats: List[Tree]): PackageDef =
- atPos(start, pkg.pos.point) {
+ atPos(start, pkg.pos.point) { PackageDef(pkg.asInstanceOf[RefTree], stats) }
+/*
pkg match {
- case Ident(name) =>
- PackageDef(name, stats)
- case Select(qual, name) =>
- makePackaging(start, qual, List(PackageDef(name, stats)))
+ case id @ Ident(_) =>
+ PackageDef(id, stats)
+ case Select(qual, name) => // drop this to flatten packages
+ makePackaging(start, qual, List(PackageDef(Ident(name), stats)))
}
}
+*/
/** Create a tree representing a package object, converting
* package object foo { ... }
@@ -2528,34 +2531,32 @@ self =>
stats.toList
}
- /** CompilationUnit ::= [package QualId semi] TopStatSeq
+ /** CompilationUnit ::= {package QualId semi} TopStatSeq
*/
def compilationUnit(): Tree = checkNoEscapingPlaceholders {
- val ts = new ListBuffer[Tree]
-
- // @S: the IDE can insert phantom semi-colons before package during editing
- // @S: just eat them (doesn't really change the grammar)
- while (in.token == SEMI) in.nextToken()
- val start = in.offset
- if (in.token == PACKAGE) {
- in.nextToken()
- if (in.token == OBJECT) {
- ts += makePackageObject(start, objectDef(NoMods))
- if (in.token != EOF) {
- acceptStatSep()
- ts ++= topStatSeq()
- }
- } else {
- val pkg = qualId()
- newLineOptWhenFollowedBy(LBRACE)
- if (in.token == EOF) {
- ts += makePackaging(start, pkg, List())
- } else if (isStatSep) {
- in.nextToken()
- ts += makePackaging(start, pkg, topStatSeq())
- } else {
- accept(LBRACE)
- ts += makePackaging(start, pkg, topStatSeq())
+ def topstats(): List[Tree] = {
+ val ts = new ListBuffer[Tree]
+ while (in.token == SEMI) in.nextToken()
+ val start = in.offset
+ if (in.token == PACKAGE) {
+ in.nextToken()
+ if (in.token == OBJECT) {
+ ts += makePackageObject(start, objectDef(NoMods))
+ if (in.token != EOF) {
+ acceptStatSep()
+ ts ++= topStatSeq()
+ }
+ } else {
+ val pkg = qualId()
+ newLineOptWhenFollowedBy(LBRACE)
+ if (in.token == EOF) {
+ ts += makePackaging(start, pkg, List())
+ } else if (isStatSep) {
+ in.nextToken()
+ ts += makePackaging(start, pkg, topstats())
+ } else {
+ accept(LBRACE)
+ ts += makePackaging(start, pkg, topStatSeq())
accept(RBRACE)
ts ++= topStatSeq()
}
@@ -2563,13 +2564,15 @@ self =>
} else {
ts ++= topStatSeq()
}
- val stats = ts.toList
- atPos(start) {
- stats match {
- case List(stat @ PackageDef(_, _)) => stat
- case _ => makePackaging(start, atPos(o2p(start)) { Ident(nme.EMPTY_PACKAGE_NAME) }, stats)
- }
+ ts.toList
+ }
+ val start = in.offset
+ atPos(start) {
+ topstats() match {
+ case List(stat @ PackageDef(_, _)) => stat
+ case stats => makePackaging(start, atPos(o2p(start)) { Ident(nme.EMPTY_PACKAGE_NAME) }, stats)
}
+ }
}
}
}
diff --git a/src/compiler/scala/tools/nsc/ast/parser/Scanners.scala b/src/compiler/scala/tools/nsc/ast/parser/Scanners.scala
index aa7d104ab4..814017d6dc 100755
--- a/src/compiler/scala/tools/nsc/ast/parser/Scanners.scala
+++ b/src/compiler/scala/tools/nsc/ast/parser/Scanners.scala
@@ -3,7 +3,8 @@
* @author Martin Odersky
*/
// $Id: Scanners.scala 17285 2009-03-11 13:51:56Z rytz $
-package scala.tools.nsc.ast.parser
+package scala.tools.nsc
+package ast.parser
import scala.tools.nsc.util._
import SourceFile.{LF, FF, CR, SU}
diff --git a/src/compiler/scala/tools/nsc/ast/parser/SymbolicXMLBuilder.scala b/src/compiler/scala/tools/nsc/ast/parser/SymbolicXMLBuilder.scala
index 6e73427a69..26735aec65 100644
--- a/src/compiler/scala/tools/nsc/ast/parser/SymbolicXMLBuilder.scala
+++ b/src/compiler/scala/tools/nsc/ast/parser/SymbolicXMLBuilder.scala
@@ -4,7 +4,8 @@
*/
// $Id: SymbolicXMLBuilder.scala 17756 2009-05-18 14:28:59Z rytz $
-package scala.tools.nsc.ast.parser
+package scala.tools.nsc
+package ast.parser
import collection.mutable.Map
import xml.{ EntityRef, Text }
diff --git a/src/compiler/scala/tools/nsc/ast/parser/SyntaxAnalyzer.scala b/src/compiler/scala/tools/nsc/ast/parser/SyntaxAnalyzer.scala
index 874dd3cf8d..d8f43cae2b 100644
--- a/src/compiler/scala/tools/nsc/ast/parser/SyntaxAnalyzer.scala
+++ b/src/compiler/scala/tools/nsc/ast/parser/SyntaxAnalyzer.scala
@@ -4,7 +4,8 @@
*/
// $Id: SyntaxAnalyzer.scala 17080 2009-02-10 17:19:16Z rytz $
-package scala.tools.nsc.ast.parser
+package scala.tools.nsc
+package ast.parser
import javac._
diff --git a/src/compiler/scala/tools/nsc/ast/parser/Tokens.scala b/src/compiler/scala/tools/nsc/ast/parser/Tokens.scala
index 1b167e96a1..29da4008aa 100644
--- a/src/compiler/scala/tools/nsc/ast/parser/Tokens.scala
+++ b/src/compiler/scala/tools/nsc/ast/parser/Tokens.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.ast.parser
+package scala.tools.nsc
+package ast.parser
object Tokens {
diff --git a/src/compiler/scala/tools/nsc/ast/parser/TreeBuilder.scala b/src/compiler/scala/tools/nsc/ast/parser/TreeBuilder.scala
index e3d5eab42d..fe06b663b2 100644
--- a/src/compiler/scala/tools/nsc/ast/parser/TreeBuilder.scala
+++ b/src/compiler/scala/tools/nsc/ast/parser/TreeBuilder.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.ast.parser
+package scala.tools.nsc
+package ast.parser
import symtab.Flags._
import scala.collection.mutable.ListBuffer
diff --git a/src/compiler/scala/tools/nsc/backend/ScalaPrimitives.scala b/src/compiler/scala/tools/nsc/backend/ScalaPrimitives.scala
index 3f53b2e77c..5485294c00 100644
--- a/src/compiler/scala/tools/nsc/backend/ScalaPrimitives.scala
+++ b/src/compiler/scala/tools/nsc/backend/ScalaPrimitives.scala
@@ -5,7 +5,8 @@
// $Id$
-package scala.tools.nsc.backend
+package scala.tools.nsc
+package backend
import scala.tools.nsc.backend.icode._
diff --git a/src/compiler/scala/tools/nsc/backend/WorklistAlgorithm.scala b/src/compiler/scala/tools/nsc/backend/WorklistAlgorithm.scala
index d246699d3c..a3634556cd 100644
--- a/src/compiler/scala/tools/nsc/backend/WorklistAlgorithm.scala
+++ b/src/compiler/scala/tools/nsc/backend/WorklistAlgorithm.scala
@@ -5,7 +5,8 @@
// $Id$
-package scala.tools.nsc.backend
+package scala.tools.nsc
+package backend
import scala.tools.nsc.ast._
import scala.collection.mutable.Stack
diff --git a/src/compiler/scala/tools/nsc/backend/icode/BasicBlocks.scala b/src/compiler/scala/tools/nsc/backend/icode/BasicBlocks.scala
index 382544bd0c..eb2d4bef10 100644
--- a/src/compiler/scala/tools/nsc/backend/icode/BasicBlocks.scala
+++ b/src/compiler/scala/tools/nsc/backend/icode/BasicBlocks.scala
@@ -5,7 +5,9 @@
// $Id$
-package scala.tools.nsc.backend.icode
+package scala.tools.nsc
+package backend
+package icode
//import scala.tools.nsc.ast._
import scala.collection.mutable.{Map, Set}
diff --git a/src/compiler/scala/tools/nsc/backend/icode/CheckerError.scala b/src/compiler/scala/tools/nsc/backend/icode/CheckerError.scala
index 083ae6f6f5..52f5f86326 100644
--- a/src/compiler/scala/tools/nsc/backend/icode/CheckerError.scala
+++ b/src/compiler/scala/tools/nsc/backend/icode/CheckerError.scala
@@ -5,7 +5,9 @@
// $Id$
-package scala.tools.nsc.backend.icode
+package scala.tools.nsc
+package backend
+package icode
class CheckerError(s: String) extends Exception(s)
diff --git a/src/compiler/scala/tools/nsc/backend/icode/Checkers.scala b/src/compiler/scala/tools/nsc/backend/icode/Checkers.scala
index 1bf3c691d5..51fca5f8ac 100644
--- a/src/compiler/scala/tools/nsc/backend/icode/Checkers.scala
+++ b/src/compiler/scala/tools/nsc/backend/icode/Checkers.scala
@@ -5,7 +5,9 @@
// $Id$
-package scala.tools.nsc.backend.icode
+package scala.tools.nsc
+package backend
+package icode
import scala.collection.mutable.{Buffer, ListBuffer, Map, HashMap}
import scala.tools.nsc.symtab._
diff --git a/src/compiler/scala/tools/nsc/backend/icode/ExceptionHandlers.scala b/src/compiler/scala/tools/nsc/backend/icode/ExceptionHandlers.scala
index 94db998bff..a0a673439f 100644
--- a/src/compiler/scala/tools/nsc/backend/icode/ExceptionHandlers.scala
+++ b/src/compiler/scala/tools/nsc/backend/icode/ExceptionHandlers.scala
@@ -5,7 +5,9 @@
// $Id$
-package scala.tools.nsc.backend.icode;
+package scala.tools.nsc
+package backend
+package icode;
import scala.collection._
diff --git a/src/compiler/scala/tools/nsc/backend/icode/GenICode.scala b/src/compiler/scala/tools/nsc/backend/icode/GenICode.scala
index 134c0e3999..bee6674fd1 100644
--- a/src/compiler/scala/tools/nsc/backend/icode/GenICode.scala
+++ b/src/compiler/scala/tools/nsc/backend/icode/GenICode.scala
@@ -5,7 +5,9 @@
// $Id$
-package scala.tools.nsc.backend.icode
+package scala.tools.nsc
+package backend
+package icode
import scala.collection.mutable.{Map, HashMap, ListBuffer, Buffer, HashSet}
import scala.tools.nsc.symtab._
@@ -77,8 +79,8 @@ abstract class GenICode extends SubComponent {
def gen(tree: Tree, ctx: Context): Context = tree match {
case EmptyTree => ctx
- case PackageDef(name, stats) =>
- gen(stats, ctx setPackage name)
+ case PackageDef(pid, stats) =>
+ gen(stats, ctx setPackage pid.name)
case ClassDef(mods, name, _, impl) =>
log("Generating class: " + tree.symbol.fullNameString)
diff --git a/src/compiler/scala/tools/nsc/backend/icode/ICodes.scala b/src/compiler/scala/tools/nsc/backend/icode/ICodes.scala
index 55a96703b1..000f2085c6 100644
--- a/src/compiler/scala/tools/nsc/backend/icode/ICodes.scala
+++ b/src/compiler/scala/tools/nsc/backend/icode/ICodes.scala
@@ -5,7 +5,9 @@
// $Id$
-package scala.tools.nsc.backend.icode
+package scala.tools.nsc
+package backend
+package icode
import java.io.PrintWriter
diff --git a/src/compiler/scala/tools/nsc/backend/icode/Linearizers.scala b/src/compiler/scala/tools/nsc/backend/icode/Linearizers.scala
index d69bf7dc1e..7d9b2fd537 100644
--- a/src/compiler/scala/tools/nsc/backend/icode/Linearizers.scala
+++ b/src/compiler/scala/tools/nsc/backend/icode/Linearizers.scala
@@ -5,7 +5,9 @@
// $Id$
-package scala.tools.nsc.backend.icode;
+package scala.tools.nsc
+package backend
+package icode;
import scala.tools.nsc.ast._;
import scala.collection.mutable.{Stack, HashSet, BitSet};
diff --git a/src/compiler/scala/tools/nsc/backend/icode/Members.scala b/src/compiler/scala/tools/nsc/backend/icode/Members.scala
index aba565d556..19f78626e9 100644
--- a/src/compiler/scala/tools/nsc/backend/icode/Members.scala
+++ b/src/compiler/scala/tools/nsc/backend/icode/Members.scala
@@ -5,7 +5,9 @@
// $Id$
-package scala.tools.nsc.backend.icode
+package scala.tools.nsc
+package backend
+package icode
import java.io.PrintWriter
diff --git a/src/compiler/scala/tools/nsc/backend/icode/Opcodes.scala b/src/compiler/scala/tools/nsc/backend/icode/Opcodes.scala
index 22b932b666..7351e4d05f 100644
--- a/src/compiler/scala/tools/nsc/backend/icode/Opcodes.scala
+++ b/src/compiler/scala/tools/nsc/backend/icode/Opcodes.scala
@@ -6,7 +6,9 @@
// $Id$
-package scala.tools.nsc.backend.icode
+package scala.tools.nsc
+package backend
+package icode
import scala.tools.nsc.ast._
import scala.tools.nsc.util.{Position,NoPosition}
diff --git a/src/compiler/scala/tools/nsc/backend/icode/Primitives.scala b/src/compiler/scala/tools/nsc/backend/icode/Primitives.scala
index edc51056c0..b9564a3cb1 100644
--- a/src/compiler/scala/tools/nsc/backend/icode/Primitives.scala
+++ b/src/compiler/scala/tools/nsc/backend/icode/Primitives.scala
@@ -5,7 +5,9 @@
// $Id$
-package scala.tools.nsc.backend.icode;
+package scala.tools.nsc
+package backend
+package icode;
import java.io.PrintWriter;
diff --git a/src/compiler/scala/tools/nsc/backend/icode/Printers.scala b/src/compiler/scala/tools/nsc/backend/icode/Printers.scala
index f3a1096271..812d77f4ff 100644
--- a/src/compiler/scala/tools/nsc/backend/icode/Printers.scala
+++ b/src/compiler/scala/tools/nsc/backend/icode/Printers.scala
@@ -5,7 +5,9 @@
// $Id$
-package scala.tools.nsc.backend.icode
+package scala.tools.nsc
+package backend
+package icode
import java.io.PrintWriter
diff --git a/src/compiler/scala/tools/nsc/backend/icode/Repository.scala b/src/compiler/scala/tools/nsc/backend/icode/Repository.scala
index 379ef80da4..2fc200227c 100644
--- a/src/compiler/scala/tools/nsc/backend/icode/Repository.scala
+++ b/src/compiler/scala/tools/nsc/backend/icode/Repository.scala
@@ -5,7 +5,9 @@
// $Id$
-package scala.tools.nsc.backend.icode
+package scala.tools.nsc
+package backend
+package icode
import scala.collection._
diff --git a/src/compiler/scala/tools/nsc/backend/icode/TypeKinds.scala b/src/compiler/scala/tools/nsc/backend/icode/TypeKinds.scala
index a9fc518272..6e83d629b4 100644
--- a/src/compiler/scala/tools/nsc/backend/icode/TypeKinds.scala
+++ b/src/compiler/scala/tools/nsc/backend/icode/TypeKinds.scala
@@ -5,7 +5,9 @@
// $Id$
-package scala.tools.nsc.backend.icode
+package scala.tools.nsc
+package backend
+package icode
/* A type case
diff --git a/src/compiler/scala/tools/nsc/backend/icode/TypeStacks.scala b/src/compiler/scala/tools/nsc/backend/icode/TypeStacks.scala
index 5ac7943c23..205b43eea6 100644
--- a/src/compiler/scala/tools/nsc/backend/icode/TypeStacks.scala
+++ b/src/compiler/scala/tools/nsc/backend/icode/TypeStacks.scala
@@ -5,7 +5,9 @@
// $Id$
-package scala.tools.nsc.backend.icode
+package scala.tools.nsc
+package backend
+package icode
/** This trait ...
*
diff --git a/src/compiler/scala/tools/nsc/backend/icode/analysis/CompleteLattice.scala b/src/compiler/scala/tools/nsc/backend/icode/analysis/CompleteLattice.scala
index 8d5b81c5b4..d7496f5db4 100644
--- a/src/compiler/scala/tools/nsc/backend/icode/analysis/CompleteLattice.scala
+++ b/src/compiler/scala/tools/nsc/backend/icode/analysis/CompleteLattice.scala
@@ -5,7 +5,8 @@
// $Id$
-package scala.tools.nsc.backend.icode.analysis
+package scala.tools.nsc
+package backend.icode.analysis
/** A complete lattice.
*/
diff --git a/src/compiler/scala/tools/nsc/backend/icode/analysis/CopyPropagation.scala b/src/compiler/scala/tools/nsc/backend/icode/analysis/CopyPropagation.scala
index 086ff74b0e..d83e7341e6 100644
--- a/src/compiler/scala/tools/nsc/backend/icode/analysis/CopyPropagation.scala
+++ b/src/compiler/scala/tools/nsc/backend/icode/analysis/CopyPropagation.scala
@@ -5,7 +5,8 @@
// $Id$
-package scala.tools.nsc.backend.icode.analysis
+package scala.tools.nsc
+package backend.icode.analysis
import scala.collection.mutable.{Map, HashMap}
import scala.tools.nsc.symtab.Flags.DEFERRED
diff --git a/src/compiler/scala/tools/nsc/backend/icode/analysis/DataFlowAnalysis.scala b/src/compiler/scala/tools/nsc/backend/icode/analysis/DataFlowAnalysis.scala
index 23a28b4a2d..ff8a1dcdee 100644
--- a/src/compiler/scala/tools/nsc/backend/icode/analysis/DataFlowAnalysis.scala
+++ b/src/compiler/scala/tools/nsc/backend/icode/analysis/DataFlowAnalysis.scala
@@ -5,7 +5,8 @@
// $Id$
-package scala.tools.nsc.backend.icode.analysis
+package scala.tools.nsc
+package backend.icode.analysis
import scala.collection.mutable.{Map, HashMap, Set, HashSet, LinkedHashSet}
diff --git a/src/compiler/scala/tools/nsc/backend/icode/analysis/Liveness.scala b/src/compiler/scala/tools/nsc/backend/icode/analysis/Liveness.scala
index 4f659cf980..243585a4b7 100644
--- a/src/compiler/scala/tools/nsc/backend/icode/analysis/Liveness.scala
+++ b/src/compiler/scala/tools/nsc/backend/icode/analysis/Liveness.scala
@@ -5,7 +5,8 @@
// $Id$
-package scala.tools.nsc.backend.icode.analysis
+package scala.tools.nsc
+package backend.icode.analysis
import scala.collection.mutable.{HashMap, Map}
import scala.collection.immutable.{Set, ListSet}
diff --git a/src/compiler/scala/tools/nsc/backend/icode/analysis/LubError.scala b/src/compiler/scala/tools/nsc/backend/icode/analysis/LubError.scala
index 6bffa362fa..4a1c75f199 100644
--- a/src/compiler/scala/tools/nsc/backend/icode/analysis/LubError.scala
+++ b/src/compiler/scala/tools/nsc/backend/icode/analysis/LubError.scala
@@ -5,7 +5,8 @@
// $Id$
-package scala.tools.nsc.backend.icode.analysis
+package scala.tools.nsc
+package backend.icode.analysis
class LubError(a: Any, b: Any, msg: String) extends Exception {
override def toString() = "Lub error: " + msg + a + b
diff --git a/src/compiler/scala/tools/nsc/backend/icode/analysis/ProgramPoint.scala b/src/compiler/scala/tools/nsc/backend/icode/analysis/ProgramPoint.scala
index d591d2cda2..eee4fe1741 100644
--- a/src/compiler/scala/tools/nsc/backend/icode/analysis/ProgramPoint.scala
+++ b/src/compiler/scala/tools/nsc/backend/icode/analysis/ProgramPoint.scala
@@ -5,7 +5,8 @@
// $Id$
-package scala.tools.nsc.backend.icode.analysis
+package scala.tools.nsc
+package backend.icode.analysis
/** Program points are locations in the program where we want to
* assert certain properties through data flow analysis, e.g.
diff --git a/src/compiler/scala/tools/nsc/backend/icode/analysis/ReachingDefinitions.scala b/src/compiler/scala/tools/nsc/backend/icode/analysis/ReachingDefinitions.scala
index 96f5500fb1..ecb89cbe91 100644
--- a/src/compiler/scala/tools/nsc/backend/icode/analysis/ReachingDefinitions.scala
+++ b/src/compiler/scala/tools/nsc/backend/icode/analysis/ReachingDefinitions.scala
@@ -5,7 +5,8 @@
// $Id$
-package scala.tools.nsc.backend.icode.analysis
+package scala.tools.nsc
+package backend.icode.analysis
import scala.collection.immutable.{Set, ListSet, HashSet}
import scala.collection.mutable.{HashMap, Map}
diff --git a/src/compiler/scala/tools/nsc/backend/icode/analysis/TypeFlowAnalysis.scala b/src/compiler/scala/tools/nsc/backend/icode/analysis/TypeFlowAnalysis.scala
index f156f0e8c2..b6fbef5e97 100644
--- a/src/compiler/scala/tools/nsc/backend/icode/analysis/TypeFlowAnalysis.scala
+++ b/src/compiler/scala/tools/nsc/backend/icode/analysis/TypeFlowAnalysis.scala
@@ -5,7 +5,8 @@
// $Id$
-package scala.tools.nsc.backend.icode.analysis
+package scala.tools.nsc
+package backend.icode.analysis
import scala.collection.{mutable, immutable}
diff --git a/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala b/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala
index 9d33585ff2..2184b554f8 100644
--- a/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala
+++ b/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala
@@ -5,7 +5,8 @@
// $Id$
-package scala.tools.nsc.backend.jvm
+package scala.tools.nsc
+package backend.jvm
import java.io.{DataOutputStream, File, OutputStream}
import java.nio.ByteBuffer
diff --git a/src/compiler/scala/tools/nsc/backend/msil/GenMSIL.scala b/src/compiler/scala/tools/nsc/backend/msil/GenMSIL.scala
index 6b101fb10d..58e1e598bc 100644
--- a/src/compiler/scala/tools/nsc/backend/msil/GenMSIL.scala
+++ b/src/compiler/scala/tools/nsc/backend/msil/GenMSIL.scala
@@ -5,7 +5,8 @@
// $Id$
-package scala.tools.nsc.backend.msil
+package scala.tools.nsc
+package backend.msil
import java.io.{File, IOException}
import java.nio.{ByteBuffer, ByteOrder}
diff --git a/src/compiler/scala/tools/nsc/backend/opt/ClosureElimination.scala b/src/compiler/scala/tools/nsc/backend/opt/ClosureElimination.scala
index f597a050da..cd9267e0c4 100644
--- a/src/compiler/scala/tools/nsc/backend/opt/ClosureElimination.scala
+++ b/src/compiler/scala/tools/nsc/backend/opt/ClosureElimination.scala
@@ -5,7 +5,8 @@
// $Id$
-package scala.tools.nsc.backend.opt;
+package scala.tools.nsc
+package backend.opt;
import scala.collection.mutable.{Map, HashMap};
import scala.tools.nsc.backend.icode.analysis.LubError;
diff --git a/src/compiler/scala/tools/nsc/backend/opt/DeadCodeElimination.scala b/src/compiler/scala/tools/nsc/backend/opt/DeadCodeElimination.scala
index 0c6f7cad23..2ca1e322e5 100644
--- a/src/compiler/scala/tools/nsc/backend/opt/DeadCodeElimination.scala
+++ b/src/compiler/scala/tools/nsc/backend/opt/DeadCodeElimination.scala
@@ -5,7 +5,8 @@
// $Id$
-package scala.tools.nsc.backend.opt
+package scala.tools.nsc
+package backend.opt
import scala.collection._
import scala.collection.immutable.{Map, HashMap, Set, HashSet}
diff --git a/src/compiler/scala/tools/nsc/backend/opt/Inliners.scala b/src/compiler/scala/tools/nsc/backend/opt/Inliners.scala
index 114054aaeb..f957aa4fe5 100644
--- a/src/compiler/scala/tools/nsc/backend/opt/Inliners.scala
+++ b/src/compiler/scala/tools/nsc/backend/opt/Inliners.scala
@@ -5,7 +5,8 @@
// $Id$
-package scala.tools.nsc.backend.opt
+package scala.tools.nsc
+package backend.opt
import scala.util.control.Breaks._
diff --git a/src/compiler/scala/tools/nsc/dependencies/Changes.scala b/src/compiler/scala/tools/nsc/dependencies/Changes.scala
index 09145923b7..69d2c7fd6a 100644
--- a/src/compiler/scala/tools/nsc/dependencies/Changes.scala
+++ b/src/compiler/scala/tools/nsc/dependencies/Changes.scala
@@ -1,4 +1,5 @@
-package scala.tools.nsc.dependencies
+package scala.tools.nsc
+package dependencies
import symtab.Flags
diff --git a/src/compiler/scala/tools/nsc/dependencies/DependencyAnalysis.scala b/src/compiler/scala/tools/nsc/dependencies/DependencyAnalysis.scala
index 48b22677b2..fa7a5f94ae 100644
--- a/src/compiler/scala/tools/nsc/dependencies/DependencyAnalysis.scala
+++ b/src/compiler/scala/tools/nsc/dependencies/DependencyAnalysis.scala
@@ -1,6 +1,7 @@
-package scala.tools.nsc.dependencies;
+package scala.tools.nsc
+package dependencies;
import util.SourceFile;
-import nsc.io.AbstractFile
+import io.AbstractFile
trait DependencyAnalysis extends SubComponent with Files {
import global._
diff --git a/src/compiler/scala/tools/nsc/dependencies/Files.scala b/src/compiler/scala/tools/nsc/dependencies/Files.scala
index 7d52206392..b4852ee0ce 100644
--- a/src/compiler/scala/tools/nsc/dependencies/Files.scala
+++ b/src/compiler/scala/tools/nsc/dependencies/Files.scala
@@ -1,7 +1,8 @@
-package scala.tools.nsc.dependencies;
+package scala.tools.nsc
+package dependencies;
import java.io.{InputStream, OutputStream, PrintStream, InputStreamReader, BufferedReader}
-import nsc.io.{AbstractFile, PlainFile}
+import io.{AbstractFile, PlainFile}
import scala.collection._;
diff --git a/src/compiler/scala/tools/nsc/dependencies/References.scala b/src/compiler/scala/tools/nsc/dependencies/References.scala
index 9f50199d5f..23bfba9e31 100644
--- a/src/compiler/scala/tools/nsc/dependencies/References.scala
+++ b/src/compiler/scala/tools/nsc/dependencies/References.scala
@@ -1,4 +1,5 @@
-package scala.tools.nsc.dependencies;
+package scala.tools.nsc
+package dependencies;
import util.SourceFile;
import io.AbstractFile
import symtab.Flags
diff --git a/src/compiler/scala/tools/nsc/doc/DefaultDocDriver.scala b/src/compiler/scala/tools/nsc/doc/DefaultDocDriver.scala
index a7d38d8245..5a8f67a095 100644
--- a/src/compiler/scala/tools/nsc/doc/DefaultDocDriver.scala
+++ b/src/compiler/scala/tools/nsc/doc/DefaultDocDriver.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.doc
+package scala.tools.nsc
+package doc
import scala.collection.mutable
import java.util.zip.ZipFile
diff --git a/src/compiler/scala/tools/nsc/doc/DocDriver.scala b/src/compiler/scala/tools/nsc/doc/DocDriver.scala
index bd0de8a627..3593775e35 100644
--- a/src/compiler/scala/tools/nsc/doc/DocDriver.scala
+++ b/src/compiler/scala/tools/nsc/doc/DocDriver.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.doc
+package scala.tools.nsc
+package doc
/**
* This is an abstract class for documentation plugins.
diff --git a/src/compiler/scala/tools/nsc/doc/DocUtil.scala b/src/compiler/scala/tools/nsc/doc/DocUtil.scala
index 7c976472d3..b3b8558865 100644
--- a/src/compiler/scala/tools/nsc/doc/DocUtil.scala
+++ b/src/compiler/scala/tools/nsc/doc/DocUtil.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.doc
+package scala.tools.nsc
+package doc
import java.io.StringReader
import org.xml.sax.InputSource
diff --git a/src/compiler/scala/tools/nsc/doc/ModelAdditions.scala b/src/compiler/scala/tools/nsc/doc/ModelAdditions.scala
index 2a95b80b5e..e3186fd3fe 100644
--- a/src/compiler/scala/tools/nsc/doc/ModelAdditions.scala
+++ b/src/compiler/scala/tools/nsc/doc/ModelAdditions.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.doc
+package scala.tools.nsc
+package doc
/**
* @author Stephane Micheloud, Sean McDirmid, Geoffrey Washburn
diff --git a/src/compiler/scala/tools/nsc/doc/ModelExtractor.scala b/src/compiler/scala/tools/nsc/doc/ModelExtractor.scala
index 3e827aa0b1..7ab7d57d12 100644
--- a/src/compiler/scala/tools/nsc/doc/ModelExtractor.scala
+++ b/src/compiler/scala/tools/nsc/doc/ModelExtractor.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.doc
+package scala.tools.nsc
+package doc
import scala.collection.mutable
import compat.Platform.{EOL => LINE_SEPARATOR}
diff --git a/src/compiler/scala/tools/nsc/doc/ModelFrames.scala b/src/compiler/scala/tools/nsc/doc/ModelFrames.scala
index 1f0453db6e..970a179cc8 100644
--- a/src/compiler/scala/tools/nsc/doc/ModelFrames.scala
+++ b/src/compiler/scala/tools/nsc/doc/ModelFrames.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.doc
+package scala.tools.nsc
+package doc
import java.io.{File, FileWriter}
import scala.util.NameTransformer
diff --git a/src/compiler/scala/tools/nsc/doc/ModelToXML.scala b/src/compiler/scala/tools/nsc/doc/ModelToXML.scala
index 21729b32b8..d5a2704857 100644
--- a/src/compiler/scala/tools/nsc/doc/ModelToXML.scala
+++ b/src/compiler/scala/tools/nsc/doc/ModelToXML.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.doc
+package scala.tools.nsc
+package doc
import scala.xml._
diff --git a/src/compiler/scala/tools/nsc/doc/Settings.scala b/src/compiler/scala/tools/nsc/doc/Settings.scala
index 7d25cbc310..9861c159fc 100644
--- a/src/compiler/scala/tools/nsc/doc/Settings.scala
+++ b/src/compiler/scala/tools/nsc/doc/Settings.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.doc
+package scala.tools.nsc
+package doc
import java.io.File
import java.lang.System
diff --git a/src/compiler/scala/tools/nsc/interactive/BuildManager.scala b/src/compiler/scala/tools/nsc/interactive/BuildManager.scala
index 5747982e18..504e82dce3 100644
--- a/src/compiler/scala/tools/nsc/interactive/BuildManager.scala
+++ b/src/compiler/scala/tools/nsc/interactive/BuildManager.scala
@@ -1,4 +1,5 @@
-package scala.tools.nsc.interactive
+package scala.tools.nsc
+package interactive
import scala.collection._
@@ -6,7 +7,7 @@ import scala.tools.nsc.reporters.{Reporter, ConsoleReporter}
import util.FakePos
import dependencies._
-import nsc.io.AbstractFile
+import io.AbstractFile
trait BuildManager {
@@ -27,7 +28,7 @@ trait BuildManager {
/** Save dependency information to `file'. */
def saveTo(file: AbstractFile)
- def compiler: nsc.Global
+ def compiler: scala.tools.nsc.Global
}
diff --git a/src/compiler/scala/tools/nsc/interactive/CompilerControl.scala b/src/compiler/scala/tools/nsc/interactive/CompilerControl.scala
index 0782639ac5..4fda69a66e 100644
--- a/src/compiler/scala/tools/nsc/interactive/CompilerControl.scala
+++ b/src/compiler/scala/tools/nsc/interactive/CompilerControl.scala
@@ -1,4 +1,5 @@
-package scala.tools.nsc.interactive
+package scala.tools.nsc
+package interactive
import scala.concurrent.SyncVar
import scala.util.control.ControlException
diff --git a/src/compiler/scala/tools/nsc/interactive/ContextTrees.scala b/src/compiler/scala/tools/nsc/interactive/ContextTrees.scala
index 8d188cac62..f90434b4bc 100755
--- a/src/compiler/scala/tools/nsc/interactive/ContextTrees.scala
+++ b/src/compiler/scala/tools/nsc/interactive/ContextTrees.scala
@@ -1,7 +1,8 @@
-package scala.tools.nsc.interactive
+package scala.tools.nsc
+package interactive
import collection.mutable.ArrayBuffer
-import nsc.util.Position
+import util.Position
trait ContextTrees { self: Global =>
diff --git a/src/compiler/scala/tools/nsc/interactive/Global.scala b/src/compiler/scala/tools/nsc/interactive/Global.scala
index 93057c29ec..c8f7de2666 100755
--- a/src/compiler/scala/tools/nsc/interactive/Global.scala
+++ b/src/compiler/scala/tools/nsc/interactive/Global.scala
@@ -1,4 +1,5 @@
-package scala.tools.nsc.interactive
+package scala.tools.nsc
+package interactive
import java.io.{ PrintWriter, StringWriter }
@@ -14,13 +15,15 @@ import scala.tools.nsc.ast._
/** The main class of the presentation compiler in an interactive environment such as an IDE
*/
class Global(settings: Settings, reporter: Reporter)
- extends nsc.Global(settings, reporter)
+ extends scala.tools.nsc.Global(settings, reporter)
with CompilerControl
with RangePositions
with ContextTrees
with RichCompilationUnits {
self =>
+ settings.XprintPos.value = true
+
import definitions._
override def onlyPresentation = true
@@ -414,7 +417,7 @@ self =>
assert(unit.status >= JustParsed)
unit.targetPos = pos
try {
- println("starting type targetted check")
+ println("starting targeted type check")
typeCheck(unit)
throw new FatalError("tree not found")
} catch {
diff --git a/src/compiler/scala/tools/nsc/interactive/Positions.scala b/src/compiler/scala/tools/nsc/interactive/Positions.scala
index 277d35ec39..b8be2b1fbb 100755
--- a/src/compiler/scala/tools/nsc/interactive/Positions.scala
+++ b/src/compiler/scala/tools/nsc/interactive/Positions.scala
@@ -1,11 +1,12 @@
-package scala.tools.nsc.interactive
+package scala.tools.nsc
+package interactive
import ast.Trees
import scala.tools.nsc.util.{SourceFile, Position, RangePosition, OffsetPosition, NoPosition, SyntheticOffsetPosition, WorkScheduler}
import scala.collection.mutable.ListBuffer
trait Positions {
-self: nsc.Global =>
+self: scala.tools.nsc.Global =>
def rangePos(source: SourceFile, start: Int, point: Int, end: Int) =
new OffsetPosition(source, point)
diff --git a/src/compiler/scala/tools/nsc/interactive/REPL.scala b/src/compiler/scala/tools/nsc/interactive/REPL.scala
index 2d158e1ee3..993dd617b8 100644
--- a/src/compiler/scala/tools/nsc/interactive/REPL.scala
+++ b/src/compiler/scala/tools/nsc/interactive/REPL.scala
@@ -1,4 +1,5 @@
-package scala.tools.nsc.interactive
+package scala.tools.nsc
+package interactive
import scala.concurrent.SyncVar
import scala.tools.nsc.util._
diff --git a/src/compiler/scala/tools/nsc/interactive/RangePositions.scala b/src/compiler/scala/tools/nsc/interactive/RangePositions.scala
index 00db6de9dd..d195e1c157 100755
--- a/src/compiler/scala/tools/nsc/interactive/RangePositions.scala
+++ b/src/compiler/scala/tools/nsc/interactive/RangePositions.scala
@@ -1,4 +1,5 @@
-package scala.tools.nsc.interactive
+package scala.tools.nsc
+package interactive
import ast.Trees
import scala.tools.nsc.util.{SourceFile, Position, RangePosition, OffsetPosition, NoPosition, SyntheticOffsetPosition, WorkScheduler}
@@ -22,7 +23,7 @@ import scala.collection.mutable.ListBuffer
* Otherwise, the singleton consisting of the node itself.
*/
trait RangePositions extends Trees with Positions {
-self: nsc.Global =>
+self: scala.tools.nsc.Global =>
case class Range(pos: Position, tree: Tree) {
def isFree = tree == EmptyTree
diff --git a/src/compiler/scala/tools/nsc/interactive/RefinedBuildManager.scala b/src/compiler/scala/tools/nsc/interactive/RefinedBuildManager.scala
index 7ee7377d3d..2c2c7b2b2e 100644
--- a/src/compiler/scala/tools/nsc/interactive/RefinedBuildManager.scala
+++ b/src/compiler/scala/tools/nsc/interactive/RefinedBuildManager.scala
@@ -1,4 +1,5 @@
-package scala.tools.nsc.interactive
+package scala.tools.nsc
+package interactive
import scala.collection._
import scala.tools.nsc.reporters.{Reporter, ConsoleReporter}
@@ -6,7 +7,7 @@ import scala.util.control.Breaks._
import dependencies._
import util.FakePos
-import nsc.io.AbstractFile
+import io.AbstractFile
/** A more defined build manager, based on change sets. For each
* updated source file, it computes the set of changes to its
@@ -16,7 +17,7 @@ import nsc.io.AbstractFile
*/
class RefinedBuildManager(val settings: Settings) extends Changes with BuildManager {
- class BuilderGlobal(settings: Settings) extends nsc.Global(settings) {
+ class BuilderGlobal(settings: Settings) extends scala.tools.nsc.Global(settings) {
object referencesAnalysis extends {
val global: BuilderGlobal.this.type = BuilderGlobal.this
diff --git a/src/compiler/scala/tools/nsc/interactive/RichCompilationUnits.scala b/src/compiler/scala/tools/nsc/interactive/RichCompilationUnits.scala
index b8b59b67ae..8e6ba614e6 100644
--- a/src/compiler/scala/tools/nsc/interactive/RichCompilationUnits.scala
+++ b/src/compiler/scala/tools/nsc/interactive/RichCompilationUnits.scala
@@ -1,4 +1,5 @@
-package scala.tools.nsc.interactive
+package scala.tools.nsc
+package interactive
import scala.tools.nsc.util.{SourceFile, Position, NoPosition}
diff --git a/src/compiler/scala/tools/nsc/interactive/SimpleBuildManager.scala b/src/compiler/scala/tools/nsc/interactive/SimpleBuildManager.scala
index bd8e28e759..9ec69b3af5 100644
--- a/src/compiler/scala/tools/nsc/interactive/SimpleBuildManager.scala
+++ b/src/compiler/scala/tools/nsc/interactive/SimpleBuildManager.scala
@@ -1,4 +1,5 @@
-package scala.tools.nsc.interactive
+package scala.tools.nsc
+package interactive
import scala.collection._
@@ -6,7 +7,7 @@ import scala.tools.nsc.reporters.{Reporter, ConsoleReporter}
import dependencies._
import util.FakePos
-import nsc.io.AbstractFile
+import io.AbstractFile
/** A simple build manager, using the default scalac dependency tracker.
* The transitive closure of all dependent files on a modified file
@@ -17,7 +18,7 @@ import nsc.io.AbstractFile
*/
class SimpleBuildManager(val settings: Settings) extends BuildManager {
- val compiler: nsc.Global = new nsc.Global(settings)
+ val compiler: scala.tools.nsc.Global = new scala.tools.nsc.Global(settings)
/** Managed source files. */
private val sources: mutable.Set[AbstractFile] = new mutable.HashSet[AbstractFile]
diff --git a/src/compiler/scala/tools/nsc/interpreter/AbstractFileClassLoader.scala b/src/compiler/scala/tools/nsc/interpreter/AbstractFileClassLoader.scala
index 964fd3f377..c2c49d18dd 100644
--- a/src/compiler/scala/tools/nsc/interpreter/AbstractFileClassLoader.scala
+++ b/src/compiler/scala/tools/nsc/interpreter/AbstractFileClassLoader.scala
@@ -3,7 +3,8 @@
*/
// $Id: $
-package scala.tools.nsc.interpreter
+package scala.tools.nsc
+package interpreter
import scala.tools.nsc.io.AbstractFile
import scala.util.ScalaClassLoader
diff --git a/src/compiler/scala/tools/nsc/interpreter/Completion.scala b/src/compiler/scala/tools/nsc/interpreter/Completion.scala
index 4b03299de1..fed2a6c5c1 100644
--- a/src/compiler/scala/tools/nsc/interpreter/Completion.scala
+++ b/src/compiler/scala/tools/nsc/interpreter/Completion.scala
@@ -19,7 +19,8 @@
// 6) Security: Are we using the filesystem unnecessarily?
//
-package scala.tools.nsc.interpreter
+package scala.tools.nsc
+package interpreter
import jline._
import java.net.URL
@@ -221,4 +222,4 @@ object Completion
jars foreach oneJar
}
-} \ No newline at end of file
+}
diff --git a/src/compiler/scala/tools/nsc/interpreter/InteractiveReader.scala b/src/compiler/scala/tools/nsc/interpreter/InteractiveReader.scala
index 3d1bfd547a..7e56986900 100644
--- a/src/compiler/scala/tools/nsc/interpreter/InteractiveReader.scala
+++ b/src/compiler/scala/tools/nsc/interpreter/InteractiveReader.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.interpreter
+package scala.tools.nsc
+package interpreter
import scala.util.control.Exception._
/** Reads lines from an input stream */
diff --git a/src/compiler/scala/tools/nsc/interpreter/JLineReader.scala b/src/compiler/scala/tools/nsc/interpreter/JLineReader.scala
index 0f9a87518a..d1613b9cd8 100644
--- a/src/compiler/scala/tools/nsc/interpreter/JLineReader.scala
+++ b/src/compiler/scala/tools/nsc/interpreter/JLineReader.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.interpreter
+package scala.tools.nsc
+package interpreter
import java.io.File
import jline.{ History, ConsoleReader, ArgumentCompletor }
diff --git a/src/compiler/scala/tools/nsc/interpreter/SimpleReader.scala b/src/compiler/scala/tools/nsc/interpreter/SimpleReader.scala
index 1bd5f217c1..403c0b996c 100644
--- a/src/compiler/scala/tools/nsc/interpreter/SimpleReader.scala
+++ b/src/compiler/scala/tools/nsc/interpreter/SimpleReader.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.interpreter
+package scala.tools.nsc
+package interpreter
import java.io.{BufferedReader, PrintWriter}
diff --git a/src/compiler/scala/tools/nsc/io/AbstractFile.scala b/src/compiler/scala/tools/nsc/io/AbstractFile.scala
index 70121aefb9..eaa3091eee 100644
--- a/src/compiler/scala/tools/nsc/io/AbstractFile.scala
+++ b/src/compiler/scala/tools/nsc/io/AbstractFile.scala
@@ -5,7 +5,8 @@
// $Id$
-package scala.tools.nsc.io
+package scala.tools.nsc
+package io
import java.io.{File, FileOutputStream, IOException, InputStream, OutputStream}
import java.net.URL
diff --git a/src/compiler/scala/tools/nsc/io/PlainFile.scala b/src/compiler/scala/tools/nsc/io/PlainFile.scala
index aa839d5892..a52ec203dc 100644
--- a/src/compiler/scala/tools/nsc/io/PlainFile.scala
+++ b/src/compiler/scala/tools/nsc/io/PlainFile.scala
@@ -5,7 +5,8 @@
// $Id$
-package scala.tools.nsc.io
+package scala.tools.nsc
+package io
import java.io.{File, FileInputStream, FileOutputStream, IOException}
diff --git a/src/compiler/scala/tools/nsc/io/SourceReader.scala b/src/compiler/scala/tools/nsc/io/SourceReader.scala
index 15ccee983f..21b4305b6b 100644
--- a/src/compiler/scala/tools/nsc/io/SourceReader.scala
+++ b/src/compiler/scala/tools/nsc/io/SourceReader.scala
@@ -5,7 +5,8 @@
// $Id$
-package scala.tools.nsc.io
+package scala.tools.nsc
+package io
import java.io.{File, FileInputStream, InputStream, IOException}
import java.nio.{ByteBuffer, CharBuffer}
@@ -28,7 +29,7 @@ class SourceReader(decoder: CharsetDecoder, reporter: Reporter) {
private var chars: CharBuffer = CharBuffer.allocate(0x4000)
private def reportEncodingError(filename:String) = {
- reporter.error(nsc.util.NoPosition,
+ reporter.error(util.NoPosition,
"IO error while decoding "+filename+" with "+decoder.charset()+"\n"+
"Please try specifying another one using the -encoding option")
}
diff --git a/src/compiler/scala/tools/nsc/io/VirtualDirectory.scala b/src/compiler/scala/tools/nsc/io/VirtualDirectory.scala
index 53346df53c..ff4768c6f8 100644
--- a/src/compiler/scala/tools/nsc/io/VirtualDirectory.scala
+++ b/src/compiler/scala/tools/nsc/io/VirtualDirectory.scala
@@ -2,7 +2,8 @@
* Copyright 2005-2009 LAMP/EPFL
*/
// $Id$
-package scala.tools.nsc.io
+package scala.tools.nsc
+package io
import scala.collection.{mutable=>mut}
/**
diff --git a/src/compiler/scala/tools/nsc/io/VirtualFile.scala b/src/compiler/scala/tools/nsc/io/VirtualFile.scala
index ba86a165f7..14d081991e 100644
--- a/src/compiler/scala/tools/nsc/io/VirtualFile.scala
+++ b/src/compiler/scala/tools/nsc/io/VirtualFile.scala
@@ -5,7 +5,8 @@
// $Id$
-package scala.tools.nsc.io
+package scala.tools.nsc
+package io
import java.io.{ByteArrayInputStream, ByteArrayOutputStream,
File, InputStream, OutputStream}
diff --git a/src/compiler/scala/tools/nsc/io/ZipArchive.scala b/src/compiler/scala/tools/nsc/io/ZipArchive.scala
index c380acd9a3..9d322af889 100644
--- a/src/compiler/scala/tools/nsc/io/ZipArchive.scala
+++ b/src/compiler/scala/tools/nsc/io/ZipArchive.scala
@@ -5,7 +5,8 @@
// $Id$
-package scala.tools.nsc.io
+package scala.tools.nsc
+package io
import java.io.{File, IOException, InputStream}
import java.net.URL
diff --git a/src/compiler/scala/tools/nsc/javac/JavaParsers.scala b/src/compiler/scala/tools/nsc/javac/JavaParsers.scala
index 5cfee91651..1e6e5b297c 100755
--- a/src/compiler/scala/tools/nsc/javac/JavaParsers.scala
+++ b/src/compiler/scala/tools/nsc/javac/JavaParsers.scala
@@ -6,7 +6,8 @@
//todo: allow infix type patterns
-package scala.tools.nsc.javac
+package scala.tools.nsc
+package javac
import scala.tools.nsc.util.{Position, OffsetPosition, NoPosition, BatchSourceFile}
import scala.collection.mutable.ListBuffer
@@ -113,12 +114,8 @@ trait JavaParsers extends JavaScanners {
def blankExpr = Ident(nme.WILDCARD)
- def makePackaging(pkg: Tree, stats: List[Tree]): PackageDef = pkg match {
- case Ident(name) =>
- PackageDef(name, stats).setPos(pkg.pos)
- case Select(qual, name) =>
- makePackaging(qual, List(PackageDef(name, stats).setPos(pkg.pos)))
- }
+ def makePackaging(pkg: RefTree, stats: List[Tree]): PackageDef =
+ atPos(pkg.pos) { PackageDef(pkg, stats) }
def makeTemplate(parents: List[Tree], stats: List[Tree]) =
Template(
@@ -239,8 +236,8 @@ trait JavaParsers extends JavaScanners {
// -------------------- specific parsing routines ------------------
- def qualId(): Tree = {
- var t: Tree = atPos(in.currentPos) { Ident(ident()) }
+ def qualId(): RefTree = {
+ var t: RefTree = atPos(in.currentPos) { Ident(ident()) }
while (in.token == DOT) {
in.nextToken
t = atPos(in.currentPos) { Select(t, ident()) }
@@ -861,7 +858,7 @@ trait JavaParsers extends JavaScanners {
*/
def compilationUnit(): Tree = {
var pos = in.currentPos;
- val pkg =
+ val pkg: RefTree =
if (in.token == AT || in.token == PACKAGE) {
annotations()
pos = in.currentPos
diff --git a/src/compiler/scala/tools/nsc/javac/JavaScanners.scala b/src/compiler/scala/tools/nsc/javac/JavaScanners.scala
index 1ee41bb676..ab6de92b7a 100755
--- a/src/compiler/scala/tools/nsc/javac/JavaScanners.scala
+++ b/src/compiler/scala/tools/nsc/javac/JavaScanners.scala
@@ -3,7 +3,8 @@
* @author Martin Odersky
*/
-package scala.tools.nsc.javac
+package scala.tools.nsc
+package javac
import scala.tools.nsc.util._
import SourceFile.{LF, FF, CR, SU}
diff --git a/src/compiler/scala/tools/nsc/javac/JavaTokens.scala b/src/compiler/scala/tools/nsc/javac/JavaTokens.scala
index d9fc804b97..8021a31a7b 100755
--- a/src/compiler/scala/tools/nsc/javac/JavaTokens.scala
+++ b/src/compiler/scala/tools/nsc/javac/JavaTokens.scala
@@ -4,7 +4,8 @@
*/
// $Id: Tokens.scala 12886 2007-09-17 16:36:10Z mcdirmid $
-package scala.tools.nsc.javac
+package scala.tools.nsc
+package javac
object JavaTokens {
diff --git a/src/compiler/scala/tools/nsc/matching/MatchUtil.scala b/src/compiler/scala/tools/nsc/matching/MatchUtil.scala
index e6cf468328..2c7668564e 100644
--- a/src/compiler/scala/tools/nsc/matching/MatchUtil.scala
+++ b/src/compiler/scala/tools/nsc/matching/MatchUtil.scala
@@ -1,7 +1,8 @@
/* NSC -- new Scala compiler
*/
-package scala.tools.nsc.matching
+package scala.tools.nsc
+package matching
/**
* Utility classes, most of which probably belong somewhere else.
diff --git a/src/compiler/scala/tools/nsc/matching/ParallelMatching.scala b/src/compiler/scala/tools/nsc/matching/ParallelMatching.scala
index cd140e7c49..b5c242ccd2 100644
--- a/src/compiler/scala/tools/nsc/matching/ParallelMatching.scala
+++ b/src/compiler/scala/tools/nsc/matching/ParallelMatching.scala
@@ -5,7 +5,8 @@
*/
// $Id$
-package scala.tools.nsc.matching
+package scala.tools.nsc
+package matching
import util.Position
import collection._
diff --git a/src/compiler/scala/tools/nsc/matching/PatternNodes.scala b/src/compiler/scala/tools/nsc/matching/PatternNodes.scala
index 5c09de24ea..45b63463e9 100644
--- a/src/compiler/scala/tools/nsc/matching/PatternNodes.scala
+++ b/src/compiler/scala/tools/nsc/matching/PatternNodes.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.matching
+package scala.tools.nsc
+package matching
import scala.tools.nsc.util.{Position, NoPosition}
diff --git a/src/compiler/scala/tools/nsc/matching/TransMatcher.scala b/src/compiler/scala/tools/nsc/matching/TransMatcher.scala
index f7b3d27477..b37a762814 100644
--- a/src/compiler/scala/tools/nsc/matching/TransMatcher.scala
+++ b/src/compiler/scala/tools/nsc/matching/TransMatcher.scala
@@ -25,7 +25,8 @@
* 12 Regular Expression --
*/
-package scala.tools.nsc.matching
+package scala.tools.nsc
+package matching
import util.Position
import ast.{ TreePrinters, Trees }
diff --git a/src/compiler/scala/tools/nsc/models/Models.scala b/src/compiler/scala/tools/nsc/models/Models.scala
index 0790bdbe43..1aafc5f658 100644
--- a/src/compiler/scala/tools/nsc/models/Models.scala
+++ b/src/compiler/scala/tools/nsc/models/Models.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.models
+package scala.tools.nsc
+package models
import scala.tools.nsc.Global
import scala.tools.nsc.util.{Position,NoPosition}
@@ -198,9 +199,9 @@ abstract class Models {
def update0(members1: List[Tree]): Boolean = {
// Console.err.println("update0 " + this + " " + members1)
+ // Martin: This is rather ugly code. We should use pattern matching here!
if (members1.length == 1 && members1.head.isInstanceOf[PackageDef])
return update0(members1.head.asInstanceOf[PackageDef].stats)
-
val marked = new HashSet[HasTree]
var updated = false
for (mmbr1 <- members1) if (mmbr1.isInstanceOf[PackageDef]) {
diff --git a/src/compiler/scala/tools/nsc/models/SemanticTokens.scala b/src/compiler/scala/tools/nsc/models/SemanticTokens.scala
index 58d69b9628..b9e4046a41 100644
--- a/src/compiler/scala/tools/nsc/models/SemanticTokens.scala
+++ b/src/compiler/scala/tools/nsc/models/SemanticTokens.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.models
+package scala.tools.nsc
+package models
import java.lang.Character.isJavaIdentifierPart
import java.lang.Thread
@@ -344,7 +345,7 @@ class SemanticTokens(val compiler: Global) {
}
case sft : SelectFromTypeTree =>
build(sft.qualifier); // XXX: broken
- if (false) Console.err.println("SFTT: " + sft + " sym=" + sft.symbol + " selector=" + sft.selector + " qual=" + sft.qualifier + " qual.sym=" +
+ if (false) Console.err.println("SFTT: " + sft + " sym=" + sft.symbol + " name=" + sft.name + " qual=" + sft.qualifier + " qual.sym=" +
sft.qualifier.symbol +
" qual.pos=" + (sft.qualifier.pos).dbgString + " symbol=" + sft.symbol + " type=" + tpe0 +
" type.sym=" + tpe0.typeSymbol);
diff --git a/src/compiler/scala/tools/nsc/models/Signatures.scala b/src/compiler/scala/tools/nsc/models/Signatures.scala
index 05fffe58e1..98bfa142ff 100644
--- a/src/compiler/scala/tools/nsc/models/Signatures.scala
+++ b/src/compiler/scala/tools/nsc/models/Signatures.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.models
+package scala.tools.nsc
+package models
import scala.collection.mutable.{HashMap, HashSet}
import scala.tools.nsc.{Global => Compiler}
diff --git a/src/compiler/scala/tools/nsc/plugins/Plugin.scala b/src/compiler/scala/tools/nsc/plugins/Plugin.scala
index 2e09c6e231..3013199c36 100644
--- a/src/compiler/scala/tools/nsc/plugins/Plugin.scala
+++ b/src/compiler/scala/tools/nsc/plugins/Plugin.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.plugins
+package scala.tools.nsc
+package plugins
import java.io.File
import java.net.URLClassLoader
diff --git a/src/compiler/scala/tools/nsc/plugins/PluginComponent.scala b/src/compiler/scala/tools/nsc/plugins/PluginComponent.scala
index 30c6d9bcb4..1163ab9195 100644
--- a/src/compiler/scala/tools/nsc/plugins/PluginComponent.scala
+++ b/src/compiler/scala/tools/nsc/plugins/PluginComponent.scala
@@ -5,7 +5,8 @@
*/
// $Id$
-package scala.tools.nsc.plugins
+package scala.tools.nsc
+package plugins
/** A component that is part of a Plugin.
*
diff --git a/src/compiler/scala/tools/nsc/plugins/PluginDescription.scala b/src/compiler/scala/tools/nsc/plugins/PluginDescription.scala
index a7d4c0e121..27355d061a 100644
--- a/src/compiler/scala/tools/nsc/plugins/PluginDescription.scala
+++ b/src/compiler/scala/tools/nsc/plugins/PluginDescription.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.plugins
+package scala.tools.nsc
+package plugins
import java.io.File
diff --git a/src/compiler/scala/tools/nsc/plugins/PluginLoadException.scala b/src/compiler/scala/tools/nsc/plugins/PluginLoadException.scala
index 5a147f5189..ce322122eb 100644
--- a/src/compiler/scala/tools/nsc/plugins/PluginLoadException.scala
+++ b/src/compiler/scala/tools/nsc/plugins/PluginLoadException.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.plugins
+package scala.tools.nsc
+package plugins
/** ...
*
diff --git a/src/compiler/scala/tools/nsc/plugins/Plugins.scala b/src/compiler/scala/tools/nsc/plugins/Plugins.scala
index 812bfd7ce8..1163ae5a6a 100644
--- a/src/compiler/scala/tools/nsc/plugins/Plugins.scala
+++ b/src/compiler/scala/tools/nsc/plugins/Plugins.scala
@@ -5,7 +5,8 @@
*/
// $Id$
-package scala.tools.nsc.plugins
+package scala.tools.nsc
+package plugins
import java.io.File
diff --git a/src/compiler/scala/tools/nsc/reporters/AbstractReporter.scala b/src/compiler/scala/tools/nsc/reporters/AbstractReporter.scala
index 2228de95bf..aed42ca406 100644
--- a/src/compiler/scala/tools/nsc/reporters/AbstractReporter.scala
+++ b/src/compiler/scala/tools/nsc/reporters/AbstractReporter.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.reporters
+package scala.tools.nsc
+package reporters
import scala.collection.mutable.HashMap
import scala.tools.nsc.Settings
diff --git a/src/compiler/scala/tools/nsc/reporters/ConsoleReporter.scala b/src/compiler/scala/tools/nsc/reporters/ConsoleReporter.scala
index 612a165620..4ee4a4fccc 100644
--- a/src/compiler/scala/tools/nsc/reporters/ConsoleReporter.scala
+++ b/src/compiler/scala/tools/nsc/reporters/ConsoleReporter.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.reporters
+package scala.tools.nsc
+package reporters
import java.io.{BufferedReader, InputStreamReader, IOException, PrintWriter}
import util._
diff --git a/src/compiler/scala/tools/nsc/reporters/Reporter.scala b/src/compiler/scala/tools/nsc/reporters/Reporter.scala
index e8fe26f1a0..dac52f8337 100644
--- a/src/compiler/scala/tools/nsc/reporters/Reporter.scala
+++ b/src/compiler/scala/tools/nsc/reporters/Reporter.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.reporters
+package scala.tools.nsc
+package reporters
import scala.tools.nsc.util._
diff --git a/src/compiler/scala/tools/nsc/reporters/ReporterTimer.scala b/src/compiler/scala/tools/nsc/reporters/ReporterTimer.scala
index 33456bacce..3bce66df0a 100644
--- a/src/compiler/scala/tools/nsc/reporters/ReporterTimer.scala
+++ b/src/compiler/scala/tools/nsc/reporters/ReporterTimer.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.reporters
+package scala.tools.nsc
+package reporters
import scala.tools.util.AbstractTimer
diff --git a/src/compiler/scala/tools/nsc/reporters/StoreReporter.scala b/src/compiler/scala/tools/nsc/reporters/StoreReporter.scala
index d5993a3247..5239dabd60 100644
--- a/src/compiler/scala/tools/nsc/reporters/StoreReporter.scala
+++ b/src/compiler/scala/tools/nsc/reporters/StoreReporter.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.reporters
+package scala.tools.nsc
+package reporters
import java.io.{BufferedReader, InputStreamReader, IOException, PrintWriter}
diff --git a/src/compiler/scala/tools/nsc/symtab/AnnotationCheckers.scala b/src/compiler/scala/tools/nsc/symtab/AnnotationCheckers.scala
index ed54328e30..cc07d7896e 100644
--- a/src/compiler/scala/tools/nsc/symtab/AnnotationCheckers.scala
+++ b/src/compiler/scala/tools/nsc/symtab/AnnotationCheckers.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.symtab
+package scala.tools.nsc
+package symtab
/** Additions to the type checker that can be added at
* run time. Typically these are added by
diff --git a/src/compiler/scala/tools/nsc/symtab/AnnotationInfos.scala b/src/compiler/scala/tools/nsc/symtab/AnnotationInfos.scala
index 0871e81c5e..13b3f752f5 100644
--- a/src/compiler/scala/tools/nsc/symtab/AnnotationInfos.scala
+++ b/src/compiler/scala/tools/nsc/symtab/AnnotationInfos.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.symtab
+package scala.tools.nsc
+package symtab
import scala.tools.nsc.transform.Reifiers
import util._
diff --git a/src/compiler/scala/tools/nsc/symtab/BaseTypeSeqs.scala b/src/compiler/scala/tools/nsc/symtab/BaseTypeSeqs.scala
index aa86d64222..949d1bf18f 100755
--- a/src/compiler/scala/tools/nsc/symtab/BaseTypeSeqs.scala
+++ b/src/compiler/scala/tools/nsc/symtab/BaseTypeSeqs.scala
@@ -2,7 +2,8 @@
* Copyright 2005-2009 LAMP/EPFL
* @author Martin Odersky
*/
-package scala.tools.nsc.symtab
+package scala.tools.nsc
+package symtab
// todo implement in terms of BitSet
import scala.collection.mutable.ListBuffer
diff --git a/src/compiler/scala/tools/nsc/symtab/Constants.scala b/src/compiler/scala/tools/nsc/symtab/Constants.scala
index 2231aa32e9..5b1038f514 100644
--- a/src/compiler/scala/tools/nsc/symtab/Constants.scala
+++ b/src/compiler/scala/tools/nsc/symtab/Constants.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.symtab
+package scala.tools.nsc
+package symtab
import java.lang.Integer.toOctalString
diff --git a/src/compiler/scala/tools/nsc/symtab/Definitions.scala b/src/compiler/scala/tools/nsc/symtab/Definitions.scala
index dd8f1af927..a78c7cd067 100644
--- a/src/compiler/scala/tools/nsc/symtab/Definitions.scala
+++ b/src/compiler/scala/tools/nsc/symtab/Definitions.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.symtab
+package scala.tools.nsc
+package symtab
import scala.collection.mutable.{HashMap, HashSet}
import scala.tools.nsc.util.{Position, NoPosition}
diff --git a/src/compiler/scala/tools/nsc/symtab/Flags.scala b/src/compiler/scala/tools/nsc/symtab/Flags.scala
index e6edef09f9..270c5820fe 100644
--- a/src/compiler/scala/tools/nsc/symtab/Flags.scala
+++ b/src/compiler/scala/tools/nsc/symtab/Flags.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.symtab
+package scala.tools.nsc
+package symtab
object Flags {
diff --git a/src/compiler/scala/tools/nsc/symtab/IdeSupport.scala b/src/compiler/scala/tools/nsc/symtab/IdeSupport.scala
index a96faf35ab..3a61095430 100644
--- a/src/compiler/scala/tools/nsc/symtab/IdeSupport.scala
+++ b/src/compiler/scala/tools/nsc/symtab/IdeSupport.scala
@@ -1,4 +1,5 @@
-package scala.tools.nsc.symtab
+package scala.tools.nsc
+package symtab
import scala.tools.nsc.util._
import scala.collection.mutable._
import scala.tools.nsc.io._
@@ -643,7 +644,7 @@ trait IdeSupport extends SymbolTable { // added to global, not analyzers.
// make the trees less detailed.
override def sanitize(tree : Tree) : Tree = lightDuplicator.transform(tree match {
case Template(_,vdef,_) => Template(Nil, sanitize(vdef).asInstanceOf[ValDef], Nil)
- case PackageDef(nme, _) => PackageDef(nme, Nil)
+ case PackageDef(pid, _) => PackageDef(pid, Nil)
case DefDef(mods, _, _, _, _:TypeTree, _) => DefDef(NoMods, nme.ERROR, Nil, Nil, TypeTree(), Literal(()))
case DefDef(mods, _, _, _, restpt, _) => DefDef(NoMods, nme.ERROR, Nil, Nil, sanitize(restpt), Literal(()))
case ValDef(_, _, _ : TypeTree, _) => ValDef(NoMods, nme.ERROR, TypeTree(), EmptyTree)
diff --git a/src/compiler/scala/tools/nsc/symtab/InfoTransformers.scala b/src/compiler/scala/tools/nsc/symtab/InfoTransformers.scala
index a27efe016a..d02063ca60 100644
--- a/src/compiler/scala/tools/nsc/symtab/InfoTransformers.scala
+++ b/src/compiler/scala/tools/nsc/symtab/InfoTransformers.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.symtab
+package scala.tools.nsc
+package symtab
trait InfoTransformers {
self: SymbolTable =>
diff --git a/src/compiler/scala/tools/nsc/symtab/Names.scala b/src/compiler/scala/tools/nsc/symtab/Names.scala
index c0fc5035c9..a4a4df5326 100644
--- a/src/compiler/scala/tools/nsc/symtab/Names.scala
+++ b/src/compiler/scala/tools/nsc/symtab/Names.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.symtab
+package scala.tools.nsc
+package symtab
import scala.util.NameTransformer
import scala.io.UTF8Codec
diff --git a/src/compiler/scala/tools/nsc/symtab/Scopes.scala b/src/compiler/scala/tools/nsc/symtab/Scopes.scala
index cbe514d775..6170964a22 100644
--- a/src/compiler/scala/tools/nsc/symtab/Scopes.scala
+++ b/src/compiler/scala/tools/nsc/symtab/Scopes.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.symtab
+package scala.tools.nsc
+package symtab
trait Scopes {
self: SymbolTable =>
diff --git a/src/compiler/scala/tools/nsc/symtab/StdNames.scala b/src/compiler/scala/tools/nsc/symtab/StdNames.scala
index 65445b60d4..baeea7273a 100644
--- a/src/compiler/scala/tools/nsc/symtab/StdNames.scala
+++ b/src/compiler/scala/tools/nsc/symtab/StdNames.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.symtab
+package scala.tools.nsc
+package symtab
import scala.util.NameTransformer
diff --git a/src/compiler/scala/tools/nsc/symtab/SymbolLoaders.scala b/src/compiler/scala/tools/nsc/symtab/SymbolLoaders.scala
index ce20082095..c562b7ed09 100644
--- a/src/compiler/scala/tools/nsc/symtab/SymbolLoaders.scala
+++ b/src/compiler/scala/tools/nsc/symtab/SymbolLoaders.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.symtab
+package scala.tools.nsc
+package symtab
import java.io.{File, IOException}
diff --git a/src/compiler/scala/tools/nsc/symtab/SymbolTable.scala b/src/compiler/scala/tools/nsc/symtab/SymbolTable.scala
index 9b5872aba5..3ecd8f2a6e 100644
--- a/src/compiler/scala/tools/nsc/symtab/SymbolTable.scala
+++ b/src/compiler/scala/tools/nsc/symtab/SymbolTable.scala
@@ -4,8 +4,9 @@
*/
// $Id$
-package scala.tools.nsc.symtab
-import nsc.ast.Trees
+package scala.tools.nsc
+package symtab
+import ast.Trees
import util._
diff --git a/src/compiler/scala/tools/nsc/symtab/SymbolWalker.scala b/src/compiler/scala/tools/nsc/symtab/SymbolWalker.scala
index d93b69c135..69481067d4 100644
--- a/src/compiler/scala/tools/nsc/symtab/SymbolWalker.scala
+++ b/src/compiler/scala/tools/nsc/symtab/SymbolWalker.scala
@@ -1,4 +1,5 @@
-package scala.tools.nsc.symtab
+package scala.tools.nsc
+package symtab
trait SymbolWalker {
val global : Global
diff --git a/src/compiler/scala/tools/nsc/symtab/Symbols.scala b/src/compiler/scala/tools/nsc/symtab/Symbols.scala
index b5b68a554d..05c0614620 100644
--- a/src/compiler/scala/tools/nsc/symtab/Symbols.scala
+++ b/src/compiler/scala/tools/nsc/symtab/Symbols.scala
@@ -5,7 +5,8 @@
// $Id$
-package scala.tools.nsc.symtab
+package scala.tools.nsc
+package symtab
import scala.collection.mutable.ListBuffer
import scala.collection.immutable.Map
diff --git a/src/compiler/scala/tools/nsc/symtab/Types.scala b/src/compiler/scala/tools/nsc/symtab/Types.scala
index 8547d49533..f8188246f8 100644
--- a/src/compiler/scala/tools/nsc/symtab/Types.scala
+++ b/src/compiler/scala/tools/nsc/symtab/Types.scala
@@ -4,7 +4,8 @@
*/
//
-package scala.tools.nsc.symtab
+package scala.tools.nsc
+package symtab
import scala.collection.immutable
import scala.collection.mutable.{ListBuffer, HashMap, WeakHashMap}
diff --git a/src/compiler/scala/tools/nsc/symtab/classfile/AbstractFileReader.scala b/src/compiler/scala/tools/nsc/symtab/classfile/AbstractFileReader.scala
index 19b24d0f67..7a789fcb32 100644
--- a/src/compiler/scala/tools/nsc/symtab/classfile/AbstractFileReader.scala
+++ b/src/compiler/scala/tools/nsc/symtab/classfile/AbstractFileReader.scala
@@ -5,7 +5,9 @@
// $Id$
-package scala.tools.nsc.symtab.classfile
+package scala.tools.nsc
+package symtab
+package classfile
import java.lang.Float.intBitsToFloat
import java.lang.Double.longBitsToDouble
diff --git a/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileConstants.scala b/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileConstants.scala
index 6b16cdddcb..34cc85b8ef 100644
--- a/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileConstants.scala
+++ b/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileConstants.scala
@@ -4,7 +4,9 @@
*/
// $Id$
-package scala.tools.nsc.symtab.classfile
+package scala.tools.nsc
+package symtab
+package classfile
object ClassfileConstants {
diff --git a/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala b/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala
index 9f042e5aa7..4a9eb4cdfd 100644
--- a/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala
+++ b/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala
@@ -4,7 +4,9 @@
*/
// $Id$
-package scala.tools.nsc.symtab.classfile
+package scala.tools.nsc
+package symtab
+package classfile
import java.io.IOException
import java.lang.Integer.toHexString
diff --git a/src/compiler/scala/tools/nsc/symtab/classfile/ICodeReader.scala b/src/compiler/scala/tools/nsc/symtab/classfile/ICodeReader.scala
index 64e8ccc0ee..c52cc3e796 100644
--- a/src/compiler/scala/tools/nsc/symtab/classfile/ICodeReader.scala
+++ b/src/compiler/scala/tools/nsc/symtab/classfile/ICodeReader.scala
@@ -4,7 +4,9 @@
*/
// $Id$
-package scala.tools.nsc.symtab.classfile
+package scala.tools.nsc
+package symtab
+package classfile
import java.io.IOException
diff --git a/src/compiler/scala/tools/nsc/symtab/classfile/MetaParser.scala b/src/compiler/scala/tools/nsc/symtab/classfile/MetaParser.scala
index 905a473a96..58baf9139f 100644
--- a/src/compiler/scala/tools/nsc/symtab/classfile/MetaParser.scala
+++ b/src/compiler/scala/tools/nsc/symtab/classfile/MetaParser.scala
@@ -4,7 +4,9 @@
*/
// $Id$
-package scala.tools.nsc.symtab.classfile
+package scala.tools.nsc
+package symtab
+package classfile
import java.util.{StringTokenizer, NoSuchElementException}
diff --git a/src/compiler/scala/tools/nsc/symtab/classfile/PickleBuffer.scala b/src/compiler/scala/tools/nsc/symtab/classfile/PickleBuffer.scala
index 608857d3e0..b02ae0b4b5 100644
--- a/src/compiler/scala/tools/nsc/symtab/classfile/PickleBuffer.scala
+++ b/src/compiler/scala/tools/nsc/symtab/classfile/PickleBuffer.scala
@@ -4,7 +4,9 @@
*/
// $Id$
-package scala.tools.nsc.symtab.classfile
+package scala.tools.nsc
+package symtab
+package classfile
/** Variable length byte arrays, with methods for basic pickling and unpickling.
*
diff --git a/src/compiler/scala/tools/nsc/symtab/classfile/PickleFormat.scala b/src/compiler/scala/tools/nsc/symtab/classfile/PickleFormat.scala
index 0b0b7216b9..aef29b0b21 100644
--- a/src/compiler/scala/tools/nsc/symtab/classfile/PickleFormat.scala
+++ b/src/compiler/scala/tools/nsc/symtab/classfile/PickleFormat.scala
@@ -4,7 +4,9 @@
*/
// $Id$
-package scala.tools.nsc.symtab.classfile
+package scala.tools.nsc
+package symtab
+package classfile
/** This object provides constants for pickling attributes.
*
diff --git a/src/compiler/scala/tools/nsc/symtab/classfile/Pickler.scala b/src/compiler/scala/tools/nsc/symtab/classfile/Pickler.scala
index 4a0b21a914..471754dc4a 100644
--- a/src/compiler/scala/tools/nsc/symtab/classfile/Pickler.scala
+++ b/src/compiler/scala/tools/nsc/symtab/classfile/Pickler.scala
@@ -4,7 +4,9 @@
*/
// $Id$
-package scala.tools.nsc.symtab.classfile
+package scala.tools.nsc
+package symtab
+package classfile
import java.lang.{Float, Double}
import scala.tools.nsc.util.{Position, NoPosition, ShowPickled}
@@ -210,8 +212,8 @@ abstract class Pickler extends SubComponent {
tree match {
case EmptyTree =>
- case tree@PackageDef(name, stats) =>
- putEntry(name)
+ case tree@PackageDef(pid, stats) =>
+ putTree(pid)
putTrees(stats)
case ClassDef(mods, name, tparams, impl) =>
@@ -622,12 +624,12 @@ abstract class Pickler extends SubComponent {
writeNat(EMPTYtree)
TREE
- case tree@PackageDef(name, stats) =>
+ case tree@PackageDef(pid, stats) =>
writeNat(PACKAGEtree)
writeRef(tree.tpe)
writeRef(tree.symbol)
writeRef(tree.mods)
- writeRef(name)
+ writeRef(pid)
writeRefs(stats)
TREE
diff --git a/src/compiler/scala/tools/nsc/symtab/classfile/UnPickler.scala b/src/compiler/scala/tools/nsc/symtab/classfile/UnPickler.scala
index 8122177365..f2aa736656 100644
--- a/src/compiler/scala/tools/nsc/symtab/classfile/UnPickler.scala
+++ b/src/compiler/scala/tools/nsc/symtab/classfile/UnPickler.scala
@@ -4,7 +4,9 @@
*/
// $Id$
-package scala.tools.nsc.symtab.classfile
+package scala.tools.nsc
+package symtab
+package classfile
import java.io.IOException
import java.lang.{Float, Double}
@@ -457,9 +459,9 @@ abstract class UnPickler {
case PACKAGEtree =>
val symbol = readSymbolRef()
- val name = readNameRef()
+ val pid = readTreeRef().asInstanceOf[RefTree]
val stats = until(end, readTreeRef)
- PackageDef(name, stats) setType tpe
+ PackageDef(pid, stats) setType tpe
case CLASStree =>
val symbol = readSymbolRef()
diff --git a/src/compiler/scala/tools/nsc/symtab/clr/CLRTypes.scala b/src/compiler/scala/tools/nsc/symtab/clr/CLRTypes.scala
index a0c2b07176..d80d3d90e4 100644
--- a/src/compiler/scala/tools/nsc/symtab/clr/CLRTypes.scala
+++ b/src/compiler/scala/tools/nsc/symtab/clr/CLRTypes.scala
@@ -4,7 +4,9 @@
// $Id$
-package scala.tools.nsc.symtab.clr
+package scala.tools.nsc
+package symtab
+package clr
import java.io.File
import java.util.{Comparator, StringTokenizer}
diff --git a/src/compiler/scala/tools/nsc/symtab/clr/TypeParser.scala b/src/compiler/scala/tools/nsc/symtab/clr/TypeParser.scala
index 5b47dc50eb..9b621a9596 100644
--- a/src/compiler/scala/tools/nsc/symtab/clr/TypeParser.scala
+++ b/src/compiler/scala/tools/nsc/symtab/clr/TypeParser.scala
@@ -4,7 +4,9 @@
// $Id$
-package scala.tools.nsc.symtab.clr
+package scala.tools.nsc
+package symtab
+package clr
import java.io.IOException
diff --git a/src/compiler/scala/tools/nsc/transform/AddInterfaces.scala b/src/compiler/scala/tools/nsc/transform/AddInterfaces.scala
index e95c8b69bd..64b9740839 100644
--- a/src/compiler/scala/tools/nsc/transform/AddInterfaces.scala
+++ b/src/compiler/scala/tools/nsc/transform/AddInterfaces.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.transform
+package scala.tools.nsc
+package transform
import symtab._
import Flags._
diff --git a/src/compiler/scala/tools/nsc/transform/CleanUp.scala b/src/compiler/scala/tools/nsc/transform/CleanUp.scala
index 942871ae1f..348f3cc5a3 100644
--- a/src/compiler/scala/tools/nsc/transform/CleanUp.scala
+++ b/src/compiler/scala/tools/nsc/transform/CleanUp.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.transform
+package scala.tools.nsc
+package transform
import symtab._
import Flags._
diff --git a/src/compiler/scala/tools/nsc/transform/Constructors.scala b/src/compiler/scala/tools/nsc/transform/Constructors.scala
index 0331766b80..d8f0290507 100644
--- a/src/compiler/scala/tools/nsc/transform/Constructors.scala
+++ b/src/compiler/scala/tools/nsc/transform/Constructors.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.transform
+package scala.tools.nsc
+package transform
import scala.collection.mutable.ListBuffer
import symtab.Flags._
diff --git a/src/compiler/scala/tools/nsc/transform/Erasure.scala b/src/compiler/scala/tools/nsc/transform/Erasure.scala
index 2b9b66b0ff..1fa2ba58d2 100644
--- a/src/compiler/scala/tools/nsc/transform/Erasure.scala
+++ b/src/compiler/scala/tools/nsc/transform/Erasure.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.transform
+package scala.tools.nsc
+package transform
import scala.tools.nsc.symtab.classfile.ClassfileConstants._
import scala.collection.mutable.{HashMap,ListBuffer}
diff --git a/src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala b/src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala
index f838de7fe5..42a8f3848a 100644
--- a/src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala
+++ b/src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.transform
+package scala.tools.nsc
+package transform
import symtab._
import Flags.{ CASE => _, _ }
diff --git a/src/compiler/scala/tools/nsc/transform/Flatten.scala b/src/compiler/scala/tools/nsc/transform/Flatten.scala
index fa1c08f80f..7738692a29 100644
--- a/src/compiler/scala/tools/nsc/transform/Flatten.scala
+++ b/src/compiler/scala/tools/nsc/transform/Flatten.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.transform
+package scala.tools.nsc
+package transform
import symtab._
import Flags._
diff --git a/src/compiler/scala/tools/nsc/transform/InfoTransform.scala b/src/compiler/scala/tools/nsc/transform/InfoTransform.scala
index ba4ce36c33..42c2d1ee43 100644
--- a/src/compiler/scala/tools/nsc/transform/InfoTransform.scala
+++ b/src/compiler/scala/tools/nsc/transform/InfoTransform.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.transform
+package scala.tools.nsc
+package transform
/** <p>
* A base class for transforms.
diff --git a/src/compiler/scala/tools/nsc/transform/LambdaLift.scala b/src/compiler/scala/tools/nsc/transform/LambdaLift.scala
index 9cf11f2284..b64451a3cd 100644
--- a/src/compiler/scala/tools/nsc/transform/LambdaLift.scala
+++ b/src/compiler/scala/tools/nsc/transform/LambdaLift.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.transform
+package scala.tools.nsc
+package transform
import symtab._
import Flags._
diff --git a/src/compiler/scala/tools/nsc/transform/LazyVals.scala b/src/compiler/scala/tools/nsc/transform/LazyVals.scala
index e8db58c2bc..16c5f8754d 100644
--- a/src/compiler/scala/tools/nsc/transform/LazyVals.scala
+++ b/src/compiler/scala/tools/nsc/transform/LazyVals.scala
@@ -1,4 +1,5 @@
-package scala.tools.nsc.transform;
+package scala.tools.nsc
+package transform;
import scala.tools.nsc._
import scala.collection.mutable.HashMap
diff --git a/src/compiler/scala/tools/nsc/transform/LiftCode.scala b/src/compiler/scala/tools/nsc/transform/LiftCode.scala
index 34faa7f683..b2af3a0d73 100644
--- a/src/compiler/scala/tools/nsc/transform/LiftCode.scala
+++ b/src/compiler/scala/tools/nsc/transform/LiftCode.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.transform
+package scala.tools.nsc
+package transform
import symtab._
import Flags._
@@ -120,7 +121,7 @@ abstract class LiftCode extends Transform with Reifiers {
// case EmptyTree =>
// case LiftPoint(tree) =>
-// case PackageDef(name, stats) =>
+// case PackageDef(pid, stats) =>
// case ClassDef(mods, name, tparams, impl) =>
// case ValDef(mods, name, tpt, rhs) =>
// case DefDef(mods, name, tparams, vparamss, tpt, rhs) =>
diff --git a/src/compiler/scala/tools/nsc/transform/Mixin.scala b/src/compiler/scala/tools/nsc/transform/Mixin.scala
index 29d182b61e..c02d2cd27d 100644
--- a/src/compiler/scala/tools/nsc/transform/Mixin.scala
+++ b/src/compiler/scala/tools/nsc/transform/Mixin.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.transform
+package scala.tools.nsc
+package transform
import symtab._
import Flags._
diff --git a/src/compiler/scala/tools/nsc/transform/OverridingPairs.scala b/src/compiler/scala/tools/nsc/transform/OverridingPairs.scala
index 8f8d6a5bea..2eb63cd52d 100644
--- a/src/compiler/scala/tools/nsc/transform/OverridingPairs.scala
+++ b/src/compiler/scala/tools/nsc/transform/OverridingPairs.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.transform
+package scala.tools.nsc
+package transform
import collection.mutable.HashMap
import symtab.Flags._
diff --git a/src/compiler/scala/tools/nsc/transform/Reifiers.scala b/src/compiler/scala/tools/nsc/transform/Reifiers.scala
index 37a0ebcc1b..d4290bff59 100644
--- a/src/compiler/scala/tools/nsc/transform/Reifiers.scala
+++ b/src/compiler/scala/tools/nsc/transform/Reifiers.scala
@@ -1,4 +1,5 @@
-package scala.tools.nsc.transform
+package scala.tools.nsc
+package transform
import scala.tools.nsc.symtab.SymbolTable
import scala.reflect
import collection.mutable.HashMap
diff --git a/src/compiler/scala/tools/nsc/transform/SampleTransform.scala b/src/compiler/scala/tools/nsc/transform/SampleTransform.scala
index ad4e322ab1..33d454534f 100644
--- a/src/compiler/scala/tools/nsc/transform/SampleTransform.scala
+++ b/src/compiler/scala/tools/nsc/transform/SampleTransform.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.transform
+package scala.tools.nsc
+package transform
/** A sample transform.
*/
diff --git a/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala b/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala
index 7ac989374b..d1ca4de2ca 100644
--- a/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala
+++ b/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala
@@ -1,4 +1,5 @@
-package scala.tools.nsc.transform
+package scala.tools.nsc
+package transform
import scala.tools.nsc.symtab.Flags
import scala.tools.nsc.util.FreshNameCreator
@@ -899,12 +900,12 @@ abstract class SpecializeTypes extends InfoTransform with TypingTransformers {
} else
super.transform(tree)
- case PackageDef(name, stats) =>
+ case PackageDef(pid, stats) =>
tree.symbol.info // make sure specializations have been peformed
log("PackageDef owner: " + symbol)
atOwner(tree, symbol) {
val specMembers = implSpecClasses(stats) map localTyper.typed
- treeCopy.PackageDef(tree, name, transformStats(stats ::: specMembers, symbol.moduleClass))
+ treeCopy.PackageDef(tree, pid, transformStats(stats ::: specMembers, symbol.moduleClass))
}
case Template(parents, self, body) =>
diff --git a/src/compiler/scala/tools/nsc/transform/TailCalls.scala b/src/compiler/scala/tools/nsc/transform/TailCalls.scala
index 56f4cce69f..0d8540e196 100644
--- a/src/compiler/scala/tools/nsc/transform/TailCalls.scala
+++ b/src/compiler/scala/tools/nsc/transform/TailCalls.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.transform
+package scala.tools.nsc
+package transform
import scala.tools.nsc.symtab.Flags
@@ -203,7 +204,7 @@ abstract class TailCalls extends Transform
case EmptyTree => tree
- case PackageDef(name, stats) =>
+ case PackageDef(_, _) =>
super.transform(tree)
case ClassDef(_, name, _, _) =>
diff --git a/src/compiler/scala/tools/nsc/transform/Transform.scala b/src/compiler/scala/tools/nsc/transform/Transform.scala
index eb3c791430..e3a8dd0659 100644
--- a/src/compiler/scala/tools/nsc/transform/Transform.scala
+++ b/src/compiler/scala/tools/nsc/transform/Transform.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.transform
+package scala.tools.nsc
+package transform
/** <p>
* A base class for transforms.
diff --git a/src/compiler/scala/tools/nsc/transform/TypingTransformers.scala b/src/compiler/scala/tools/nsc/transform/TypingTransformers.scala
index ee3230c5fa..ac72383195 100644
--- a/src/compiler/scala/tools/nsc/transform/TypingTransformers.scala
+++ b/src/compiler/scala/tools/nsc/transform/TypingTransformers.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.transform
+package scala.tools.nsc
+package transform
import util.Position
import scala.collection.mutable.{Map, HashMap}
diff --git a/src/compiler/scala/tools/nsc/transform/UnCurry.scala b/src/compiler/scala/tools/nsc/transform/UnCurry.scala
index abf80658a9..3306b1f63a 100644
--- a/src/compiler/scala/tools/nsc/transform/UnCurry.scala
+++ b/src/compiler/scala/tools/nsc/transform/UnCurry.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.transform
+package scala.tools.nsc
+package transform
import symtab.Flags._
import scala.collection.mutable.{HashMap, HashSet}
diff --git a/src/compiler/scala/tools/nsc/typechecker/Analyzer.scala b/src/compiler/scala/tools/nsc/typechecker/Analyzer.scala
index 16287bfc45..a7b00894dd 100644
--- a/src/compiler/scala/tools/nsc/typechecker/Analyzer.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/Analyzer.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.typechecker
+package scala.tools.nsc
+package typechecker
/** The main attribution phase.
*/
diff --git a/src/compiler/scala/tools/nsc/typechecker/ConstantFolder.scala b/src/compiler/scala/tools/nsc/typechecker/ConstantFolder.scala
index ec8de3f1e9..a46a987bb8 100644
--- a/src/compiler/scala/tools/nsc/typechecker/ConstantFolder.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/ConstantFolder.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.typechecker
+package scala.tools.nsc
+package typechecker
import java.lang.ArithmeticException
diff --git a/src/compiler/scala/tools/nsc/typechecker/Contexts.scala b/src/compiler/scala/tools/nsc/typechecker/Contexts.scala
index 114525aabc..bd969eb13f 100644
--- a/src/compiler/scala/tools/nsc/typechecker/Contexts.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/Contexts.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.typechecker
+package scala.tools.nsc
+package typechecker
import symtab.Flags._
import scala.tools.nsc.util.{Position,NoPosition}
@@ -390,8 +391,9 @@ trait Contexts { self: Analyzer =>
*/
def isAccessible(sym: Symbol, pre: Type, superAccess: Boolean): Boolean = {
- /** Are we inside definition of `owner'? */
- def accessWithin(owner: Symbol): Boolean = {
+ /** Are we inside definition of `sym'? */
+ def accessWithin(sym: Symbol): Boolean = this.owner.ownerChain contains sym
+/*
var c = this
while (c != NoContext && c.owner != owner) {
if (c.outer eq null) assert(false, "accessWithin(" + owner + ") " + c);//debug
@@ -400,7 +402,7 @@ trait Contexts { self: Analyzer =>
}
c != NoContext
}
-
+*/
/** Is `clazz' a subclass of an enclosing class? */
def isSubClassOfEnclosing(clazz: Symbol): Boolean =
enclosingSuperClassContext(clazz) != NoContext
diff --git a/src/compiler/scala/tools/nsc/typechecker/DeVirtualize.scala b/src/compiler/scala/tools/nsc/typechecker/DeVirtualize.scala
index 5bb1016412..2714e72640 100644
--- a/src/compiler/scala/tools/nsc/typechecker/DeVirtualize.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/DeVirtualize.scala
@@ -4,7 +4,8 @@
*/
// $Id: RefChecks.scala 13735 2008-01-18 17:18:58Z odersky $
-package scala.tools.nsc.typechecker
+package scala.tools.nsc
+package typechecker
import symtab.Flags._
import transform.{InfoTransform, TypingTransformers}
diff --git a/src/compiler/scala/tools/nsc/typechecker/Duplicators.scala b/src/compiler/scala/tools/nsc/typechecker/Duplicators.scala
index b20b7c97bd..8a4a6129fb 100644
--- a/src/compiler/scala/tools/nsc/typechecker/Duplicators.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/Duplicators.scala
@@ -1,4 +1,5 @@
-package scala.tools.nsc.typechecker
+package scala.tools.nsc
+package typechecker
import scala.tools.nsc.symtab.Flags
diff --git a/src/compiler/scala/tools/nsc/typechecker/EtaExpansion.scala b/src/compiler/scala/tools/nsc/typechecker/EtaExpansion.scala
index 5f74567f2b..118e06bf6a 100644
--- a/src/compiler/scala/tools/nsc/typechecker/EtaExpansion.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/EtaExpansion.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.typechecker
+package scala.tools.nsc
+package typechecker
import scala.collection.mutable.ListBuffer
import symtab.Flags._
diff --git a/src/compiler/scala/tools/nsc/typechecker/IdeSupport.scala b/src/compiler/scala/tools/nsc/typechecker/IdeSupport.scala
index 6d5ad19f5c..db48683213 100644
--- a/src/compiler/scala/tools/nsc/typechecker/IdeSupport.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/IdeSupport.scala
@@ -1,4 +1,5 @@
-package scala.tools.nsc.typechecker;
+package scala.tools.nsc
+package typechecker;
import scala.collection.mutable.{WeakHashMap, LinkedHashSet}
trait IdeSupport extends Analyzer {
val global : Global with symtab.IdeSupport
@@ -99,6 +100,7 @@ trait IdeSupport extends Analyzer {
}
override def newTyper(txt : Context) : Typer = new Typer(txt)
class Typer(context : Context) extends super.Typer(context) {
+ /* !!! Miles, do we need still this? It's broken as it is because we have to return a Symbol not a Context
override def qualifyingClassContext(tree: Tree, qual: Name, packageOK: Boolean): Context = {
if (qual.isEmpty) super.qualifyingClassContext(tree, qual, packageOK)
else {
@@ -116,6 +118,7 @@ trait IdeSupport extends Analyzer {
c
}
}
+ */
// no adapting.
override protected def adapt(tree: Tree, mode: Int, pt: Type): Tree = super.adapt(tree,mode,pt)
override def typed1(tree: Tree, mode: Int, pt: Type): Tree = tree match {
diff --git a/src/compiler/scala/tools/nsc/typechecker/Implicits.scala b/src/compiler/scala/tools/nsc/typechecker/Implicits.scala
index d24f641fb4..ee640ef749 100644
--- a/src/compiler/scala/tools/nsc/typechecker/Implicits.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/Implicits.scala
@@ -8,7 +8,8 @@
//todo: use inherited type info also for vars and values
//todo: disallow C#D in superclass
//todo: treat :::= correctly
-package scala.tools.nsc.typechecker
+package scala.tools.nsc
+package typechecker
import scala.collection.mutable.{LinkedHashMap, ListBuffer}
import scala.tools.nsc.util.{HashSet, Position, Set, NoPosition, SourceFile}
diff --git a/src/compiler/scala/tools/nsc/typechecker/Infer.scala b/src/compiler/scala/tools/nsc/typechecker/Infer.scala
index ce16b55001..25956b2a29 100644
--- a/src/compiler/scala/tools/nsc/typechecker/Infer.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/Infer.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.typechecker
+package scala.tools.nsc
+package typechecker
import scala.tools.nsc.util.{Position, NoPosition}
import scala.collection.mutable.ListBuffer
import scala.util.control.ControlException
diff --git a/src/compiler/scala/tools/nsc/typechecker/Namers.scala b/src/compiler/scala/tools/nsc/typechecker/Namers.scala
index 6268db7024..0bc9d4d0f6 100644
--- a/src/compiler/scala/tools/nsc/typechecker/Namers.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/Namers.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.typechecker
+package scala.tools.nsc
+package typechecker
import scala.collection.mutable.HashMap
import scala.tools.nsc.util.Position
@@ -70,7 +71,7 @@ trait Namers { self: Analyzer =>
def setPrivateWithin[Sym <: Symbol](tree: Tree, sym: Sym, mods: Modifiers): Sym = {
if (!mods.privateWithin.isEmpty)
- sym.privateWithin = typer.qualifyingClassContext(tree, mods.privateWithin, true).owner
+ sym.privateWithin = typer.qualifyingClass(tree, mods.privateWithin, true)
sym
}
@@ -175,19 +176,21 @@ trait Namers { self: Analyzer =>
} else scope enter sym
}
- def enterPackageSymbol(pos: Position, name: Name): Symbol = {
- val (cscope, cowner) =
- if (context.owner == EmptyPackageClass) (RootClass.info.decls, RootClass)
- else (context.scope, context.owner)
- val p: Symbol = cscope.lookupWithContext(name)(context.owner)
- if (p.isPackage && cscope == p.owner.info.decls) {
- p
- } else {
- val pkg = cowner.newPackage(pos, name)
+ def enterPackageSymbol(pos: Position, pid: RefTree, pkgOwner: Symbol): Symbol = {
+ val owner = pid match {
+ case Ident(name) =>
+ pkgOwner
+ case Select(qual: RefTree, name) =>
+ enterPackageSymbol(pos, qual, pkgOwner).moduleClass
+ }
+ var pkg = owner.info.decls.lookupWithContext(pid.name)(owner)
+ if (!pkg.isPackage || owner != pkg.owner) {
+ pkg = owner.newPackage(pos, pid.name)
pkg.moduleClass.setInfo(new PackageClassInfoType(newScope, pkg.moduleClass, null))
pkg.setInfo(pkg.moduleClass.tpe)
- enterInScope(pkg, cscope)
+ enterInScope(pkg, owner.info.decls)
}
+ pkg
}
def enterClassSymbol(tree : ClassDef): Symbol = {
@@ -324,8 +327,9 @@ trait Namers { self: Analyzer =>
if (tree.symbol == NoSymbol) {
val owner = context.owner
tree match {
- case PackageDef(name, stats) =>
- tree.symbol = enterPackageSymbol(tree.pos, name)
+ case PackageDef(pid, stats) =>
+ tree.symbol = enterPackageSymbol(tree.pos, pid,
+ if (context.owner == EmptyPackageClass) RootClass else context.owner)
val namer = newNamer(
context.make(tree, tree.symbol.moduleClass, tree.symbol.info.decls))
namer.enterSyms(stats)
diff --git a/src/compiler/scala/tools/nsc/typechecker/NamesDefaults.scala b/src/compiler/scala/tools/nsc/typechecker/NamesDefaults.scala
index e8750104f0..830503d37a 100644
--- a/src/compiler/scala/tools/nsc/typechecker/NamesDefaults.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/NamesDefaults.scala
@@ -4,7 +4,8 @@
*/
// $Id: NamesDefaults.scala 17081 2009-02-10 17:45:38Z rytz $
-package scala.tools.nsc.typechecker
+package scala.tools.nsc
+package typechecker
import scala.collection.mutable.ListBuffer
import symtab.Flags._
diff --git a/src/compiler/scala/tools/nsc/typechecker/RefChecks.scala b/src/compiler/scala/tools/nsc/typechecker/RefChecks.scala
index 4c2be9c247..3e85a55e61 100644
--- a/src/compiler/scala/tools/nsc/typechecker/RefChecks.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/RefChecks.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.typechecker
+package scala.tools.nsc
+package typechecker
import symtab.Flags._
import collection.mutable.{HashSet, HashMap}
diff --git a/src/compiler/scala/tools/nsc/typechecker/SuperAccessors.scala b/src/compiler/scala/tools/nsc/typechecker/SuperAccessors.scala
index f19cdd7d95..c5976a6f3f 100644
--- a/src/compiler/scala/tools/nsc/typechecker/SuperAccessors.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/SuperAccessors.scala
@@ -4,11 +4,12 @@
*/
// $Id$
-package scala.tools.nsc.typechecker
+package scala.tools.nsc
+package typechecker
import scala.collection.mutable.ListBuffer
-import nsc.symtab.Flags._
-import scala.tools.nsc.util.{Position}
+import symtab.Flags._
+import util.Position
/** This phase adds super accessors for all super calls that
* either appear in a trait or have as a target a member of some outer class.
diff --git a/src/compiler/scala/tools/nsc/typechecker/SyntheticMethods.scala b/src/compiler/scala/tools/nsc/typechecker/SyntheticMethods.scala
index 2fdd049bc5..23f90b1b8e 100644
--- a/src/compiler/scala/tools/nsc/typechecker/SyntheticMethods.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/SyntheticMethods.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.typechecker
+package scala.tools.nsc
+package typechecker
import symtab.Flags
import symtab.Flags._
diff --git a/src/compiler/scala/tools/nsc/typechecker/TreeCheckers.scala b/src/compiler/scala/tools/nsc/typechecker/TreeCheckers.scala
index e6c9a14380..3e8e803c13 100644
--- a/src/compiler/scala/tools/nsc/typechecker/TreeCheckers.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/TreeCheckers.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.typechecker
+package scala.tools.nsc
+package typechecker
import scala.tools.nsc.symtab.Flags._
import scala.tools.nsc.util.{Position, NoPosition}
diff --git a/src/compiler/scala/tools/nsc/typechecker/Typers.scala b/src/compiler/scala/tools/nsc/typechecker/Typers.scala
index 7c1e072849..3b9ebf53b8 100644
--- a/src/compiler/scala/tools/nsc/typechecker/Typers.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/Typers.scala
@@ -8,7 +8,8 @@
//todo: use inherited type info also for vars and values
//todo: disallow C#D in superclass
//todo: treat :::= correctly
-package scala.tools.nsc.typechecker
+package scala.tools.nsc
+package typechecker
import scala.collection.mutable.{HashMap, ListBuffer}
import scala.util.control.ControlException
@@ -516,24 +517,20 @@ trait Typers { self: Analyzer =>
tparam.symbol.deSkolemize
}
- /** The qualifying class of a this or super with prefix <code>qual</code>.
- *
- * @param tree ...
- * @param qual ...
- * @return ...
+ /** The qualifying class
+ * of a this or super with prefix <code>qual</code>.
*/
- def qualifyingClassContext(tree: Tree, qual: Name, packageOK: Boolean): Context = {
- var c = context.enclClass
- if (!qual.isEmpty) {
- while (c != NoContext && c.owner.name != qual) c = c.outer.enclClass
- }
- if (c == NoContext || !(packageOK || c.enclClass.tree.isInstanceOf[Template]))
- error(
- tree.pos,
- if (qual.isEmpty) tree+" can be used only in a class, object, or template"
- else qual+" is not an enclosing class")
- c
- }
+ def qualifyingClass(tree: Tree, qual: Name, packageOK: Boolean): Symbol =
+ context.enclClass.owner.ownerChain.find(o => qual.isEmpty || o.isClass && o.name == qual) match {
+ case Some(c) if packageOK || !c.isPackageClass =>
+ c
+ case _ =>
+ error(
+ tree.pos,
+ if (qual.isEmpty) tree+" can be used only in a class, object, or template"
+ else qual+" is not an enclosing class")
+ NoSymbol
+ }
/** The typer for an expression, depending on where we are. If we are before a superclass
* call, this is a typer over a constructor context; otherwise it is the current typer.
@@ -1750,11 +1747,9 @@ trait Typers { self: Analyzer =>
def typedStats(stats: List[Tree], exprOwner: Symbol): List[Tree] = {
val inBlock = exprOwner == context.owner
- val localTarget =
- context.unit != null &&
- context.unit.targetPos != NoPosition &&
- (stats exists (context.unit.targetPos includes _.pos))
-
+ def includesTargetPos(tree: Tree) =
+ !tree.pos.isSynthetic && context.unit != null && (tree.pos includes context.unit.targetPos)
+ val localTarget = stats exists includesTargetPos
def typedStat(stat: Tree): Tree = {
if (context.owner.isRefinementClass && !treeInfo.isDeclaration(stat))
errorTree(stat, "only declarations allowed here")
@@ -1768,7 +1763,7 @@ trait Typers { self: Analyzer =>
}
EmptyTree
case _ =>
- if (localTarget && !(context.unit.targetPos includes stat.pos)) {
+ if (localTarget && !includesTargetPos(tree))
stat
} else {
val localTyper = if (inBlock || (stat.isDef && !stat.isInstanceOf[LabelDef])) this
@@ -2272,8 +2267,7 @@ trait Typers { self: Analyzer =>
*
* @param annClass the expected annotation class
*/
- def typedAnnotation(ann: Tree, mode: Int = EXPRmode, selfsym: Symbol = NoSymbol,
- annClass: Symbol = AnnotationClass, requireJava: Boolean = false): AnnotationInfo = {
+ def typedAnnotation(ann: Tree, mode: Int = EXPRmode, selfsym: Symbol = NoSymbol, annClass: Symbol = AnnotationClass, requireJava: Boolean = false): AnnotationInfo = {
lazy val annotationError = AnnotationInfo(ErrorType, Nil, Nil)
var hasError: Boolean = false
def error(pos: Position, msg: String) = {
@@ -3148,14 +3142,11 @@ trait Typers { self: Analyzer =>
*/
}
+ def qualifyingClassSym(qual: Name): Symbol =
+ if (tree.symbol != NoSymbol) tree.symbol else qualifyingClass(tree, qual, false)
+
def typedSuper(qual: Name, mix: Name) = {
- val (clazz, selftype) =
- if (tree.symbol != NoSymbol) {
- (tree.symbol, tree.symbol.thisType)
- } else {
- val clazzContext = qualifyingClassContext(tree, qual, false)
- (clazzContext.owner, clazzContext.prefix)
- }
+ val clazz = qualifyingClassSym(qual)
if (clazz == NoSymbol) setError(tree)
else {
def findMixinSuper(site: Type): Type = {
@@ -3186,27 +3177,20 @@ trait Typers { self: Analyzer =>
} else {
findMixinSuper(clazz.info)
}
- tree setSymbol clazz setType mkSuperType(selftype, owntype)
+ tree setSymbol clazz setType mkSuperType(clazz.thisType, owntype)
}
}
def typedThis(qual: Name) = {
- val (clazz, selftype) =
- if (tree.symbol != NoSymbol) {
- (tree.symbol, tree.symbol.thisType)
- } else {
- val clazzContext = qualifyingClassContext(tree, qual, false)
- (clazzContext.owner, clazzContext.prefix)
- }
+ val clazz = qualifyingClassSym(qual)
if (clazz == NoSymbol) setError(tree)
else {
- tree setSymbol clazz setType selftype.underlying
- if (isStableContext(tree, mode, pt)) tree setType selftype
+ tree setSymbol clazz setType clazz.thisType.underlying
+ if (isStableContext(tree, mode, pt)) tree setType clazz.thisType
tree
}
}
-
/** Attribute a selection where <code>tree</code> is <code>qual.name</code>.
* <code>qual</code> is already attributed.
*
@@ -3485,11 +3469,12 @@ trait Typers { self: Analyzer =>
if ((sym ne null) && (sym ne NoSymbol)) sym.initialize
//if (settings.debug.value && tree.isDef) log("typing definition of "+sym);//DEBUG
tree match {
- case PackageDef(name, stats) =>
+ case PackageDef(pid, stats) =>
+ val pid1 = typedQualifier(pid).asInstanceOf[RefTree]
assert(sym.moduleClass ne NoSymbol, sym)
val stats1 = newTyper(context.make(tree, sym.moduleClass, sym.info.decls))
.typedStats(stats, NoSymbol)
- treeCopy.PackageDef(tree, name, stats1) setType NoType
+ treeCopy.PackageDef(tree, pid1, stats1) setType NoType
case tree @ ClassDef(_, _, _, _) =>
newTyper(context.makeNewScope(tree, sym)).typedClassDef(tree)
diff --git a/src/compiler/scala/tools/nsc/typechecker/Unapplies.scala b/src/compiler/scala/tools/nsc/typechecker/Unapplies.scala
index e1d13a5253..74c51405e4 100644
--- a/src/compiler/scala/tools/nsc/typechecker/Unapplies.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/Unapplies.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.typechecker
+package scala.tools.nsc
+package typechecker
import symtab.Flags._
diff --git a/src/compiler/scala/tools/nsc/typechecker/Variances.scala b/src/compiler/scala/tools/nsc/typechecker/Variances.scala
index 22a90e7542..6e2d61b94c 100644
--- a/src/compiler/scala/tools/nsc/typechecker/Variances.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/Variances.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.typechecker
+package scala.tools.nsc
+package typechecker
import symtab.Flags._
diff --git a/src/compiler/scala/tools/nsc/util/ArgumentsExpander.scala b/src/compiler/scala/tools/nsc/util/ArgumentsExpander.scala
index 68aa3479d2..2d8fc8c502 100644
--- a/src/compiler/scala/tools/nsc/util/ArgumentsExpander.scala
+++ b/src/compiler/scala/tools/nsc/util/ArgumentsExpander.scala
@@ -1,4 +1,5 @@
-package scala.tools.nsc.util
+package scala.tools.nsc
+package util
import java.io.{FileReader, BufferedReader, StreamTokenizer, FileNotFoundException}
import scala.tools.nsc.io.AbstractFile
diff --git a/src/compiler/scala/tools/nsc/util/BitSet.scala b/src/compiler/scala/tools/nsc/util/BitSet.scala
index ce83fb8a10..52856afb82 100644
--- a/src/compiler/scala/tools/nsc/util/BitSet.scala
+++ b/src/compiler/scala/tools/nsc/util/BitSet.scala
@@ -1,4 +1,5 @@
-package scala.tools.nsc.util
+package scala.tools.nsc
+package util
import BitSet._
diff --git a/src/compiler/scala/tools/nsc/util/CharArrayReader.scala b/src/compiler/scala/tools/nsc/util/CharArrayReader.scala
index a6b59cdcae..99883d9f7d 100755
--- a/src/compiler/scala/tools/nsc/util/CharArrayReader.scala
+++ b/src/compiler/scala/tools/nsc/util/CharArrayReader.scala
@@ -4,7 +4,8 @@
*/
// $Id: NewCharArrayReader.scala 16893 2009-01-13 13:09:22Z cunei $
-package scala.tools.nsc.util
+package scala.tools.nsc
+package util
import scala.tools.nsc.util.SourceFile.{LF, FF, CR, SU}
diff --git a/src/compiler/scala/tools/nsc/util/ClassPath.scala b/src/compiler/scala/tools/nsc/util/ClassPath.scala
index 93be056455..081a4a4bd9 100644
--- a/src/compiler/scala/tools/nsc/util/ClassPath.scala
+++ b/src/compiler/scala/tools/nsc/util/ClassPath.scala
@@ -5,7 +5,8 @@
// $Id$
-package scala.tools.nsc.util
+package scala.tools.nsc
+package util
import java.io.File
import java.net.URL
diff --git a/src/compiler/scala/tools/nsc/util/FreshNameCreator.scala b/src/compiler/scala/tools/nsc/util/FreshNameCreator.scala
index 87c00e7b3d..ac325042da 100644
--- a/src/compiler/scala/tools/nsc/util/FreshNameCreator.scala
+++ b/src/compiler/scala/tools/nsc/util/FreshNameCreator.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.util
+package scala.tools.nsc
+package util
import scala.collection.mutable.HashMap
diff --git a/src/compiler/scala/tools/nsc/util/HashSet.scala b/src/compiler/scala/tools/nsc/util/HashSet.scala
index 593b82da7f..d17850ebf5 100644
--- a/src/compiler/scala/tools/nsc/util/HashSet.scala
+++ b/src/compiler/scala/tools/nsc/util/HashSet.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.util
+package scala.tools.nsc
+package util
class HashSet[T >: Null <: AnyRef](initialCapacity: Int) extends Set[T] {
diff --git a/src/compiler/scala/tools/nsc/util/JavaCharArrayReader.scala b/src/compiler/scala/tools/nsc/util/JavaCharArrayReader.scala
index 175fda193a..6876d74b81 100755
--- a/src/compiler/scala/tools/nsc/util/JavaCharArrayReader.scala
+++ b/src/compiler/scala/tools/nsc/util/JavaCharArrayReader.scala
@@ -4,7 +4,8 @@
*/
// $Id: CharArrayReader.scala 17610 2009-04-30 22:38:36Z extempore $
-package scala.tools.nsc.util
+package scala.tools.nsc
+package util
import scala.tools.nsc.util.SourceFile.{LF, FF, CR, SU}
diff --git a/src/compiler/scala/tools/nsc/util/Position.scala b/src/compiler/scala/tools/nsc/util/Position.scala
index 2acf8d1f7a..71de35d29e 100644
--- a/src/compiler/scala/tools/nsc/util/Position.scala
+++ b/src/compiler/scala/tools/nsc/util/Position.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.util
+package scala.tools.nsc
+package util
object Position {
// a static field
diff --git a/src/compiler/scala/tools/nsc/util/RegexCache.scala b/src/compiler/scala/tools/nsc/util/RegexCache.scala
index 9ec644726e..c3db44d623 100644
--- a/src/compiler/scala/tools/nsc/util/RegexCache.scala
+++ b/src/compiler/scala/tools/nsc/util/RegexCache.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.util
+package scala.tools.nsc
+package util
import java.util.regex.Pattern
import scala.collection.mutable
diff --git a/src/compiler/scala/tools/nsc/util/Set.scala b/src/compiler/scala/tools/nsc/util/Set.scala
index 9ceb30d0ac..f30db0b1b6 100644
--- a/src/compiler/scala/tools/nsc/util/Set.scala
+++ b/src/compiler/scala/tools/nsc/util/Set.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.util
+package scala.tools.nsc
+package util
/** A common class for lightweight sets.
*/
diff --git a/src/compiler/scala/tools/nsc/util/ShowPickled.scala b/src/compiler/scala/tools/nsc/util/ShowPickled.scala
index 713c5b164d..98ed06a778 100644
--- a/src/compiler/scala/tools/nsc/util/ShowPickled.scala
+++ b/src/compiler/scala/tools/nsc/util/ShowPickled.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.util
+package scala.tools.nsc
+package util
import java.io.{File, FileInputStream, PrintStream, IOException}
import java.lang.Long.toHexString
diff --git a/src/compiler/scala/tools/nsc/util/SourceFile.scala b/src/compiler/scala/tools/nsc/util/SourceFile.scala
index 483f533d32..3744262be6 100644
--- a/src/compiler/scala/tools/nsc/util/SourceFile.scala
+++ b/src/compiler/scala/tools/nsc/util/SourceFile.scala
@@ -5,7 +5,8 @@
// $Id$
-package scala.tools.nsc.util
+package scala.tools.nsc
+package util
import scala.tools.nsc.io.{AbstractFile, VirtualFile}
import scala.collection.mutable.ArrayBuffer
import annotation.tailrec
diff --git a/src/compiler/scala/tools/nsc/util/Statistics.scala b/src/compiler/scala/tools/nsc/util/Statistics.scala
index 10a344911c..6864eb2335 100644
--- a/src/compiler/scala/tools/nsc/util/Statistics.scala
+++ b/src/compiler/scala/tools/nsc/util/Statistics.scala
@@ -5,7 +5,8 @@
// $Id$
-package scala.tools.nsc.util
+package scala.tools.nsc
+package util
object Statistics {
var enabled = false
diff --git a/src/compiler/scala/tools/nsc/util/TreeSet.scala b/src/compiler/scala/tools/nsc/util/TreeSet.scala
index 5adaeb589a..4f9e9f0a2d 100644
--- a/src/compiler/scala/tools/nsc/util/TreeSet.scala
+++ b/src/compiler/scala/tools/nsc/util/TreeSet.scala
@@ -4,7 +4,8 @@
*/
// $Id$
-package scala.tools.nsc.util
+package scala.tools.nsc
+package util
/** Sets implemented as binary trees.
*
diff --git a/src/compiler/scala/tools/nsc/util/WorkScheduler.scala b/src/compiler/scala/tools/nsc/util/WorkScheduler.scala
index eced845136..94c7c0e3cc 100644
--- a/src/compiler/scala/tools/nsc/util/WorkScheduler.scala
+++ b/src/compiler/scala/tools/nsc/util/WorkScheduler.scala
@@ -1,4 +1,5 @@
-package scala.tools.nsc.util
+package scala.tools.nsc
+package util
import scala.collection.mutable.Queue
diff --git a/src/compiler/scala/tools/nsc/util/trace.scala b/src/compiler/scala/tools/nsc/util/trace.scala
index dc78756ec6..97b3123372 100644
--- a/src/compiler/scala/tools/nsc/util/trace.scala
+++ b/src/compiler/scala/tools/nsc/util/trace.scala
@@ -1,4 +1,5 @@
-package scala.tools.nsc.util
+package scala.tools.nsc
+package util
object trace {
def apply[T](msg: String)(value: T): T = {