summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2011-06-11 10:17:49 +0000
committerPaul Phillips <paulp@improving.org>2011-06-11 10:17:49 +0000
commitd73d4950c99dcd383408bfa6502bce592517825a (patch)
tree740eb497d6b1b40bfb24b707c7a1f5ebd651f720
parentc8f4316b374d78caaf5ba605cd34e323b78a77de (diff)
downloadscala-d73d4950c99dcd383408bfa6502bce592517825a.tar.gz
scala-d73d4950c99dcd383408bfa6502bce592517825a.tar.bz2
scala-d73d4950c99dcd383408bfa6502bce592517825a.zip
Making some recent changes less breaky so sbt c...
Making some recent changes less breaky so sbt can be used with trunk again. Mainly, renamed scala.reflect.internal's AbstractFile to AbstractFileType. I can't see a way around renaming it and it's becoming quite a problem not to have sbt. I inspected scala-ide and I don't think this is going to break it, but in general I don't know how plausible it is that we can avoid periodic breakage given that we have at least three source bases (scala, sbt, scala-ide) each with multiple branches with interdependencies which are not being continuously integrated. Review by odersky.
-rw-r--r--src/compiler/scala/reflect/internal/Required.scala2
-rw-r--r--src/compiler/scala/reflect/internal/Symbols.scala10
-rw-r--r--src/compiler/scala/tools/nsc/Global.scala6
-rw-r--r--src/compiler/scala/tools/nsc/backend/jvm/BytecodeWriters.scala1
-rw-r--r--src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala1
-rw-r--r--src/compiler/scala/tools/nsc/dependencies/DependencyAnalysis.scala1
-rw-r--r--src/compiler/scala/tools/nsc/interpreter/IMain.scala1
-rw-r--r--src/compiler/scala/tools/nsc/reporters/Reporter.scala9
-rw-r--r--src/compiler/scala/tools/nsc/symtab/BrowsingLoaders.scala1
-rw-r--r--src/compiler/scala/tools/nsc/symtab/SymbolLoaders.scala1
-rw-r--r--src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala1
-rw-r--r--src/compiler/scala/tools/nsc/symtab/classfile/ICodeReader.scala2
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/Namers.scala1
13 files changed, 26 insertions, 11 deletions
diff --git a/src/compiler/scala/reflect/internal/Required.scala b/src/compiler/scala/reflect/internal/Required.scala
index 6f038d4ea0..73b739a319 100644
--- a/src/compiler/scala/reflect/internal/Required.scala
+++ b/src/compiler/scala/reflect/internal/Required.scala
@@ -5,7 +5,7 @@ import settings.MutableSettings
trait Required { self: SymbolTable =>
- type AbstractFile >: Null <: { def path: String }
+ type AbstractFileType >: Null <: { def path: String }
def picklerPhase: Phase
diff --git a/src/compiler/scala/reflect/internal/Symbols.scala b/src/compiler/scala/reflect/internal/Symbols.scala
index fb135a49d6..69b00a5949 100644
--- a/src/compiler/scala/reflect/internal/Symbols.scala
+++ b/src/compiler/scala/reflect/internal/Symbols.scala
@@ -1621,11 +1621,11 @@ trait Symbols /* extends reflect.generic.Symbols*/ { self: SymbolTable =>
def isExpandedModuleClass: Boolean = name(name.length - 1) == '$'
*/
- def sourceFile: AbstractFile =
+ def sourceFile: AbstractFileType =
if (isModule) moduleClass.sourceFile
else toplevelClass.sourceFile
- def sourceFile_=(f: AbstractFile) {
+ def sourceFile_=(f: AbstractFileType) {
abort("sourceFile_= inapplicable for " + this)
}
@@ -2105,7 +2105,7 @@ trait Symbols /* extends reflect.generic.Symbols*/ { self: SymbolTable =>
class ClassSymbol(initOwner: Symbol, initPos: Position, initName: TypeName)
extends TypeSymbol(initOwner, initPos, initName) {
- private var source: AbstractFile = null
+ private var source: AbstractFileType = null
private var thissym: Symbol = this
final override def isClass = true
@@ -2116,7 +2116,7 @@ trait Symbols /* extends reflect.generic.Symbols*/ { self: SymbolTable =>
override def sourceFile =
if (owner.isPackageClass) source
else super.sourceFile
- override def sourceFile_=(f: AbstractFile) { source = f }
+ override def sourceFile_=(f: AbstractFileType) { source = f }
override def reset(completer: Type) {
super.reset(completer)
@@ -2236,7 +2236,7 @@ trait Symbols /* extends reflect.generic.Symbols*/ { self: SymbolTable =>
override def toplevelClass: Symbol = this
override def enclMethod: Symbol = this
override def owner: Symbol = abort("no-symbol does not have owner")
- override def sourceFile: AbstractFile = null
+ override def sourceFile: AbstractFileType = null
override def ownerChain: List[Symbol] = List()
override def ownersIterator: Iterator[Symbol] = Iterator.empty
override def alternatives: List[Symbol] = List()
diff --git a/src/compiler/scala/tools/nsc/Global.scala b/src/compiler/scala/tools/nsc/Global.scala
index c777652706..9405d11a02 100644
--- a/src/compiler/scala/tools/nsc/Global.scala
+++ b/src/compiler/scala/tools/nsc/Global.scala
@@ -52,9 +52,9 @@ class Global(var currentSettings: Settings, var reporter: Reporter) extends Symb
this(settings, new ConsoleReporter(settings))
// fulfilling requirements
-
- type AbstractFile = scala.tools.nsc.io.AbstractFile
- val AbstractFile = scala.tools.nsc.io.AbstractFile
+ // Renamed AbstractFile to AbstractFileType for backward compatibility:
+ // it is difficult for sbt to work around the ambiguity errors which result.
+ type AbstractFileType = scala.tools.nsc.io.AbstractFile
def mkAttributedQualifier(tpe: Type, termSym: Symbol): Tree = gen.mkAttributedQualifier(tpe, termSym)
diff --git a/src/compiler/scala/tools/nsc/backend/jvm/BytecodeWriters.scala b/src/compiler/scala/tools/nsc/backend/jvm/BytecodeWriters.scala
index fb3d79a3c7..3197652c2f 100644
--- a/src/compiler/scala/tools/nsc/backend/jvm/BytecodeWriters.scala
+++ b/src/compiler/scala/tools/nsc/backend/jvm/BytecodeWriters.scala
@@ -12,6 +12,7 @@ import scala.tools.nsc.io.Path
import scala.tools.nsc.util.ScalaClassLoader
import scala.tools.util.Javap
import java.util.jar.{ JarEntry, JarOutputStream }
+import scala.tools.nsc.io.AbstractFile
/** For the last mile: turning generated bytecode in memory into
* something you can use. Has implementations for writing to class
diff --git a/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala b/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala
index f28fdd6c9b..3ab1a637fa 100644
--- a/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala
+++ b/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala
@@ -19,6 +19,7 @@ import ch.epfl.lamp.fjbg._
import JAccessFlags._
import JObjectType.{ JAVA_LANG_STRING, JAVA_LANG_OBJECT }
import java.util.jar.{ JarEntry, JarOutputStream }
+import scala.tools.nsc.io.AbstractFile
/** This class ...
*
diff --git a/src/compiler/scala/tools/nsc/dependencies/DependencyAnalysis.scala b/src/compiler/scala/tools/nsc/dependencies/DependencyAnalysis.scala
index 41eb01704f..bd890b7194 100644
--- a/src/compiler/scala/tools/nsc/dependencies/DependencyAnalysis.scala
+++ b/src/compiler/scala/tools/nsc/dependencies/DependencyAnalysis.scala
@@ -5,6 +5,7 @@ import util.SourceFile
import io.Path
import collection._
import symtab.Flags
+import scala.tools.nsc.io.AbstractFile
trait DependencyAnalysis extends SubComponent with Files {
import global._
diff --git a/src/compiler/scala/tools/nsc/interpreter/IMain.scala b/src/compiler/scala/tools/nsc/interpreter/IMain.scala
index 11ab21e952..7ce91a2fe8 100644
--- a/src/compiler/scala/tools/nsc/interpreter/IMain.scala
+++ b/src/compiler/scala/tools/nsc/interpreter/IMain.scala
@@ -14,6 +14,7 @@ import Exceptional.unwrap
import ScalaClassLoader.URLClassLoader
import symtab.Flags
import io.VirtualDirectory
+import scala.tools.nsc.io.AbstractFile
import reporters._
import symtab.Flags
import scala.reflect.internal.Names
diff --git a/src/compiler/scala/tools/nsc/reporters/Reporter.scala b/src/compiler/scala/tools/nsc/reporters/Reporter.scala
index 063181b061..d08e9288c3 100644
--- a/src/compiler/scala/tools/nsc/reporters/Reporter.scala
+++ b/src/compiler/scala/tools/nsc/reporters/Reporter.scala
@@ -7,7 +7,8 @@ package scala.tools.nsc
package reporters
import scala.tools.nsc.util._
-import scala.tools.util.StringOps._
+import scala.tools.util.StringOps
+import StringOps._
/**
* This interface provides methods to issue information, warning and
@@ -66,4 +67,10 @@ abstract class Reporter {
WARNING.count = 0
cancelled = false
}
+
+ // sbt compat
+ @deprecated("Moved to scala.tools.util.StringOps", "2.10.0")
+ def countElementsAsString(n: Int, elements: String): String = StringOps.countElementsAsString(n, elements)
+ @deprecated("Moved to scala.tools.util.StringOps", "2.10.0")
+ def countAsString(n: Int): String = StringOps.countAsString(n)
}
diff --git a/src/compiler/scala/tools/nsc/symtab/BrowsingLoaders.scala b/src/compiler/scala/tools/nsc/symtab/BrowsingLoaders.scala
index 060b3c5ce4..4ebcda5730 100644
--- a/src/compiler/scala/tools/nsc/symtab/BrowsingLoaders.scala
+++ b/src/compiler/scala/tools/nsc/symtab/BrowsingLoaders.scala
@@ -7,6 +7,7 @@ package scala.tools.nsc
package symtab
import scala.tools.nsc.util.BatchSourceFile
+import scala.tools.nsc.io.AbstractFile
/** A subclass of SymbolLoaders that implements browsing behavior.
* This class should be used whenever file dependencies and recompile sets
diff --git a/src/compiler/scala/tools/nsc/symtab/SymbolLoaders.scala b/src/compiler/scala/tools/nsc/symtab/SymbolLoaders.scala
index 55b7c6004b..cd963585dc 100644
--- a/src/compiler/scala/tools/nsc/symtab/SymbolLoaders.scala
+++ b/src/compiler/scala/tools/nsc/symtab/SymbolLoaders.scala
@@ -14,6 +14,7 @@ import scala.tools.nsc.util.{ ClassPath }
import classfile.ClassfileParser
import reflect.internal.Flags._
import util.Statistics._
+import scala.tools.nsc.io.AbstractFile
/** This class ...
*
diff --git a/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala b/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala
index 126dd2c2da..a539d48150 100644
--- a/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala
+++ b/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala
@@ -14,6 +14,7 @@ import scala.collection.{ mutable, immutable }
import scala.collection.mutable.{ ListBuffer, ArrayBuffer }
import scala.annotation.switch
import scala.reflect.internal.pickling.{PickleBuffer, ByteCodecs}
+import scala.tools.nsc.io.AbstractFile
/** This abstract class implements a class file parser.
*
diff --git a/src/compiler/scala/tools/nsc/symtab/classfile/ICodeReader.scala b/src/compiler/scala/tools/nsc/symtab/classfile/ICodeReader.scala
index 0eb290c988..f80e17273c 100644
--- a/src/compiler/scala/tools/nsc/symtab/classfile/ICodeReader.scala
+++ b/src/compiler/scala/tools/nsc/symtab/classfile/ICodeReader.scala
@@ -36,7 +36,7 @@ abstract class ICodeReader extends ClassfileParser {
* for non-static members.
*/
def readClass(cls: Symbol): (IClass, IClass) = {
- var classFile: AbstractFile = null;
+ var classFile: io.AbstractFile = null;
var sym = cls
sym.info // ensure accurate type information
diff --git a/src/compiler/scala/tools/nsc/typechecker/Namers.scala b/src/compiler/scala/tools/nsc/typechecker/Namers.scala
index fddf115730..c4c2316b4e 100644
--- a/src/compiler/scala/tools/nsc/typechecker/Namers.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/Namers.scala
@@ -10,6 +10,7 @@ import scala.collection.mutable.{HashMap, WeakHashMap}
import scala.ref.WeakReference
import symtab.Flags
import symtab.Flags._
+import scala.tools.nsc.io.AbstractFile
/** This trait declares methods to create symbols and to enter them into scopes.
*