diff options
author | Martin Odersky <odersky@gmail.com> | 2009-07-24 15:28:37 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2009-07-24 15:28:37 +0000 |
commit | 40707e0f49eb991ba1cbc07bdb1bcf65a640006b (patch) | |
tree | 00b6b70e32b941f9aa4502a91ad07fd0fc807e3d /src/compiler | |
parent | 8a78d3748319811d7b0adc80d4ee8926dc8d90bf (diff) | |
download | scala-40707e0f49eb991ba1cbc07bdb1bcf65a640006b.tar.gz scala-40707e0f49eb991ba1cbc07bdb1bcf65a640006b.tar.bz2 scala-40707e0f49eb991ba1cbc07bdb1bcf65a640006b.zip |
switch to unnested packages.
Diffstat (limited to 'src/compiler')
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 = { |