summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2011-10-03 01:28:04 +0000
committerPaul Phillips <paulp@improving.org>2011-10-03 01:28:04 +0000
commitbeadafa2d83a539dae8f969b9789f896346484ec (patch)
tree90c69a49397cdb59120d59307b843c54c8f68908
parent55109d0d253c7e89660f1b61d17408648c0c53a4 (diff)
downloadscala-beadafa2d83a539dae8f969b9789f896346484ec.tar.gz
scala-beadafa2d83a539dae8f969b9789f896346484ec.tar.bz2
scala-beadafa2d83a539dae8f969b9789f896346484ec.zip
Selective dealiasing when printing errors.
*** Important note for busy commit log skimmers *** Symbol method "fullName" has been trying to serve the dual role of "how to print a symbol" and "how to find a class file." It cannot serve both these roles simultaneously, primarily because of package objects but other little things as well. Since in the majority of situations we want the one which corresponds to the idealized scala world, not the grubby bytecode, I went with that for fullName. When you require the path to a class (e.g. you are calling Class.forName) you should use javaClassName. package foo { package object bar { class Bippy } } If sym is Bippy's symbol, then sym.fullName == foo.bar.Bippy sym.javaClassName == foo.bar.package.Bippy *** End important note *** There are many situations where we (until now) forewent revealing everything we knew about a type mismatch. For instance, this isn't very helpful of scalac (at least in those more common cases where you didn't define type X on the previous repl line.) scala> type X = Int defined type alias X scala> def f(x: X): Byte = x <console>:8: error: type mismatch; found : X required: Byte def f(x: X): Byte = x ^ Now it says: found : X (which expands to) Int required: Byte def f(x: X): Byte = x ^ In addition I rearchitected a number of methods involving: - finding a symbol's owner - calculating a symbol's name - determining whether to print a prefix No review.
-rw-r--r--src/compiler/scala/reflect/internal/Definitions.scala23
-rw-r--r--src/compiler/scala/reflect/internal/Symbols.scala86
-rw-r--r--src/compiler/scala/reflect/internal/Types.scala20
-rw-r--r--src/compiler/scala/reflect/runtime/Loaders.scala2
-rw-r--r--src/compiler/scala/reflect/runtime/ScalaToJava.scala2
-rw-r--r--src/compiler/scala/tools/nsc/doc/model/ModelFactory.scala2
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/Implicits.scala8
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/SuperAccessors.scala2
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/TypeDiagnostics.scala42
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/Typers.scala2
-rw-r--r--test/files/buildmanager/t2556_1/t2556_1.check6
-rw-r--r--test/files/buildmanager/t2556_2/t2556_2.check8
-rw-r--r--test/files/buildmanager/t2556_3/t2556_3.check4
-rw-r--r--test/files/buildmanager/t2557/t2557.check6
-rw-r--r--test/files/buildmanager/t2562/t2562.check10
-rw-r--r--test/files/buildmanager/t2650_2/t2650_2.check1
-rw-r--r--test/files/buildmanager/t2650_3/t2650_3.check1
-rw-r--r--test/files/buildmanager/t2650_4/t2650_4.check1
-rw-r--r--test/files/buildmanager/t2655/t2655.check2
-rw-r--r--test/files/buildmanager/t2657/t2657.check4
-rw-r--r--test/files/buildmanager/t2790/t2790.check4
-rw-r--r--test/files/continuations-neg/function2.check2
-rw-r--r--test/files/continuations-neg/t1929.check4
-rw-r--r--test/files/jvm/interpreter.check11
-rw-r--r--test/files/neg/checksensible.check8
-rw-r--r--test/files/neg/found-req-variance.check10
-rw-r--r--test/files/neg/implicits.check2
-rw-r--r--test/files/neg/names-defaults-neg.check26
-rw-r--r--test/files/neg/no-predef.check2
-rw-r--r--test/files/neg/override-object-no.check4
-rw-r--r--test/files/neg/patmat-type-check.check2
-rw-r--r--test/files/neg/primitive-sigs-1.check2
-rw-r--r--test/files/neg/protected-constructors.check2
-rw-r--r--test/files/neg/t0152.check2
-rw-r--r--test/files/neg/t0764.check2
-rw-r--r--test/files/neg/t112706A.check2
-rw-r--r--test/files/neg/t1701.check2
-rw-r--r--test/files/neg/t1878.check2
-rw-r--r--test/files/neg/t2078.check2
-rw-r--r--test/files/neg/t2386.check2
-rw-r--r--test/files/neg/t3006.check2
-rw-r--r--test/files/neg/t3015.check4
-rw-r--r--test/files/neg/t3691.check6
-rw-r--r--test/files/neg/t3987.check1
-rw-r--r--test/files/neg/t4158.check4
-rw-r--r--test/files/neg/t4417.check2
-rw-r--r--test/files/neg/t4727.check2
-rw-r--r--test/files/neg/t4877.check12
-rw-r--r--test/files/neg/t515.check2
-rw-r--r--test/files/neg/t663.check2
-rw-r--r--test/files/neg/t836.check1
-rw-r--r--test/files/neg/t909.check2
-rw-r--r--test/files/neg/tcpoly_variance.check2
-rw-r--r--test/files/neg/varargs.check4
-rw-r--r--test/files/presentation/akka.check66
-rw-r--r--test/files/presentation/callcc-interpreter.check10
-rw-r--r--test/files/presentation/ide-bug-1000475.check60
-rw-r--r--test/files/presentation/ide-bug-1000531.check18
-rw-r--r--test/files/presentation/implicit-member.check6
-rw-r--r--test/files/presentation/ping-pong.check18
-rw-r--r--test/files/presentation/properties.check92
-rw-r--r--test/files/presentation/random.check2
-rw-r--r--test/files/presentation/timeofday.check12
-rw-r--r--test/files/res/t687.check4
-rw-r--r--test/files/run/code.check4
-rw-r--r--test/files/run/constrained-types.check14
-rw-r--r--test/files/run/global-showdef.check4
-rw-r--r--test/files/run/repl-parens.check2
-rw-r--r--test/files/run/repl-paste-2.check2
-rw-r--r--test/files/run/t4172.check2
70 files changed, 366 insertions, 321 deletions
diff --git a/src/compiler/scala/reflect/internal/Definitions.scala b/src/compiler/scala/reflect/internal/Definitions.scala
index a46b7d6bc7..1d0ed2442e 100644
--- a/src/compiler/scala/reflect/internal/Definitions.scala
+++ b/src/compiler/scala/reflect/internal/Definitions.scala
@@ -142,12 +142,13 @@ trait Definitions extends reflect.api.StandardDefinitions {
lazy val EmptyPackage = RootClass.newPackage(NoPosition, nme.EMPTY_PACKAGE_NAME).setFlag(FINAL)
lazy val EmptyPackageClass = EmptyPackage.moduleClass
- lazy val JavaLangPackage = getModule(sn.JavaLang)
- lazy val ScalaPackage = getModule("scala")
- lazy val ScalaPackageClass = ScalaPackage.tpe.typeSymbol
+ lazy val JavaLangPackage = getModule(sn.JavaLang)
+ lazy val JavaLangPackageClass = JavaLangPackage.moduleClass
+ lazy val ScalaPackage = getModule(nme.scala_)
+ lazy val ScalaPackageClass = ScalaPackage.moduleClass
lazy val RuntimePackage = getModule("scala.runtime")
- lazy val RuntimePackageClass = RuntimePackage.tpe.typeSymbol
+ lazy val RuntimePackageClass = RuntimePackage.moduleClass
// convenient one-argument parameter lists
lazy val anyparam = List(AnyClass.typeConstructor)
@@ -221,7 +222,7 @@ trait Definitions extends reflect.api.StandardDefinitions {
lazy val BridgeClass = getClass("scala.annotation.bridge")
// fundamental reference classes
- lazy val ScalaObjectClass = getClass("scala.ScalaObject")
+ lazy val ScalaObjectClass = getMember(ScalaPackageClass, tpnme.ScalaObject)
lazy val PartialFunctionClass = getClass("scala.PartialFunction")
lazy val SymbolClass = getClass("scala.Symbol")
lazy val StringClass = getClass(sn.String)
@@ -233,9 +234,17 @@ trait Definitions extends reflect.api.StandardDefinitions {
// fundamental modules
lazy val SysPackage = getPackageObject("scala.sys")
def Sys_error = getMember(SysPackage, nme.error)
+
+ // Modules whose members are in the default namespace
+ lazy val UnqualifiedModules = List(PredefModule, ScalaPackage, JavaLangPackage)
+ // Those modules and their module classes
+ lazy val UnqualifiedOwners = UnqualifiedModules.toSet ++ UnqualifiedModules.map(_.moduleClass)
+
lazy val PredefModule: Symbol = getModule("scala.Predef")
- lazy val PredefModuleClass = PredefModule.tpe.typeSymbol
- def Predef_AnyRef = getMember(PredefModule, "AnyRef") // used by the specialization annotation
+ lazy val PredefModuleClass = PredefModule.moduleClass
+ // Note: this is not the type alias AnyRef, it's a val defined in Predef
+ // used by the @specialize annotation.
+ def Predef_AnyRef = getMember(PredefModule, tpnme.AnyRef.toTermName)
def Predef_classOf = getMember(PredefModule, nme.classOf)
def Predef_identity = getMember(PredefModule, nme.identity)
def Predef_conforms = getMember(PredefModule, nme.conforms)
diff --git a/src/compiler/scala/reflect/internal/Symbols.scala b/src/compiler/scala/reflect/internal/Symbols.scala
index 82706d7265..aebe4184f4 100644
--- a/src/compiler/scala/reflect/internal/Symbols.scala
+++ b/src/compiler/scala/reflect/internal/Symbols.scala
@@ -395,22 +395,24 @@ trait Symbols extends api.Symbols { self: SymbolTable =>
final def isAnonymousFunction = isSynthetic && (name containsName tpnme.ANON_FUN_NAME)
final def isAnonOrRefinementClass = isAnonymousClass || isRefinementClass
- final def isPackageObject = isModule && name == nme.PACKAGEkw && owner.isPackageClass
- final def isPackageObjectClass = isModuleClass && name.toTermName == nme.PACKAGEkw && owner.isPackageClass
- final def definedInPackage = owner.isPackageClass || owner.isPackageObjectClass
+ def isPackageObjectOrClass = (name.toTermName == nme.PACKAGEkw) && owner.isPackageClass
+ final def isPackageObject = isModule && isPackageObjectOrClass
+ final def isPackageObjectClass = isModuleClass && isPackageObjectOrClass
+ final def isDefinedInPackage = effectiveOwner.isPackageClass
final def isJavaInterface = isJavaDefined && isTrait
final def needsFlatClasses: Boolean = phase.flatClasses && rawowner != NoSymbol && !rawowner.isPackageClass
- // not printed as prefixes
- final def isPredefModule = this == PredefModule
- final def isScalaPackage = (this == ScalaPackage) || (isPackageObject && owner == ScalaPackageClass)
- final def isScalaPackageClass = skipPackageObject == ScalaPackageClass
- def inDefaultNamespace = owner.isPredefModule || owner.isScalaPackageClass
+ // In java.lang, Predef, or scala package/package object
+ def isInDefaultNamespace = UnqualifiedOwners(effectiveOwner)
/** If this is a package object or package object class, its owner: otherwise this.
*/
final def skipPackageObject: Symbol = if (isPackageObjectClass) owner else this
+ /** The owner, skipping package objects.
+ */
+ def effectiveOwner = owner.skipPackageObject
+
/** If this is a constructor, its owner: otherwise this.
*/
final def skipConstructor: Symbol = if (isConstructor) owner else this
@@ -418,11 +420,15 @@ trait Symbols extends api.Symbols { self: SymbolTable =>
/** Conditions where we omit the prefix when printing a symbol, to avoid
* unpleasantries like Predef.String, $iw.$iw.Foo and <empty>.Bippy.
*/
- final def printWithoutPrefix = !settings.debug.value && (
- isScalaPackageClass || isPredefModule || isEffectiveRoot || isAnonOrRefinementClass ||
- nme.isReplWrapperName(name) // not isInterpreterWrapper due to nesting
+ final def isOmittablePrefix = !settings.debug.value && (
+ UnqualifiedOwners(skipPackageObject)
+ || isEmptyPrefix
+ )
+ def isEmptyPrefix = (
+ isEffectiveRoot // has no prefix for real, <empty> or <root>
+ || isAnonOrRefinementClass // has uninteresting <anon> or <refinement> prefix
+ || nme.isReplWrapperName(name) // has ugly $iw. prefix (doesn't call isInterpreterWrapper due to nesting)
)
-
def isFBounded = info.baseTypeSeq exists (_ contains this)
/** Is symbol a monomorphic type?
@@ -723,7 +729,7 @@ trait Symbols extends api.Symbols { self: SymbolTable =>
/** The decoded name of the symbol, e.g. `==` instead of `\$eq\$eq`.
*/
- def decodedName: String = stripLocalSuffix(NameTransformer.decode(encodedName))
+ def decodedName: String = stripNameString(NameTransformer.decode(encodedName))
def moduleSuffix: String = (
if (hasModuleFlag && !isMethod && !isImplClass && !isJavaDefined) nme.MODULE_SUFFIX_STRING
@@ -732,22 +738,32 @@ trait Symbols extends api.Symbols { self: SymbolTable =>
/** These should be moved somewhere like JavaPlatform.
*/
- def javaSimpleName = stripLocalSuffix("" + simpleName) + moduleSuffix
- def javaBinaryName = fullName('/') + moduleSuffix
- def javaClassName = fullName('.') + moduleSuffix
+ def javaSimpleName = ("" + simpleName).trim + moduleSuffix
+ def javaBinaryName = fullNameInternal('/') + moduleSuffix
+ def javaClassName = fullNameInternal('.') + moduleSuffix
/** The encoded full path name of this symbol, where outer names and inner names
* are separated by `separator` characters.
* Never translates expansions of operators back to operator symbol.
* Never adds id.
+ * Drops package objects.
+ */
+ final def fullName(separator: Char): String = stripNameString(fullNameInternal(separator))
+
+ /** Doesn't drop package objects, for those situations (e.g. classloading)
+ * where the true path is needed.
*/
- final def fullName(separator: Char): String = stripLocalSuffix {
+ private def fullNameInternal(separator: Char): String = (
if (isRoot || isRootPackage || this == NoSymbol) this.toString
else if (owner.isEffectiveRoot) encodedName
- else owner.enclClass.fullName(separator) + separator + encodedName
- }
+ else effectiveOwner.enclClass.fullName(separator) + separator + encodedName
+ )
- private def stripLocalSuffix(s: String) = s stripSuffix nme.LOCAL_SUFFIX_STRING
+ /** Strip package objects and any local suffix.
+ */
+ private def stripNameString(s: String) =
+ if (settings.debug.value) s
+ else s.replaceAllLiterally(".package", "").trim
/** The encoded full path name of this symbol, where outer names and inner names
* are separated by periods.
@@ -1358,11 +1374,7 @@ trait Symbols extends api.Symbols { self: SymbolTable =>
/** The package containing this symbol, or NoSymbol if there
* is not one. */
- def enclosingPackage: Symbol = {
- val packSym = enclosingPackageClass
- if (packSym != NoSymbol) packSym.companionModule
- else packSym
- }
+ def enclosingPackage: Symbol = enclosingPackageClass.companionModule
/** Return the original enclosing method of this symbol. It should return
* the same thing as enclMethod when called before lambda lift,
@@ -1420,8 +1432,8 @@ trait Symbols extends api.Symbols { self: SymbolTable =>
/** Is this symbol defined in the same scope and compilation unit as `that` symbol? */
def isCoDefinedWith(that: Symbol) = (
(this.rawInfo ne NoType) &&
- (this.owner == that.owner) && {
- !this.owner.isPackageClass ||
+ (this.effectiveOwner == that.effectiveOwner) && {
+ !this.effectiveOwner.isPackageClass ||
(this.sourceFile eq null) ||
(that.sourceFile eq null) ||
(this.sourceFile == that.sourceFile) || {
@@ -1784,11 +1796,10 @@ trait Symbols extends api.Symbols { self: SymbolTable =>
* to the name of the owner.
*/
def hasMeaninglessName = (
- isSetterParameter // x$1
- || isClassConstructor // this
- || isPackageObject // package
- || isPackageObjectClass // package$
- || isRefinementClass // <refinement>
+ isSetterParameter // x$1
+ || isClassConstructor // this
+ || isPackageObjectOrClass // package
+ || isRefinementClass // <refinement>
)
/** String representation of symbol's simple name.
@@ -1812,9 +1823,8 @@ trait Symbols extends api.Symbols { self: SymbolTable =>
/** String representation of location.
*/
def ownsString = {
- val owns = owner.skipPackageObject
- if (owns.isClass && !owns.printWithoutPrefix && !isScalaPackageClass) "" + owns
- else ""
+ val owns = effectiveOwner
+ if (owns.isClass && !owns.isEmptyPrefix) "" + owns else ""
}
/** String representation of location, plus a preposition. Doesn't do much,
@@ -1963,7 +1973,7 @@ trait Symbols extends api.Symbols { self: SymbolTable =>
protected def doCookJavaRawInfo() {
def cook(sym: Symbol) {
- require(sym hasFlag JAVA)
+ require(sym.isJavaDefined, sym)
// @M: I think this is more desirable, but Martin prefers to leave raw-types as-is as much as possible
// object rawToExistentialInJava extends TypeMap {
// def apply(tp: Type): Type = tp match {
@@ -1985,9 +1995,9 @@ trait Symbols extends api.Symbols { self: SymbolTable =>
if (isJavaDefined)
cook(this)
- else if (hasFlag(OVERLOADED))
+ else if (isOverloaded)
for (sym2 <- alternatives)
- if (sym2 hasFlag JAVA)
+ if (sym2.isJavaDefined)
cook(sym2)
}
}
diff --git a/src/compiler/scala/reflect/internal/Types.scala b/src/compiler/scala/reflect/internal/Types.scala
index 34c6570c2a..43168190a3 100644
--- a/src/compiler/scala/reflect/internal/Types.scala
+++ b/src/compiler/scala/reflect/internal/Types.scala
@@ -1157,7 +1157,7 @@ trait Types extends api.Types { self: SymbolTable =>
override def prefixString =
if (settings.debug.value) sym.nameString + ".this."
else if (sym.isAnonOrRefinementClass) "this."
- else if (sym.printWithoutPrefix) ""
+ else if (sym.isOmittablePrefix) ""
else if (sym.isModuleClass) sym.fullName + "."
else sym.nameString + ".this."
override def safeToString: String =
@@ -1220,8 +1220,9 @@ trait Types extends api.Types { self: SymbolTable =>
override def termSymbol = sym
override def prefix: Type = pre
- override def prefixString: String =
- if ((sym.isEmptyPackage || sym.isInterpreterWrapper || sym.isPredefModule || sym.isScalaPackage) && !settings.debug.value) ""
+ override def prefixString =
+ if (sym.isPackageObjectOrClass) pre.prefixString
+ else if (sym.isOmittablePrefix) ""
else pre.prefixString + sym.nameString + "."
override def kind = "SingleType"
}
@@ -2050,8 +2051,10 @@ A type's typeSymbol should never be inspected directly.
override def prefixString = "" + (
if (settings.debug.value)
super.prefixString
- else if (sym.printWithoutPrefix)
+ else if (sym.isOmittablePrefix)
""
+ else if (sym.isPackageObjectOrClass)
+ sym.owner.fullName + "."
else if (sym.isPackageClass)
sym.fullName + "."
else if (isStable && nme.isSingletonName(sym.name))
@@ -4080,7 +4083,7 @@ A type's typeSymbol should never be inspected directly.
def corresponds(sym1: Symbol, sym2: Symbol): Boolean =
sym1.name == sym2.name && (sym1.isPackageClass || corresponds(sym1.owner, sym2.owner))
if (!corresponds(sym.owner, rebind0.owner)) {
- debuglog("ADAPT1 pre = "+pre+", sym = "+sym+sym.locationString+", rebind = "+rebind0+rebind0.locationString)
+ debuglog("ADAPT1 pre = "+pre+", sym = "+sym.fullLocationString+", rebind = "+rebind0.fullLocationString)
val bcs = pre.baseClasses.dropWhile(bc => !corresponds(bc, sym.owner));
if (bcs.isEmpty)
assert(pre.typeSymbol.isRefinementClass, pre) // if pre is a refinementclass it might be a structural type => OK to leave it in.
@@ -4089,11 +4092,8 @@ A type's typeSymbol should never be inspected directly.
debuglog(
"ADAPT2 pre = " + pre +
", bcs.head = " + bcs.head +
- ", sym = " + sym+sym.locationString +
- ", rebind = " + rebind0 + (
- if (rebind0 == NoSymbol) ""
- else rebind0.locationString
- )
+ ", sym = " + sym.fullLocationString +
+ ", rebind = " + rebind0.fullLocationString
)
}
val rebind = rebind0.suchThat(sym => sym.isType || sym.isStable)
diff --git a/src/compiler/scala/reflect/runtime/Loaders.scala b/src/compiler/scala/reflect/runtime/Loaders.scala
index e16431df99..46ee176b0f 100644
--- a/src/compiler/scala/reflect/runtime/Loaders.scala
+++ b/src/compiler/scala/reflect/runtime/Loaders.scala
@@ -35,7 +35,7 @@ trait Loaders { self: SymbolTable =>
assert(sym == clazz || sym == module || sym == module.moduleClass)
// try {
atPhaseNotLaterThan(picklerPhase) {
- unpickleClass(clazz, module, javaClass(clazz.fullName))
+ unpickleClass(clazz, module, javaClass(clazz.javaClassName))
// } catch {
// case ex: ClassNotFoundException => makePackage()
// case ex: NoClassDefFoundError => makePackage()
diff --git a/src/compiler/scala/reflect/runtime/ScalaToJava.scala b/src/compiler/scala/reflect/runtime/ScalaToJava.scala
index db8658d30c..b1e4d6224c 100644
--- a/src/compiler/scala/reflect/runtime/ScalaToJava.scala
+++ b/src/compiler/scala/reflect/runtime/ScalaToJava.scala
@@ -43,7 +43,7 @@ trait ScalaToJava extends ConversionUtil { self: SymbolTable =>
else if (clazz == ArrayClass)
noClass
else if (clazz.owner.isPackageClass)
- javaClass(clazz.fullName)
+ javaClass(clazz.javaClassName)
else if (clazz.owner.isClass)
classToJava(clazz.owner)
.getDeclaredClasses
diff --git a/src/compiler/scala/tools/nsc/doc/model/ModelFactory.scala b/src/compiler/scala/tools/nsc/doc/model/ModelFactory.scala
index 2a7f11325c..d735044e07 100644
--- a/src/compiler/scala/tools/nsc/doc/model/ModelFactory.scala
+++ b/src/compiler/scala/tools/nsc/doc/model/ModelFactory.scala
@@ -39,7 +39,7 @@ class ModelFactory(val global: Global, val settings: doc.Settings) {
"memberSym " + memberSym + " templateSym " + templateSym + " encls = " +
closestPackage(memberSym) + ", " + closestPackage(templateSym)
)
- memberSym.inDefaultNamespace || (closestPackage(memberSym) == closestPackage(templateSym))
+ memberSym.isOmittablePrefix || (closestPackage(memberSym) == closestPackage(templateSym))
}
private lazy val noSubclassCache = Set(AnyClass, AnyRefClass, ObjectClass, ScalaObjectClass)
diff --git a/src/compiler/scala/tools/nsc/typechecker/Implicits.scala b/src/compiler/scala/tools/nsc/typechecker/Implicits.scala
index 169295e5c9..660999eb64 100644
--- a/src/compiler/scala/tools/nsc/typechecker/Implicits.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/Implicits.scala
@@ -335,8 +335,8 @@ trait Implicits {
pre1: String, pre2: String, trailer: String) =
if (!info1.tpe.isErroneous && !info2.tpe.isErroneous) {
val coreMsg =
- pre1+" "+info1.sym+info1.sym.locationString+" of type "+info1.tpe+"\n "+
- pre2+" "+info2.sym+info2.sym.locationString+" of type "+info2.tpe+"\n "+
+ pre1+" "+info1.sym.fullLocationString+" of type "+info1.tpe+"\n "+
+ pre2+" "+info2.sym.fullLocationString+" of type "+info2.tpe+"\n "+
trailer
error(tree.pos,
if (isView) {
@@ -408,7 +408,7 @@ trait Implicits {
if (!(pt.isErroneous))
context.unit.error(
tree.pos, "diverging implicit expansion for type "+pt+"\nstarting with "+
- info.sym+info.sym.locationString)
+ info.sym.fullLocationString)
SearchFailure
} else {
throw DivergentImplicit
@@ -545,7 +545,7 @@ trait Implicits {
SearchFailure
else if (!hasMatchingSymbol(itree1))
fail("candidate implicit %s is shadowed by other implicit %s".format(
- info.sym + info.sym.locationString, itree1.symbol + itree1.symbol.locationString))
+ info.sym.fullLocationString, itree1.symbol.fullLocationString))
else {
val tvars = undetParams map freshVar
diff --git a/src/compiler/scala/tools/nsc/typechecker/SuperAccessors.scala b/src/compiler/scala/tools/nsc/typechecker/SuperAccessors.scala
index 360acbd469..31aaaa36b8 100644
--- a/src/compiler/scala/tools/nsc/typechecker/SuperAccessors.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/SuperAccessors.scala
@@ -403,7 +403,7 @@ abstract class SuperAccessors extends transform.Transform with transform.TypingT
val isCandidate = (
sym.isProtected
&& sym.isJavaDefined
- && !sym.definedInPackage
+ && !sym.isDefinedInPackage
&& !accessibleThroughSubclassing
&& (sym.owner.enclosingPackageClass != currentOwner.enclosingPackageClass)
&& (sym.owner.enclosingPackageClass == packageAccessBoundry(sym))
diff --git a/src/compiler/scala/tools/nsc/typechecker/TypeDiagnostics.scala b/src/compiler/scala/tools/nsc/typechecker/TypeDiagnostics.scala
index 6e0e78e8e2..6c735a2d44 100644
--- a/src/compiler/scala/tools/nsc/typechecker/TypeDiagnostics.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/TypeDiagnostics.scala
@@ -82,6 +82,17 @@ trait TypeDiagnostics {
def posPrecedes(p1: Position, p2: Position) = p1.isDefined && p2.isDefined && p1.line < p2.line
def linePrecedes(t1: Tree, t2: Tree) = posPrecedes(t1.pos, t2.pos)
+ private object DealiasedType extends TypeMap {
+ def apply(tp: Type): Type = tp match {
+ // Avoid "explaining" that String is really java.lang.String,
+ // while still dealiasing types from non-default namespaces.
+ case TypeRef(pre, sym, args) if sym.isAliasType && !sym.isInDefaultNamespace =>
+ mapOver(tp.dealias)
+ case _ =>
+ mapOver(tp)
+ }
+ }
+
def notAMemberMessage(pos: Position, qual: Tree, name: Name) = {
val owner = qual.tpe.typeSymbol
val target = qual.tpe.widen
@@ -212,12 +223,17 @@ trait TypeDiagnostics {
else if (sym.variance == -1) "contravariant"
else "invariant"
- // I think this should definitely be on by default, but I need to
- // play with it a bit longer. For now it's behind -Xlint.
- def explainAlias(tp: Type) = (
- if (!settings.lint.value || (tp eq tp.normalize)) ""
- else " (which expands to)\n " + tp.normalize
- )
+ def explainAlias(tp: Type) = {
+ // Don't automatically normalize standard aliases; they still will be
+ // expanded if necessary to disambiguate simple identifiers.
+ if ((tp eq tp.normalize) || tp.typeSymbolDirect.isInDefaultNamespace) ""
+ else {
+ // A sanity check against expansion being identical to original.
+ val s = "" + DealiasedType(tp)
+ if (s == "" + tp) ""
+ else "\n (which expands to) " + s
+ }
+ }
/** Look through the base types of the found type for any which
* might have been valid subtypes if given conformant type arguments.
@@ -292,7 +308,6 @@ trait TypeDiagnostics {
}
"" // no elaborable variance situation found
}
-
def foundReqMsg(found: Type, req: Type): String = (
withDisambiguation(Nil, found, req)(
";\n found : " + found.toLongString + existentialContext(found) + explainAlias(found) +
@@ -309,8 +324,11 @@ trait TypeDiagnostics {
def modifyName(f: String => String) =
sym.name = newTypeName(f(sym.name.toString))
- def scalaQualify() = {
- val intersect = Set(trueOwner, aliasOwner) intersect Set(ScalaPackageClass, PredefModuleClass)
+ /** Prepend java.lang, scala., or Predef. if this type originated
+ * in one of those.
+ */
+ def qualifyDefaultNamespaces() = {
+ val intersect = Set(trueOwner, aliasOwner) intersect UnqualifiedOwners
if (intersect.nonEmpty) preQualify()
}
@@ -320,8 +338,8 @@ trait TypeDiagnostics {
def typeQualify() = if (sym.isTypeParameterOrSkolem) postQualify()
def nameQualify() = if (trueOwner.isPackageClass) preQualify() else postQualify()
- def trueOwner = tp.typeSymbol.owner.skipPackageObject
- def aliasOwner = tp.typeSymbolDirect.owner.skipPackageObject
+ def trueOwner = tp.typeSymbol.effectiveOwner
+ def aliasOwner = tp.typeSymbolDirect.effectiveOwner
def sym_==(other: TypeDiag) = tp.typeSymbol == other.tp.typeSymbol
def owner_==(other: TypeDiag) = trueOwner == other.trueOwner
@@ -385,7 +403,7 @@ trait TypeDiagnostics {
// scala package or predef, qualify with scala so it is not confusing why
// e.g. java.util.Iterator and Iterator are different types.
if (td1 name_== td2)
- tds foreach (_.scalaQualify())
+ tds foreach (_.qualifyDefaultNamespaces())
// If they still print identically:
// a) If they are type parameters with different owners, append (in <owner>)
diff --git a/src/compiler/scala/tools/nsc/typechecker/Typers.scala b/src/compiler/scala/tools/nsc/typechecker/Typers.scala
index 5bd936bfb7..deff4c10a2 100644
--- a/src/compiler/scala/tools/nsc/typechecker/Typers.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/Typers.scala
@@ -3848,7 +3848,7 @@ trait Typers extends Modes with Adaptations {
if (defSym.exists && impSym.exists) {
// imported symbols take precedence over package-owned symbols in different
// compilation units. Defined symbols take precedence over erroneous imports.
- if (defSym.definedInPackage &&
+ if (defSym.isDefinedInPackage &&
(!currentRun.compiles(defSym) ||
context.unit.exists && defSym.sourceFile != context.unit.source.file))
defSym = NoSymbol
diff --git a/test/files/buildmanager/t2556_1/t2556_1.check b/test/files/buildmanager/t2556_1/t2556_1.check
index dc9437fa7e..2e501c8f6f 100644
--- a/test/files/buildmanager/t2556_1/t2556_1.check
+++ b/test/files/buildmanager/t2556_1/t2556_1.check
@@ -3,10 +3,10 @@ compiling Set(A.scala, B.scala)
Changes: Map()
builder > A.scala
compiling Set(A.scala)
-Changes: Map(class A -> List(Changed(Definition(A.x))[method x changed from (i: Int)java.lang.String to (i: java.lang.String)java.lang.String flags: <method>]))
-invalidate B.scala because inherited method changed [Changed(Definition(A.x))[method x changed from (i: Int)java.lang.String to (i: java.lang.String)java.lang.String flags: <method>]]
+Changes: Map(class A -> List(Changed(Definition(A.x))[method x changed from (i: Int)String to (i: String)String flags: <method>]))
+invalidate B.scala because inherited method changed [Changed(Definition(A.x))[method x changed from (i: Int)String to (i: String)String flags: <method>]]
compiling Set(B.scala)
-B.scala:2: error: overriding method x in class A of type (i: String)java.lang.String;
+B.scala:2: error: overriding method x in class A of type (i: String)String;
method x needs `override' modifier
def x(s: String) = s+"5"
^
diff --git a/test/files/buildmanager/t2556_2/t2556_2.check b/test/files/buildmanager/t2556_2/t2556_2.check
index a4d6724b11..cae4f72212 100644
--- a/test/files/buildmanager/t2556_2/t2556_2.check
+++ b/test/files/buildmanager/t2556_2/t2556_2.check
@@ -3,11 +3,11 @@ compiling Set(A.scala, B.scala, C.scala)
Changes: Map()
builder > A.scala
compiling Set(A.scala)
-Changes: Map(class A -> List(Changed(Definition(A.x))[method x changed from (i: Int)java.lang.String to (i: java.lang.String)java.lang.String flags: <method>]))
-invalidate B.scala because inherited method changed [Changed(Definition(A.x))[method x changed from (i: Int)java.lang.String to (i: java.lang.String)java.lang.String flags: <method>]]
-invalidate C.scala because inherited method changed [Changed(Definition(A.x))[method x changed from (i: Int)java.lang.String to (i: java.lang.String)java.lang.String flags: <method>]]
+Changes: Map(class A -> List(Changed(Definition(A.x))[method x changed from (i: Int)String to (i: String)String flags: <method>]))
+invalidate B.scala because inherited method changed [Changed(Definition(A.x))[method x changed from (i: Int)String to (i: String)String flags: <method>]]
+invalidate C.scala because inherited method changed [Changed(Definition(A.x))[method x changed from (i: Int)String to (i: String)String flags: <method>]]
compiling Set(B.scala, C.scala)
-C.scala:2: error: overriding method x in class A of type (i: String)java.lang.String;
+C.scala:2: error: overriding method x in class A of type (i: String)String;
method x needs `override' modifier
def x(s: String) = s+"5"
^
diff --git a/test/files/buildmanager/t2556_3/t2556_3.check b/test/files/buildmanager/t2556_3/t2556_3.check
index 01dfa79b12..bf26602494 100644
--- a/test/files/buildmanager/t2556_3/t2556_3.check
+++ b/test/files/buildmanager/t2556_3/t2556_3.check
@@ -3,8 +3,8 @@ compiling Set(A.scala, B.scala, C.scala)
Changes: Map()
builder > A.scala
compiling Set(A.scala)
-Changes: Map(class A -> List(), class B -> List(Changed(Class(B))[List((A,java.lang.Object), (ScalaObject,ScalaObject))]))
-invalidate C.scala because parents have changed [Changed(Class(B))[List((A,java.lang.Object), (ScalaObject,ScalaObject))]]
+Changes: Map(class A -> List(), class B -> List(Changed(Class(B))[List((A,Object), (ScalaObject,ScalaObject))]))
+invalidate C.scala because parents have changed [Changed(Class(B))[List((A,Object), (ScalaObject,ScalaObject))]]
invalidate B.scala because it references invalid (no longer inherited) definition [ParentChanged(Class(C))]
compiling Set(B.scala, C.scala)
B.scala:3: error: type mismatch;
diff --git a/test/files/buildmanager/t2557/t2557.check b/test/files/buildmanager/t2557/t2557.check
index f51e801017..736ef3645e 100644
--- a/test/files/buildmanager/t2557/t2557.check
+++ b/test/files/buildmanager/t2557/t2557.check
@@ -3,8 +3,8 @@ compiling Set(A.scala, B.scala, C.scala, D.scala, E.scala, F.scala)
Changes: Map()
builder > D.scala
compiling Set(D.scala)
-Changes: Map(trait D -> List(Changed(Class(D))[List((java.lang.Object,java.lang.Object), (C,B), (B,C))]))
-invalidate E.scala because parents have changed [Changed(Class(D))[List((java.lang.Object,java.lang.Object), (C,B), (B,C))]]
-invalidate F.scala because parents have changed [Changed(Class(D))[List((java.lang.Object,java.lang.Object), (C,B), (B,C))]]
+Changes: Map(trait D -> List(Changed(Class(D))[List((Object,Object), (C,B), (B,C))]))
+invalidate E.scala because parents have changed [Changed(Class(D))[List((Object,Object), (C,B), (B,C))]]
+invalidate F.scala because parents have changed [Changed(Class(D))[List((Object,Object), (C,B), (B,C))]]
compiling Set(E.scala, F.scala)
Changes: Map(object F -> List(), trait E -> List())
diff --git a/test/files/buildmanager/t2562/t2562.check b/test/files/buildmanager/t2562/t2562.check
index 813d2735e1..390bbb9986 100644
--- a/test/files/buildmanager/t2562/t2562.check
+++ b/test/files/buildmanager/t2562/t2562.check
@@ -3,10 +3,10 @@ compiling Set(A.scala, B.scala)
Changes: Map()
builder > A.scala
compiling Set(A.scala)
-Changes: Map(object A -> List(Changed(Definition(A.x3))[method x3 changed from ()Int to ()java.lang.String flags: <method>]))
-invalidate B.scala because it references changed definition [Changed(Definition(A.x3))[method x3 changed from ()Int to ()java.lang.String flags: <method>]]
+Changes: Map(object A -> List(Changed(Definition(A.x3))[method x3 changed from ()Int to ()String flags: <method>]))
+invalidate B.scala because it references changed definition [Changed(Definition(A.x3))[method x3 changed from ()Int to ()String flags: <method>]]
compiling Set(B.scala)
-Changes: Map(object B -> List(Changed(Definition(B.x2))[method x2 changed from ()Int to ()java.lang.String flags: <method>]))
-invalidate A.scala because it references changed definition [Changed(Definition(B.x2))[method x2 changed from ()Int to ()java.lang.String flags: <method>]]
+Changes: Map(object B -> List(Changed(Definition(B.x2))[method x2 changed from ()Int to ()String flags: <method>]))
+invalidate A.scala because it references changed definition [Changed(Definition(B.x2))[method x2 changed from ()Int to ()String flags: <method>]]
compiling Set(A.scala, B.scala)
-Changes: Map(object A -> List(Changed(Definition(A.x0))[method x0 changed from ()Int to ()java.lang.String flags: <method>], Changed(Definition(A.x1))[method x1 changed from ()Int to ()java.lang.String flags: <method>], Changed(Definition(A.x2))[method x2 changed from ()Int to ()java.lang.String flags: <method>]), object B -> List(Changed(Definition(B.x0))[method x0 changed from ()Int to ()java.lang.String flags: <method>], Changed(Definition(B.x1))[method x1 changed from ()Int to ()java.lang.String flags: <method>]))
+Changes: Map(object A -> List(Changed(Definition(A.x0))[method x0 changed from ()Int to ()String flags: <method>], Changed(Definition(A.x1))[method x1 changed from ()Int to ()String flags: <method>], Changed(Definition(A.x2))[method x2 changed from ()Int to ()String flags: <method>]), object B -> List(Changed(Definition(B.x0))[method x0 changed from ()Int to ()String flags: <method>], Changed(Definition(B.x1))[method x1 changed from ()Int to ()String flags: <method>]))
diff --git a/test/files/buildmanager/t2650_2/t2650_2.check b/test/files/buildmanager/t2650_2/t2650_2.check
index 7ab72fb619..53a0287dfc 100644
--- a/test/files/buildmanager/t2650_2/t2650_2.check
+++ b/test/files/buildmanager/t2650_2/t2650_2.check
@@ -8,6 +8,7 @@ invalidate B.scala because inherited method changed [Changed(Definition(A.S))[ty
compiling Set(B.scala)
B.scala:3: error: type mismatch;
found : B.this.S
+ (which expands to) Long
required: Int
def y: Int = x
^
diff --git a/test/files/buildmanager/t2650_3/t2650_3.check b/test/files/buildmanager/t2650_3/t2650_3.check
index 27be2f5ae8..5c6326d59f 100644
--- a/test/files/buildmanager/t2650_3/t2650_3.check
+++ b/test/files/buildmanager/t2650_3/t2650_3.check
@@ -8,6 +8,7 @@ invalidate B.scala because it references changed definition [Changed(Definition(
compiling Set(B.scala)
B.scala:2: error: type mismatch;
found : a.T
+ (which expands to) Long
required: Int
def x(a: A): Int = a.x
^
diff --git a/test/files/buildmanager/t2650_4/t2650_4.check b/test/files/buildmanager/t2650_4/t2650_4.check
index ba092d013f..a4aeaddfbb 100644
--- a/test/files/buildmanager/t2650_4/t2650_4.check
+++ b/test/files/buildmanager/t2650_4/t2650_4.check
@@ -8,6 +8,7 @@ invalidate B.scala because it references changed definition [Changed(Definition(
compiling Set(B.scala)
B.scala:2: error: type mismatch;
found : a.T2
+ (which expands to) Long
required: Int
def x(a: A): Int = a.x
^
diff --git a/test/files/buildmanager/t2655/t2655.check b/test/files/buildmanager/t2655/t2655.check
index a4a071ed70..c473e9fd6e 100644
--- a/test/files/buildmanager/t2655/t2655.check
+++ b/test/files/buildmanager/t2655/t2655.check
@@ -7,7 +7,7 @@ Changes: Map(object A -> List(Changed(Definition(A.x))[method x changed from (i:
invalidate B.scala because it references changed definition [Changed(Definition(A.x))[method x changed from (i: Function0)Unit to (i: Function0)Unit flags: <method>]]
compiling Set(B.scala)
B.scala:2: error: type mismatch;
- found : java.lang.String("3")
+ found : String("3")
required: () => String
val x = A.x("3")
^
diff --git a/test/files/buildmanager/t2657/t2657.check b/test/files/buildmanager/t2657/t2657.check
index 9713f66024..3fd0e0666d 100644
--- a/test/files/buildmanager/t2657/t2657.check
+++ b/test/files/buildmanager/t2657/t2657.check
@@ -3,8 +3,8 @@ compiling Set(A.scala, B.scala)
Changes: Map()
builder > A.scala
compiling Set(A.scala)
-Changes: Map(class A -> List(Changed(Definition(A.y))[method y changed from (i: Int)java.lang.String to (i: Int)java.lang.String flags: implicit <method>]))
-invalidate B.scala because inherited method changed [Changed(Definition(A.y))[method y changed from (i: Int)java.lang.String to (i: Int)java.lang.String flags: implicit <method>]]
+Changes: Map(class A -> List(Changed(Definition(A.y))[method y changed from (i: Int)String to (i: Int)String flags: implicit <method>]))
+invalidate B.scala because inherited method changed [Changed(Definition(A.y))[method y changed from (i: Int)String to (i: Int)String flags: implicit <method>]]
compiling Set(B.scala)
B.scala:2: error: type mismatch;
found : Int(3)
diff --git a/test/files/buildmanager/t2790/t2790.check b/test/files/buildmanager/t2790/t2790.check
index 9d37ccea29..4e41db4e49 100644
--- a/test/files/buildmanager/t2790/t2790.check
+++ b/test/files/buildmanager/t2790/t2790.check
@@ -3,8 +3,8 @@ compiling Set(A.scala, B.scala)
Changes: Map()
builder > A.scala
compiling Set(A.scala)
-Changes: Map(object A -> List(Added(Definition(A.x)), Changed(Definition(A.x))[value x changed from (f: java.lang.String, g: Int)Int to (f: java.lang.String, g: Int)Int <and> (f: Int, g: Int)Int flags: <method>]))
-invalidate B.scala because it references changed definition [Changed(Definition(A.x))[value x changed from (f: java.lang.String, g: Int)Int to (f: java.lang.String, g: Int)Int <and> (f: Int, g: Int)Int flags: <method>]]
+Changes: Map(object A -> List(Added(Definition(A.x)), Changed(Definition(A.x))[value x changed from (f: String, g: Int)Int to (f: String, g: Int)Int <and> (f: Int, g: Int)Int flags: <method>]))
+invalidate B.scala because it references changed definition [Changed(Definition(A.x))[value x changed from (f: String, g: Int)Int to (f: String, g: Int)Int <and> (f: Int, g: Int)Int flags: <method>]]
compiling Set(B.scala)
B.scala:2: error: type mismatch;
found : Int(5)
diff --git a/test/files/continuations-neg/function2.check b/test/files/continuations-neg/function2.check
index 4833057652..82b81c1444 100644
--- a/test/files/continuations-neg/function2.check
+++ b/test/files/continuations-neg/function2.check
@@ -1,6 +1,6 @@
function2.scala:11: error: type mismatch;
found : () => Int
- required: () => Int @util.continuations.package.cps[Int]
+ required: () => Int @util.continuations.cps[Int]
val g: () => Int @cps[Int] = f
^
one error found
diff --git a/test/files/continuations-neg/t1929.check b/test/files/continuations-neg/t1929.check
index f42c3a1e15..b04a5b977d 100644
--- a/test/files/continuations-neg/t1929.check
+++ b/test/files/continuations-neg/t1929.check
@@ -1,6 +1,6 @@
t1929.scala:8: error: type mismatch;
- found : Int @scala.util.continuations.cpsParam[String,java.lang.String] @scala.util.continuations.cpsSynth
- required: Int @scala.util.continuations.cpsParam[Int,java.lang.String]
+ found : Int @scala.util.continuations.cpsParam[String,String] @scala.util.continuations.cpsSynth
+ required: Int @scala.util.continuations.cpsParam[Int,String]
reset {
^
one error found
diff --git a/test/files/jvm/interpreter.check b/test/files/jvm/interpreter.check
index 42a8ae8855..607e2bcaff 100644
--- a/test/files/jvm/interpreter.check
+++ b/test/files/jvm/interpreter.check
@@ -35,8 +35,9 @@ four: anotherint = 4
scala> val bogus: anotherint = "hello"
<console>:8: error: type mismatch;
- found : java.lang.String("hello")
+ found : String("hello")
required: anotherint
+ (which expands to) Int
val bogus: anotherint = "hello"
^
@@ -73,7 +74,7 @@ fish: S = fish
scala> // Test that arrays pretty print nicely.
scala> val arr = Array("What's", "up", "doc?")
-arr: Array[java.lang.String] = Array(What's, up, doc?)
+arr: Array[String] = Array(What's, up, doc?)
scala> // Test that arrays pretty print nicely, even when we give them type Any
@@ -263,7 +264,7 @@ scala> xs filter (_ == 2)
res4: Array[_] = Array(2)
scala> xs map (_ => "abc")
-res5: Array[java.lang.String] = Array(abc, abc)
+res5: Array[String] = Array(abc, abc)
scala> xs map (x => x)
res6: scala.collection.mutable.ArraySeq[_] = ArraySeq(1, 2)
@@ -322,7 +323,7 @@ scala> """
hello
there
"""
-res9: java.lang.String =
+res9: String =
"
hello
there
@@ -368,7 +369,7 @@ scala>
scala>
plusOne: (x: Int)Int
res0: Int = 6
-res1: java.lang.String = after reset
+res1: String = after reset
<console>:8: error: not found: value plusOne
plusOne(5) // should be undefined now
^
diff --git a/test/files/neg/checksensible.check b/test/files/neg/checksensible.check
index 085e00af2e..c085aa2719 100644
--- a/test/files/neg/checksensible.check
+++ b/test/files/neg/checksensible.check
@@ -25,10 +25,10 @@ checksensible.scala:26: error: comparing values of types Unit and Int using `=='
checksensible.scala:27: error: comparing values of types Int and Unit using `==' will always yield false
0 == (c = 1)
^
-checksensible.scala:29: error: comparing values of types Int and java.lang.String using `==' will always yield false
+checksensible.scala:29: error: comparing values of types Int and String using `==' will always yield false
1 == "abc"
^
-checksensible.scala:32: error: java.lang.String and Int are unrelated: they will most likely never compare equal
+checksensible.scala:32: error: String and Int are unrelated: they will most likely never compare equal
"abc" == 1 // warns because the lub of String and Int is Any
^
checksensible.scala:33: error: Some[Int] and Int are unrelated: they will most likely never compare equal
@@ -37,7 +37,7 @@ checksensible.scala:33: error: Some[Int] and Int are unrelated: they will most l
checksensible.scala:35: error: comparing a fresh object using `==' will always yield false
new AnyRef == 1
^
-checksensible.scala:38: error: comparing values of types Int and java.lang.Boolean using `==' will always yield false
+checksensible.scala:38: error: comparing values of types Int and Boolean using `==' will always yield false
1 == (new java.lang.Boolean(true))
^
checksensible.scala:40: error: comparing values of types Int and Boolean using `!=' will always yield true
@@ -88,7 +88,7 @@ checksensible.scala:76: error: comparing values of types EqEqRefTest.this.Z1 and
checksensible.scala:77: error: comparing values of types EqEqRefTest.this.Z1 and EqEqRefTest.this.C3 using `!=' will always yield true
z1 != c3
^
-checksensible.scala:78: error: comparing values of types EqEqRefTest.this.C3 and java.lang.String using `!=' will always yield true
+checksensible.scala:78: error: comparing values of types EqEqRefTest.this.C3 and String using `!=' will always yield true
c3 != "abc"
^
checksensible.scala:89: error: comparing values of types Unit and Int using `!=' will always yield true
diff --git a/test/files/neg/found-req-variance.check b/test/files/neg/found-req-variance.check
index 828e40a48b..cc26458ac5 100644
--- a/test/files/neg/found-req-variance.check
+++ b/test/files/neg/found-req-variance.check
@@ -163,15 +163,15 @@ You may wish to define A as +A instead. (SLS 4.5)
^
found-req-variance.scala:100: error: type mismatch;
found : Set[String]
- required: Set[java.lang.CharSequence]
-Note: String <: java.lang.CharSequence, but trait Set is invariant in type A.
-You may wish to investigate a wildcard type such as `_ <: java.lang.CharSequence`. (SLS 3.2.10)
+ required: Set[CharSequence]
+Note: String <: CharSequence, but trait Set is invariant in type A.
+You may wish to investigate a wildcard type such as `_ <: CharSequence`. (SLS 3.2.10)
foo(s)
^
found-req-variance.scala:104: error: type mismatch;
found : Misc.Trippy[String,String,String]
- required: Misc.Trippy[java.lang.Object,java.lang.Object,java.lang.Object]
-Note: String <: java.lang.Object, but class Trippy is invariant in type T2.
+ required: Misc.Trippy[Object,Object,Object]
+Note: String <: Object, but class Trippy is invariant in type T2.
You may wish to define T2 as +T2 instead. (SLS 4.5)
def g1 = Set[Trippy[AnyRef, AnyRef, AnyRef]]() + new Trippy[String, String, String]
^
diff --git a/test/files/neg/implicits.check b/test/files/neg/implicits.check
index f7923131e1..cd9dfebf48 100644
--- a/test/files/neg/implicits.check
+++ b/test/files/neg/implicits.check
@@ -1,5 +1,5 @@
implicits.scala:38: error: type mismatch;
- found : test2.HSome[java.lang.String,test2.HMap]
+ found : test2.HSome[String,test2.HMap]
required: Int
foo(set)
^
diff --git a/test/files/neg/names-defaults-neg.check b/test/files/neg/names-defaults-neg.check
index d2bd2d123b..03e44f745d 100644
--- a/test/files/neg/names-defaults-neg.check
+++ b/test/files/neg/names-defaults-neg.check
@@ -3,7 +3,7 @@ Unspecified value parameter b.
val fac = Fact(1)(2, 3)
^
names-defaults-neg.scala:5: error: type mismatch;
- found : java.lang.String("#")
+ found : String("#")
required: Int
test1(b = 2, a = "#")
^
@@ -40,26 +40,26 @@ names-defaults-neg.scala:26: error: Int does not take parameters
test3(b = 3, a = 1)(3)
^
names-defaults-neg.scala:35: error: ambiguous reference to overloaded definition,
-both method f in object t1 of type (b: String, a: Int)java.lang.String
-and method f in object t1 of type (a: Int, b: String)java.lang.String
-match argument types (b: java.lang.String,a: Int)
+both method f in object t1 of type (b: String, a: Int)String
+and method f in object t1 of type (a: Int, b: String)String
+match argument types (b: String,a: Int)
t1.f(b = "dkljf", a = 1)
^
names-defaults-neg.scala:42: error: ambiguous reference to overloaded definition,
-both method f in object t3 of type (a2: Int)(b: Int)java.lang.String
-and method f in object t3 of type (a1: Int)java.lang.String
+both method f in object t3 of type (a2: Int)(b: Int)String
+and method f in object t3 of type (a1: Int)String
match argument types (Int)
t3.f(1)
^
names-defaults-neg.scala:43: error: ambiguous reference to overloaded definition,
-both method f in object t3 of type (a2: Int)(b: Int)java.lang.String
-and method f in object t3 of type (a1: Int)java.lang.String
+both method f in object t3 of type (a2: Int)(b: Int)String
+and method f in object t3 of type (a1: Int)String
match argument types (Int)
t3.f(1)(2)
^
names-defaults-neg.scala:49: error: ambiguous reference to overloaded definition,
-both method g in object t7 of type (a: B)java.lang.String
-and method g in object t7 of type (a: C, b: Int*)java.lang.String
+both method g in object t7 of type (a: B)String
+and method g in object t7 of type (a: C, b: Int*)String
match argument types (C)
t7.g(new C()) // ambigous reference
^
@@ -73,9 +73,9 @@ names-defaults-neg.scala:55: error: when using named arguments, the vararg param
test5(b = "dlkj")
^
names-defaults-neg.scala:61: error: ambiguous reference to overloaded definition,
-both method f in object t8 of type (b: String, a: Int)java.lang.String
-and method f in object t8 of type (a: Int, b: java.lang.Object)java.lang.String
-match argument types (a: Int,b: java.lang.String) and expected result type Any
+both method f in object t8 of type (b: String, a: Int)String
+and method f in object t8 of type (a: Int, b: Object)String
+match argument types (a: Int,b: String) and expected result type Any
println(t8.f(a = 0, b = "1")) // ambigous reference
^
names-defaults-neg.scala:69: error: wrong number of arguments for <none>: (x: Int, y: String)A1
diff --git a/test/files/neg/no-predef.check b/test/files/neg/no-predef.check
index 4f09c1c31f..a63d8c5ba5 100644
--- a/test/files/neg/no-predef.check
+++ b/test/files/neg/no-predef.check
@@ -8,7 +8,7 @@ no-predef.scala:3: error: type mismatch;
required: scala.Long
def f2 = new java.lang.Long(5) : Long
^
-no-predef.scala:4: error: value map is not a member of java.lang.String
+no-predef.scala:4: error: value map is not a member of String
def f3 = "abc" map (_ + 1)
^
three errors found
diff --git a/test/files/neg/override-object-no.check b/test/files/neg/override-object-no.check
index c509634b3f..6e028d0add 100644
--- a/test/files/neg/override-object-no.check
+++ b/test/files/neg/override-object-no.check
@@ -6,8 +6,8 @@ an overriding object must conform to the overridden object's class bound;
^
override-object-no.scala:21: error: overriding object Bar in trait Quux1 with object Bar in trait Quux2:
an overriding object must conform to the overridden object's class bound;
- found : java.lang.Object with ScalaObject{def g: java.lang.String}
- required: java.lang.Object with ScalaObject{def g: Int}
+ found : Object with ScalaObject{def g: String}
+ required: Object with ScalaObject{def g: Int}
trait Quux2 extends Quux1 { override object Bar { def g = "abc" } } // err
^
override-object-no.scala:25: error: overriding object Bar in trait Quux3 of type object Quux4.this.Bar;
diff --git a/test/files/neg/patmat-type-check.check b/test/files/neg/patmat-type-check.check
index 8f81cede8f..e045841ce1 100644
--- a/test/files/neg/patmat-type-check.check
+++ b/test/files/neg/patmat-type-check.check
@@ -1,6 +1,6 @@
patmat-type-check.scala:22: error: scrutinee is incompatible with pattern type;
found : Seq[A]
- required: java.lang.String
+ required: String
def f1 = "bob".reverse match { case Seq('b', 'o', 'b') => true } // fail
^
patmat-type-check.scala:23: error: scrutinee is incompatible with pattern type;
diff --git a/test/files/neg/primitive-sigs-1.check b/test/files/neg/primitive-sigs-1.check
index befb8219dd..8713d95cc3 100644
--- a/test/files/neg/primitive-sigs-1.check
+++ b/test/files/neg/primitive-sigs-1.check
@@ -1,6 +1,6 @@
A_3.scala:3: error: type mismatch;
found : Bippy
- required: AC[java.lang.Integer]
+ required: AC[Integer]
J_2.f(new Bippy())
^
one error found
diff --git a/test/files/neg/protected-constructors.check b/test/files/neg/protected-constructors.check
index 3add24c089..f137158ed6 100644
--- a/test/files/neg/protected-constructors.check
+++ b/test/files/neg/protected-constructors.check
@@ -19,7 +19,7 @@ protected-constructors.scala:15: error: class Foo3 in object Ding cannot be acce
object Ding in package dingus where target is defined
class Bar3 extends Ding.Foo3("abc")
^
-protected-constructors.scala:15: error: too many arguments for constructor Object: ()java.lang.Object
+protected-constructors.scala:15: error: too many arguments for constructor Object: ()Object
class Bar3 extends Ding.Foo3("abc")
^
5 errors found
diff --git a/test/files/neg/t0152.check b/test/files/neg/t0152.check
index 84f78dc83c..a7909bf14d 100644
--- a/test/files/neg/t0152.check
+++ b/test/files/neg/t0152.check
@@ -1,6 +1,6 @@
t0152.scala:10: error: illegal inheritance;
object boom inherits different type instances of class Value:
-Value[Int] and Value[java.lang.String]
+Value[Int] and Value[String]
object boom extends Value[java.lang.String]("foo") with PlusOne
^
one error found
diff --git a/test/files/neg/t0764.check b/test/files/neg/t0764.check
index 9f0cedc69b..0788db7f6e 100644
--- a/test/files/neg/t0764.check
+++ b/test/files/neg/t0764.check
@@ -1,5 +1,5 @@
t0764.scala:13: error: type mismatch;
- found : java.lang.Object with Node{type T = _1.type} where val _1: Node{type T = NextType}
+ found : Object with Node{type T = _1.type} where val _1: Node{type T = NextType}
required: Node{type T = Main.this.AType}
new Main[AType]( (value: AType).prepend )
^
diff --git a/test/files/neg/t112706A.check b/test/files/neg/t112706A.check
index 42584b9707..30d0c3ec91 100644
--- a/test/files/neg/t112706A.check
+++ b/test/files/neg/t112706A.check
@@ -1,6 +1,6 @@
t112706A.scala:5: error: constructor cannot be instantiated to expected type;
found : (T1, T2)
- required: java.lang.String
+ required: String
case Tuple2(node,_) =>
^
one error found
diff --git a/test/files/neg/t1701.check b/test/files/neg/t1701.check
index 782b690bf0..d603e62e5a 100644
--- a/test/files/neg/t1701.check
+++ b/test/files/neg/t1701.check
@@ -1,4 +1,4 @@
-t1701.scala:1: error: java.lang.Cloneable does not take type parameters
+t1701.scala:1: error: Cloneable does not take type parameters
class A extends java.lang.Cloneable[String, Option, Int]
^
one error found
diff --git a/test/files/neg/t1878.check b/test/files/neg/t1878.check
index 4b9cfebde1..f3a6701d41 100644
--- a/test/files/neg/t1878.check
+++ b/test/files/neg/t1878.check
@@ -3,7 +3,7 @@ t1878.scala:3: error: _* may only come last
^
t1878.scala:3: error: scrutinee is incompatible with pattern type;
found : Seq[A]
- required: java.lang.String
+ required: String
val err1 = "" match { case Seq(f @ _*, ',') => f }
^
t1878.scala:9: error: _* may only come last
diff --git a/test/files/neg/t2078.check b/test/files/neg/t2078.check
index 1b79c19621..3cdaa7d27a 100644
--- a/test/files/neg/t2078.check
+++ b/test/files/neg/t2078.check
@@ -1,4 +1,4 @@
-t2078.scala:2: error: contravariant type S occurs in covariant position in type => java.lang.Object{val x: S} of value f
+t2078.scala:2: error: contravariant type S occurs in covariant position in type => Object{val x: S} of value f
val f = new { val x = y }
^
one error found
diff --git a/test/files/neg/t2386.check b/test/files/neg/t2386.check
index 2caa46c731..1a01696a9a 100644
--- a/test/files/neg/t2386.check
+++ b/test/files/neg/t2386.check
@@ -1,4 +1,4 @@
-t2386.scala:2: error: could not find implicit value for evidence parameter of type scala.reflect.ClassManifest[Array[_ >: java.lang.String with Int]]
+t2386.scala:2: error: could not find implicit value for evidence parameter of type scala.reflect.ClassManifest[Array[_ >: String with Int]]
val a = Array(Array(1, 2), Array("a","b"))
^
one error found
diff --git a/test/files/neg/t3006.check b/test/files/neg/t3006.check
index 9a90d32b28..2447eebc9c 100644
--- a/test/files/neg/t3006.check
+++ b/test/files/neg/t3006.check
@@ -1,5 +1,5 @@
t3006.scala:8: error: type mismatch;
- found : java.lang.String("H")
+ found : String("H")
required: Int
println(A(3) + "H")
^
diff --git a/test/files/neg/t3015.check b/test/files/neg/t3015.check
index 32809b0669..6095efc6a7 100644
--- a/test/files/neg/t3015.check
+++ b/test/files/neg/t3015.check
@@ -1,10 +1,10 @@
t3015.scala:7: error: scrutinee is incompatible with pattern type;
found : _$1 where type _$1
- required: java.lang.String
+ required: String
val b(foo) = "foo"
^
t3015.scala:7: error: type mismatch;
- found : _$1(in value foo) where type _$1(in value foo) <: java.lang.String
+ found : _$1(in value foo) where type _$1(in value foo) <: String
required: (some other)_$1(in value foo) where type (some other)_$1(in value foo)
val b(foo) = "foo"
^
diff --git a/test/files/neg/t3691.check b/test/files/neg/t3691.check
index 1b548cc84d..cd7b440dce 100644
--- a/test/files/neg/t3691.check
+++ b/test/files/neg/t3691.check
@@ -1,15 +1,15 @@
t3691.scala:4: error: type mismatch;
- found : java.lang.Object with Test.A[String]
+ found : Object with Test.A[String]
required: AnyRef{type A[x]}
val b = (new A[String]{}): { type A[x] } // not ok
^
t3691.scala:5: error: type mismatch;
- found : java.lang.Object with Test.A[String]
+ found : Object with Test.A[String]
required: AnyRef{type A}
val c = (new A[String]{}): { type A } // not ok
^
t3691.scala:7: error: type mismatch;
- found : java.lang.Object{type A = String}
+ found : Object{type A = String}
required: AnyRef{type A[X]}
val x = (new { type A = String }): { type A[X] } // not ok
^
diff --git a/test/files/neg/t3987.check b/test/files/neg/t3987.check
index d72e2d4828..a9f7912b77 100644
--- a/test/files/neg/t3987.check
+++ b/test/files/neg/t3987.check
@@ -1,6 +1,7 @@
t3987.scala:11: error: type mismatch;
found : Gox
required: Test.GoxZed
+ (which expands to) t#Zed forSome { type t <: Gox }
val y: GoxZed = x
^
one error found
diff --git a/test/files/neg/t4158.check b/test/files/neg/t4158.check
index db61ff2ec4..3ee2627c5b 100644
--- a/test/files/neg/t4158.check
+++ b/test/files/neg/t4158.check
@@ -3,7 +3,7 @@ t4158.scala:3: error: type mismatch;
required: Int
Note that implicit conversions are not applicable because they are ambiguous:
both method Integer2intNullConflict in class LowPriorityImplicits of type (x: Null)Int
- and method Integer2int in object Predef of type (x: java.lang.Integer)Int
+ and method Integer2int in object Predef of type (x: Integer)Int
are possible conversion functions from Null(null) to Int
var y = null: Int
^
@@ -12,7 +12,7 @@ t4158.scala:2: error: type mismatch;
required: Int
Note that implicit conversions are not applicable because they are ambiguous:
both method Integer2intNullConflict in class LowPriorityImplicits of type (x: Null)Int
- and method Integer2int in object Predef of type (x: java.lang.Integer)Int
+ and method Integer2int in object Predef of type (x: Integer)Int
are possible conversion functions from Null(null) to Int
var x: Int = null
^
diff --git a/test/files/neg/t4417.check b/test/files/neg/t4417.check
index 0a5ea2265b..4e3f6c0b10 100644
--- a/test/files/neg/t4417.check
+++ b/test/files/neg/t4417.check
@@ -4,4 +4,4 @@ t4417.scala:11: error: constructor Pixel$mcD$sp in class Pixel$mcD$sp cannot be
class Pixel$mcD$sp where target is defined
def apply(v: Double): Pixel1d = new Pixel1d(v)
^
-one error found \ No newline at end of file
+one error found
diff --git a/test/files/neg/t4727.check b/test/files/neg/t4727.check
index 9fa0fa54d1..8a4536fec3 100644
--- a/test/files/neg/t4727.check
+++ b/test/files/neg/t4727.check
@@ -3,7 +3,7 @@ t4727.scala:5: error: type mismatch;
required: Int
Note that implicit conversions are not applicable because they are ambiguous:
both method Integer2intNullConflict in class LowPriorityImplicits of type (x: Null)Int
- and method Integer2int in object Predef of type (x: java.lang.Integer)Int
+ and method Integer2int in object Predef of type (x: Integer)Int
are possible conversion functions from Null to Int
Error occurred in an application involving default arguments.
new C[Int]
diff --git a/test/files/neg/t4877.check b/test/files/neg/t4877.check
index 5a5561b070..0f72300bb4 100644
--- a/test/files/neg/t4877.check
+++ b/test/files/neg/t4877.check
@@ -1,22 +1,22 @@
t4877.scala:4: error: type mismatch;
- found : java.lang.Object{def bar: Int}
+ found : Object{def bar: Int}
required: AnyRef{def bar: String}
def foo: AnyRef { def bar: String } = new AnyRef { def bar = 42 }
^
t4877.scala:6: error: type mismatch;
- found : java.lang.Object{def bar(x: Int): java.lang.String}
+ found : Object{def bar(x: Int): String}
required: AnyRef{def bar(x: Int): Int}
def foo3: AnyRef { def bar(x: Int): Int } = new AnyRef { def bar(x: Int) = "abc" }
^
t4877.scala:7: error: type mismatch;
- found : java.lang.Object with C{def bar(x: Int): Int}
+ found : Object with C{def bar(x: Int): Int}
required: C{def bar(x: Int): Int; def quux(x: Int): Int}
def foo4: C { def bar(x: Int): Int ; def quux(x: Int): Int } = new C { def bar(x: Int) = 5 }
^
t4877.scala:17: error: type mismatch;
- found : java.lang.Object{type Mom = String; def bar(x: Int): Int; def bippy(): List[Int]}
- required: B.this.Bippy (which expands to)
- AnyRef{type Mom; def bar(x: Int): this.Mom; def bippy(): List[this.Mom]}
+ found : Object{type Mom = String; def bar(x: Int): Int; def bippy(): List[Int]}
+ required: B.this.Bippy
+ (which expands to) AnyRef{type Mom; def bar(x: Int): this.Mom; def bippy(): List[this.Mom]}
val x: Bippy = new AnyRef {
^
four errors found
diff --git a/test/files/neg/t515.check b/test/files/neg/t515.check
index 351e99aa55..47d2d30d01 100644
--- a/test/files/neg/t515.check
+++ b/test/files/neg/t515.check
@@ -1,5 +1,5 @@
t515.scala:7: error: type mismatch;
- found : java.lang.String
+ found : String
required: Test.Truc
val parent: Truc = file.getMachin
^
diff --git a/test/files/neg/t663.check b/test/files/neg/t663.check
index a790a7d70a..40161fb3e3 100644
--- a/test/files/neg/t663.check
+++ b/test/files/neg/t663.check
@@ -1,7 +1,7 @@
t663.scala:11: error: name clash between defined and inherited member:
method asMatch:(m: Test.this.Node)Any and
method asMatch:(node: Test.this.Matchable)Any in trait MatchableImpl
-have same type after erasure: (m: test.Test#NodeImpl)java.lang.Object
+have same type after erasure: (m: test.Test#NodeImpl)Object
def asMatch(m : Node) : Any = {
^
one error found
diff --git a/test/files/neg/t836.check b/test/files/neg/t836.check
index be3a87882b..cf2faf926f 100644
--- a/test/files/neg/t836.check
+++ b/test/files/neg/t836.check
@@ -1,6 +1,7 @@
t836.scala:9: error: type mismatch;
found : Any
required: A.this.S
+ (which expands to) A.this.MyObj#S
val some: S = any // compiles => type X is set to scala.Any
^
one error found
diff --git a/test/files/neg/t909.check b/test/files/neg/t909.check
index 5138b8c507..e7a42bd246 100644
--- a/test/files/neg/t909.check
+++ b/test/files/neg/t909.check
@@ -1,5 +1,5 @@
t909.scala:6: error: type mismatch;
- found : java.lang.String("Hello")
+ found : String("Hello")
required: Int
case Foo("Hello") =>
^
diff --git a/test/files/neg/tcpoly_variance.check b/test/files/neg/tcpoly_variance.check
index 0695fa09a1..c0dfcac2dd 100644
--- a/test/files/neg/tcpoly_variance.check
+++ b/test/files/neg/tcpoly_variance.check
@@ -1,4 +1,4 @@
-tcpoly_variance.scala:6: error: overriding method str in class A of type => m[java.lang.Object];
+tcpoly_variance.scala:6: error: overriding method str in class A of type => m[Object];
method str has incompatible type
override def str: m[String] = sys.error("foo") // since x in m[x] is invariant, ! m[String] <: m[Object]
^
diff --git a/test/files/neg/varargs.check b/test/files/neg/varargs.check
index 676a611341..424e24403c 100644
--- a/test/files/neg/varargs.check
+++ b/test/files/neg/varargs.check
@@ -1,10 +1,10 @@
-varargs.scala:16: error: A method with a varargs annotation produces a forwarder method with the same signature (a: Int, b: Array[java.lang.String])Int as an existing method.
+varargs.scala:16: error: A method with a varargs annotation produces a forwarder method with the same signature (a: Int, b: Array[String])Int as an existing method.
@varargs def v1(a: Int, b: String*) = a + b.length
^
varargs.scala:19: error: A method without repeated parameters cannot be annotated with the `varargs` annotation.
@varargs def nov(a: Int) = 0
^
-varargs.scala:21: error: A method with a varargs annotation produces a forwarder method with the same signature (a: Int, b: Array[java.lang.String])Int as an existing method.
+varargs.scala:21: error: A method with a varargs annotation produces a forwarder method with the same signature (a: Int, b: Array[String])Int as an existing method.
@varargs def v2(a: Int, b: String*) = 0
^
three errors found
diff --git a/test/files/presentation/akka.check b/test/files/presentation/akka.check
index 44d40be17a..d24d3d5711 100644
--- a/test/files/presentation/akka.check
+++ b/test/files/presentation/akka.check
@@ -15,12 +15,12 @@ retrieved 43 members
`method !=(x$1: Any)Boolean`
`method !=(x$1: AnyRef)Boolean`
`method ##()Int`
-`method +(other: String)java.lang.String`
+`method +(other: String)String`
`method ->[B](y: B)(akka.routing.Routing.type, B)`
`method ==(x$1: Any)Boolean`
`method ==(x$1: AnyRef)Boolean`
`method asInstanceOf[T0]=> T0`
-`method clone()java.lang.Object`
+`method clone()Object`
`method dispatcherActor(routing: akka.routing.Routing.PF[Any,akka.actor.ActorRef])akka.actor.ActorRef`
`method dispatcherActor(routing: akka.routing.Routing.PF[Any,akka.actor.ActorRef], msgTransformer: Any => Any)akka.actor.ActorRef`
`method ensuring(cond: Boolean)akka.routing.Routing.type`
@@ -41,7 +41,7 @@ retrieved 43 members
`method notify()Unit`
`method notifyAll()Unit`
`method synchronized[T0](x$1: T0)T0`
-`method toString()java.lang.String`
+`method toString()String`
`method wait()Unit`
`method wait(x$1: Long)Unit`
`method wait(x$1: Long, x$2: Int)Unit`
@@ -62,7 +62,7 @@ retrieved 129 members
`method !=(x$1: Any)Boolean`
`method !=(x$1: AnyRef)Boolean`
`method ##()Int`
-`method +(other: String)java.lang.String`
+`method +(other: String)String`
`method ->[B](y: B)(akka.actor.ActorRef, B)`
`method ==(x$1: Any)Boolean`
`method ==(x$1: AnyRef)Boolean`
@@ -72,7 +72,7 @@ retrieved 129 members
`method actorInstance=> java.util.concurrent.atomic.AtomicReference[akka.actor.Actor]`
`method asInstanceOf[T0]=> T0`
`method channel=> akka.actor.Channel[Any]`
-`method clone()java.lang.Object`
+`method clone()Object`
`method compareTo(other: akka.actor.ActorRef)Int`
`method dispatcher=> akka.dispatch.MessageDispatcher`
`method dispatcher_=(md: akka.dispatch.MessageDispatcher)Unit`
@@ -95,14 +95,14 @@ retrieved 129 members
`method getHomeAddress()java.net.InetSocketAddress`
`method getId()String`
`method getLifeCycle()akka.config.Supervision.LifeCycle`
-`method getLinkedActors()java.util.Map[akka.actor.package.Uuid,akka.actor.ActorRef]`
+`method getLinkedActors()java.util.Map[akka.actor.Uuid,akka.actor.ActorRef]`
`method getMailboxSize()Int`
`method getReceiveTimeout()Option[Long]`
`method getSender()Option[akka.actor.ActorRef]`
`method getSenderFuture()Option[akka.dispatch.CompletableFuture[Any]]`
`method getSupervisor()akka.actor.ActorRef`
`method getTimeout()Long`
-`method getUuid()akka.actor.package.Uuid`
+`method getUuid()akka.actor.Uuid`
`method handleTrapExit(dead: akka.actor.ActorRef, reason: Throwable)Unit`
`method hashCode()Int`
`method homeAddress=> Option[java.net.InetSocketAddress]`
@@ -116,7 +116,7 @@ retrieved 129 members
`method isShutdown=> Boolean`
`method isUnstarted=> Boolean`
`method link(actorRef: akka.actor.ActorRef)Unit`
-`method linkedActors=> java.util.Map[akka.actor.package.Uuid,akka.actor.ActorRef]`
+`method linkedActors=> java.util.Map[akka.actor.Uuid,akka.actor.ActorRef]`
`method mailbox=> AnyRef`
`method mailboxSize=> Int`
`method mailbox_=(value: AnyRef)AnyRef`
@@ -125,7 +125,7 @@ retrieved 129 members
`method notifyAll()Unit`
`method postMessageToMailbox(message: Any, senderOption: Option[akka.actor.ActorRef])Unit`
`method postMessageToMailboxAndCreateFutureResultWithTimeout[T](message: Any, timeout: Long, senderOption: Option[akka.actor.ActorRef], senderFuture: Option[akka.dispatch.CompletableFuture[T]])akka.dispatch.CompletableFuture[T]`
-`method registerSupervisorAsRemoteActor=> Option[akka.actor.package.Uuid]`
+`method registerSupervisorAsRemoteActor=> Option[akka.actor.Uuid]`
`method reply(message: Any)Unit`
`method replySafe(message: AnyRef)Boolean`
`method replyUnsafe(message: AnyRef)Unit`
@@ -162,10 +162,10 @@ retrieved 129 members
`method supervisor=> Option[akka.actor.ActorRef]`
`method supervisor_=(sup: Option[akka.actor.ActorRef])Unit`
`method synchronized[T0](x$1: T0)T0`
-`method toString()java.lang.String`
+`method toString()String`
`method unlink(actorRef: akka.actor.ActorRef)Unit`
-`method uuid=> akka.actor.package.Uuid`
-`method uuid_=(uid: akka.actor.package.Uuid)Unit`
+`method uuid=> akka.actor.Uuid`
+`method uuid_=(uid: akka.actor.Uuid)Unit`
`method wait()Unit`
`method wait(x$1: Long)Unit`
`method wait(x$1: Long, x$2: Int)Unit`
@@ -173,7 +173,7 @@ retrieved 129 members
`value selfAny`
`value xakka.actor.ActorRef`
`variable _statusakka.actor.ActorRefInternals.StatusType`
-`variable _uuidakka.actor.package.Uuid`
+`variable _uuidakka.actor.Uuid`
`variable currentMessageakka.dispatch.MessageInvocation`
`variable faultHandlerakka.config.Supervision.FaultHandlingStrategy`
`variable hotswapscala.collection.immutable.Stack[PartialFunction[Any,Unit]]`
@@ -193,7 +193,7 @@ retrieved 129 members
`method !=(x$1: Any)Boolean`
`method !=(x$1: AnyRef)Boolean`
`method ##()Int`
-`method +(other: String)java.lang.String`
+`method +(other: String)String`
`method ->[B](y: B)(akka.actor.ActorRef, B)`
`method ==(x$1: Any)Boolean`
`method ==(x$1: AnyRef)Boolean`
@@ -203,7 +203,7 @@ retrieved 129 members
`method actorInstance=> java.util.concurrent.atomic.AtomicReference[akka.actor.Actor]`
`method asInstanceOf[T0]=> T0`
`method channel=> akka.actor.Channel[Any]`
-`method clone()java.lang.Object`
+`method clone()Object`
`method compareTo(other: akka.actor.ActorRef)Int`
`method dispatcher=> akka.dispatch.MessageDispatcher`
`method dispatcher_=(md: akka.dispatch.MessageDispatcher)Unit`
@@ -226,14 +226,14 @@ retrieved 129 members
`method getHomeAddress()java.net.InetSocketAddress`
`method getId()String`
`method getLifeCycle()akka.config.Supervision.LifeCycle`
-`method getLinkedActors()java.util.Map[akka.actor.package.Uuid,akka.actor.ActorRef]`
+`method getLinkedActors()java.util.Map[akka.actor.Uuid,akka.actor.ActorRef]`
`method getMailboxSize()Int`
`method getReceiveTimeout()Option[Long]`
`method getSender()Option[akka.actor.ActorRef]`
`method getSenderFuture()Option[akka.dispatch.CompletableFuture[Any]]`
`method getSupervisor()akka.actor.ActorRef`
`method getTimeout()Long`
-`method getUuid()akka.actor.package.Uuid`
+`method getUuid()akka.actor.Uuid`
`method handleTrapExit(dead: akka.actor.ActorRef, reason: Throwable)Unit`
`method hashCode()Int`
`method homeAddress=> Option[java.net.InetSocketAddress]`
@@ -247,7 +247,7 @@ retrieved 129 members
`method isShutdown=> Boolean`
`method isUnstarted=> Boolean`
`method link(actorRef: akka.actor.ActorRef)Unit`
-`method linkedActors=> java.util.Map[akka.actor.package.Uuid,akka.actor.ActorRef]`
+`method linkedActors=> java.util.Map[akka.actor.Uuid,akka.actor.ActorRef]`
`method mailbox=> AnyRef`
`method mailboxSize=> Int`
`method mailbox_=(value: AnyRef)AnyRef`
@@ -256,7 +256,7 @@ retrieved 129 members
`method notifyAll()Unit`
`method postMessageToMailbox(message: Any, senderOption: Option[akka.actor.ActorRef])Unit`
`method postMessageToMailboxAndCreateFutureResultWithTimeout[T](message: Any, timeout: Long, senderOption: Option[akka.actor.ActorRef], senderFuture: Option[akka.dispatch.CompletableFuture[T]])akka.dispatch.CompletableFuture[T]`
-`method registerSupervisorAsRemoteActor=> Option[akka.actor.package.Uuid]`
+`method registerSupervisorAsRemoteActor=> Option[akka.actor.Uuid]`
`method reply(message: Any)Unit`
`method replySafe(message: AnyRef)Boolean`
`method replyUnsafe(message: AnyRef)Unit`
@@ -293,10 +293,10 @@ retrieved 129 members
`method supervisor=> Option[akka.actor.ActorRef]`
`method supervisor_=(sup: Option[akka.actor.ActorRef])Unit`
`method synchronized[T0](x$1: T0)T0`
-`method toString()java.lang.String`
+`method toString()String`
`method unlink(actorRef: akka.actor.ActorRef)Unit`
-`method uuid=> akka.actor.package.Uuid`
-`method uuid_=(uid: akka.actor.package.Uuid)Unit`
+`method uuid=> akka.actor.Uuid`
+`method uuid_=(uid: akka.actor.Uuid)Unit`
`method wait()Unit`
`method wait(x$1: Long)Unit`
`method wait(x$1: Long, x$2: Int)Unit`
@@ -304,7 +304,7 @@ retrieved 129 members
`value selfAny`
`value xakka.actor.ActorRef`
`variable _statusakka.actor.ActorRefInternals.StatusType`
-`variable _uuidakka.actor.package.Uuid`
+`variable _uuidakka.actor.Uuid`
`variable currentMessageakka.dispatch.MessageInvocation`
`variable faultHandlerakka.config.Supervision.FaultHandlingStrategy`
`variable hotswapscala.collection.immutable.Stack[PartialFunction[Any,Unit]]`
@@ -324,7 +324,7 @@ retrieved 129 members
`method !=(x$1: Any)Boolean`
`method !=(x$1: AnyRef)Boolean`
`method ##()Int`
-`method +(other: String)java.lang.String`
+`method +(other: String)String`
`method ->[B](y: B)(akka.actor.ScalaActorRef, B)`
`method ==(x$1: Any)Boolean`
`method ==(x$1: AnyRef)Boolean`
@@ -334,7 +334,7 @@ retrieved 129 members
`method actorInstance=> java.util.concurrent.atomic.AtomicReference[akka.actor.Actor]`
`method asInstanceOf[T0]=> T0`
`method channel=> akka.actor.Channel[Any]`
-`method clone()java.lang.Object`
+`method clone()Object`
`method compareTo(other: akka.actor.ActorRef)Int`
`method dispatcher=> akka.dispatch.MessageDispatcher`
`method dispatcher_=(md: akka.dispatch.MessageDispatcher)Unit`
@@ -357,14 +357,14 @@ retrieved 129 members
`method getHomeAddress()java.net.InetSocketAddress`
`method getId()String`
`method getLifeCycle()akka.config.Supervision.LifeCycle`
-`method getLinkedActors()java.util.Map[akka.actor.package.Uuid,akka.actor.ActorRef]`
+`method getLinkedActors()java.util.Map[akka.actor.Uuid,akka.actor.ActorRef]`
`method getMailboxSize()Int`
`method getReceiveTimeout()Option[Long]`
`method getSender()Option[akka.actor.ActorRef]`
`method getSenderFuture()Option[akka.dispatch.CompletableFuture[Any]]`
`method getSupervisor()akka.actor.ActorRef`
`method getTimeout()Long`
-`method getUuid()akka.actor.package.Uuid`
+`method getUuid()akka.actor.Uuid`
`method handleTrapExit(dead: akka.actor.ActorRef, reason: Throwable)Unit`
`method hashCode()Int`
`method homeAddress=> Option[java.net.InetSocketAddress]`
@@ -378,7 +378,7 @@ retrieved 129 members
`method isShutdown=> Boolean`
`method isUnstarted=> Boolean`
`method link(actorRef: akka.actor.ActorRef)Unit`
-`method linkedActors=> java.util.Map[akka.actor.package.Uuid,akka.actor.ActorRef]`
+`method linkedActors=> java.util.Map[akka.actor.Uuid,akka.actor.ActorRef]`
`method mailbox=> AnyRef`
`method mailboxSize=> Int`
`method mailbox_=(value: AnyRef)AnyRef`
@@ -387,7 +387,7 @@ retrieved 129 members
`method notifyAll()Unit`
`method postMessageToMailbox(message: Any, senderOption: Option[akka.actor.ActorRef])Unit`
`method postMessageToMailboxAndCreateFutureResultWithTimeout[T](message: Any, timeout: Long, senderOption: Option[akka.actor.ActorRef], senderFuture: Option[akka.dispatch.CompletableFuture[T]])akka.dispatch.CompletableFuture[T]`
-`method registerSupervisorAsRemoteActor=> Option[akka.actor.package.Uuid]`
+`method registerSupervisorAsRemoteActor=> Option[akka.actor.Uuid]`
`method reply(message: Any)Unit`
`method replySafe(message: AnyRef)Boolean`
`method replyUnsafe(message: AnyRef)Unit`
@@ -424,10 +424,10 @@ retrieved 129 members
`method supervisor=> Option[akka.actor.ActorRef]`
`method supervisor_=(sup: Option[akka.actor.ActorRef])Unit`
`method synchronized[T0](x$1: T0)T0`
-`method toString()java.lang.String`
+`method toString()String`
`method unlink(actorRef: akka.actor.ActorRef)Unit`
-`method uuid=> akka.actor.package.Uuid`
-`method uuid_=(uid: akka.actor.package.Uuid)Unit`
+`method uuid=> akka.actor.Uuid`
+`method uuid_=(uid: akka.actor.Uuid)Unit`
`method wait()Unit`
`method wait(x$1: Long)Unit`
`method wait(x$1: Long, x$2: Int)Unit`
@@ -435,7 +435,7 @@ retrieved 129 members
`value selfAny`
`value xakka.actor.ScalaActorRef`
`variable _statusakka.actor.ActorRefInternals.StatusType`
-`variable _uuidakka.actor.package.Uuid`
+`variable _uuidakka.actor.Uuid`
`variable currentMessageakka.dispatch.MessageInvocation`
`variable faultHandlerakka.config.Supervision.FaultHandlingStrategy`
`variable hotswapscala.collection.immutable.Stack[PartialFunction[Any,Unit]]`
diff --git a/test/files/presentation/callcc-interpreter.check b/test/files/presentation/callcc-interpreter.check
index bb24edfb10..0a63f24a93 100644
--- a/test/files/presentation/callcc-interpreter.check
+++ b/test/files/presentation/callcc-interpreter.check
@@ -16,7 +16,7 @@ retrieved 62 members
`method !=(x$1: Any)Boolean`
`method !=(x$1: AnyRef)Boolean`
`method ##()Int`
-`method +(other: String)java.lang.String`
+`method +(other: String)String`
`method ->[B](y: B)(callccInterpreter.type, B)`
`method ==(x$1: Any)Boolean`
`method ==(x$1: AnyRef)Boolean`
@@ -24,7 +24,7 @@ retrieved 62 members
`method apply(a: callccInterpreter.Value, b: callccInterpreter.Value)callccInterpreter.M[callccInterpreter.Value]`
`method asInstanceOf[T0]=> T0`
`method callCC[A](h: A => callccInterpreter.M[A] => callccInterpreter.M[A])callccInterpreter.M[A]`
-`method clone()java.lang.Object`
+`method clone()Object`
`method ensuring(cond: Boolean)callccInterpreter.type`
`method ensuring(cond: Boolean, msg: => Any)callccInterpreter.type`
`method ensuring(cond: callccInterpreter.type => Boolean)callccInterpreter.type`
@@ -42,10 +42,10 @@ retrieved 62 members
`method ne(x$1: AnyRef)Boolean`
`method notify()Unit`
`method notifyAll()Unit`
-`method showM(m: callccInterpreter.M[callccInterpreter.Value])java.lang.String`
+`method showM(m: callccInterpreter.M[callccInterpreter.Value])String`
`method synchronized[T0](x$1: T0)T0`
`method test(t: callccInterpreter.Term)String`
-`method toString()java.lang.String`
+`method toString()String`
`method unitM[A](a: A)callccInterpreter.M[A]`
`method wait()Unit`
`method wait(x$1: Long)Unit`
@@ -79,7 +79,7 @@ def id[A >: Nothing <: Any]: A => A = ((x: A) => x)
askType at CallccInterpreter.scala(17,25)
================================================================================
[response] askTypeAt at (17,25)
-def showM(m: callccInterpreter.M[callccInterpreter.Value]): java.lang.String = m.in.apply(callccInterpreter.this.id[callccInterpreter.Value]).toString()
+def showM(m: callccInterpreter.M[callccInterpreter.Value]): String = m.in.apply(callccInterpreter.this.id[callccInterpreter.Value]).toString()
================================================================================
askType at CallccInterpreter.scala(50,30)
diff --git a/test/files/presentation/ide-bug-1000475.check b/test/files/presentation/ide-bug-1000475.check
index 6f8fe66b9a..739d25c7c7 100644
--- a/test/files/presentation/ide-bug-1000475.check
+++ b/test/files/presentation/ide-bug-1000475.check
@@ -7,16 +7,16 @@ retrieved 34 members
`method !=(x$1: Any)Boolean`
`method !=(x$1: AnyRef)Boolean`
`method ##()Int`
-`method +(other: String)java.lang.String`
-`method ->[B](y: B)(java.lang.Object, B)`
+`method +(other: String)String`
+`method ->[B](y: B)(Object, B)`
`method ==(x$1: Any)Boolean`
`method ==(x$1: AnyRef)Boolean`
`method asInstanceOf[T0]=> T0`
-`method clone()java.lang.Object`
-`method ensuring(cond: Boolean)java.lang.Object`
-`method ensuring(cond: Boolean, msg: => Any)java.lang.Object`
-`method ensuring(cond: java.lang.Object => Boolean)java.lang.Object`
-`method ensuring(cond: java.lang.Object => Boolean, msg: => Any)java.lang.Object`
+`method clone()Object`
+`method ensuring(cond: Boolean)Object`
+`method ensuring(cond: Boolean, msg: => Any)Object`
+`method ensuring(cond: Object => Boolean)Object`
+`method ensuring(cond: Object => Boolean, msg: => Any)Object`
`method eq(x$1: AnyRef)Boolean`
`method equals(x$1: Any)Boolean`
`method finalize()Unit`
@@ -27,13 +27,13 @@ retrieved 34 members
`method notify()Unit`
`method notifyAll()Unit`
`method synchronized[T0](x$1: T0)T0`
-`method toString()java.lang.String`
+`method toString()String`
`method wait()Unit`
`method wait(x$1: Long)Unit`
`method wait(x$1: Long, x$2: Int)Unit`
-`method →[B](y: B)(java.lang.Object, B)`
+`method →[B](y: B)(Object, B)`
`value selfAny`
-`value xjava.lang.Object`
+`value xObject`
================================================================================
askTypeCompletion at Foo.scala(6,10)
@@ -43,16 +43,16 @@ retrieved 34 members
`method !=(x$1: Any)Boolean`
`method !=(x$1: AnyRef)Boolean`
`method ##()Int`
-`method +(other: String)java.lang.String`
-`method ->[B](y: B)(java.lang.Object, B)`
+`method +(other: String)String`
+`method ->[B](y: B)(Object, B)`
`method ==(x$1: Any)Boolean`
`method ==(x$1: AnyRef)Boolean`
`method asInstanceOf[T0]=> T0`
-`method clone()java.lang.Object`
-`method ensuring(cond: Boolean)java.lang.Object`
-`method ensuring(cond: Boolean, msg: => Any)java.lang.Object`
-`method ensuring(cond: java.lang.Object => Boolean)java.lang.Object`
-`method ensuring(cond: java.lang.Object => Boolean, msg: => Any)java.lang.Object`
+`method clone()Object`
+`method ensuring(cond: Boolean)Object`
+`method ensuring(cond: Boolean, msg: => Any)Object`
+`method ensuring(cond: Object => Boolean)Object`
+`method ensuring(cond: Object => Boolean, msg: => Any)Object`
`method eq(x$1: AnyRef)Boolean`
`method equals(x$1: Any)Boolean`
`method finalize()Unit`
@@ -63,13 +63,13 @@ retrieved 34 members
`method notify()Unit`
`method notifyAll()Unit`
`method synchronized[T0](x$1: T0)T0`
-`method toString()java.lang.String`
+`method toString()String`
`method wait()Unit`
`method wait(x$1: Long)Unit`
`method wait(x$1: Long, x$2: Int)Unit`
-`method →[B](y: B)(java.lang.Object, B)`
+`method →[B](y: B)(Object, B)`
`value selfAny`
-`value xjava.lang.Object`
+`value xObject`
================================================================================
askTypeCompletion at Foo.scala(7,7)
@@ -79,16 +79,16 @@ retrieved 34 members
`method !=(x$1: Any)Boolean`
`method !=(x$1: AnyRef)Boolean`
`method ##()Int`
-`method +(other: String)java.lang.String`
-`method ->[B](y: B)(java.lang.Object, B)`
+`method +(other: String)String`
+`method ->[B](y: B)(Object, B)`
`method ==(x$1: Any)Boolean`
`method ==(x$1: AnyRef)Boolean`
`method asInstanceOf[T0]=> T0`
-`method clone()java.lang.Object`
-`method ensuring(cond: Boolean)java.lang.Object`
-`method ensuring(cond: Boolean, msg: => Any)java.lang.Object`
-`method ensuring(cond: java.lang.Object => Boolean)java.lang.Object`
-`method ensuring(cond: java.lang.Object => Boolean, msg: => Any)java.lang.Object`
+`method clone()Object`
+`method ensuring(cond: Boolean)Object`
+`method ensuring(cond: Boolean, msg: => Any)Object`
+`method ensuring(cond: Object => Boolean)Object`
+`method ensuring(cond: Object => Boolean, msg: => Any)Object`
`method eq(x$1: AnyRef)Boolean`
`method equals(x$1: Any)Boolean`
`method finalize()Unit`
@@ -99,11 +99,11 @@ retrieved 34 members
`method notify()Unit`
`method notifyAll()Unit`
`method synchronized[T0](x$1: T0)T0`
-`method toString()java.lang.String`
+`method toString()String`
`method wait()Unit`
`method wait(x$1: Long)Unit`
`method wait(x$1: Long, x$2: Int)Unit`
-`method →[B](y: B)(java.lang.Object, B)`
+`method →[B](y: B)(Object, B)`
`value selfAny`
-`value xjava.lang.Object`
+`value xObject`
================================================================================
diff --git a/test/files/presentation/ide-bug-1000531.check b/test/files/presentation/ide-bug-1000531.check
index 516d34b62b..67311cdf35 100644
--- a/test/files/presentation/ide-bug-1000531.check
+++ b/test/files/presentation/ide-bug-1000531.check
@@ -8,7 +8,7 @@ retrieved 121 members
`method !=(x$1: Any)Boolean`
`method !=(x$1: AnyRef)Boolean`
`method ##()Int`
-`method +(other: String)java.lang.String`
+`method +(other: String)String`
`method ++[B >: B](that: => scala.collection.GenTraversableOnce[B])Iterator[B]`
`method ->[B](y: B)(java.util.Iterator[B], B)`
`method /:[B](z: B)(op: (B, B) => B)B`
@@ -21,8 +21,8 @@ retrieved 121 members
`method addString(b: StringBuilder, start: String, sep: String, end: String)StringBuilder`
`method aggregate[B](z: B)(seqop: (B, B) => B, combop: (B, B) => B)B`
`method asInstanceOf[T0]=> T0`
-`method buffered=> java.lang.Object with scala.collection.BufferedIterator[B]`
-`method clone()java.lang.Object`
+`method buffered=> Object with scala.collection.BufferedIterator[B]`
+`method clone()Object`
`method collectFirst[B](pf: PartialFunction[B,B])Option[B]`
`method collect[B](pf: PartialFunction[B,B])Iterator[B]`
`method contains(elem: Any)Boolean`
@@ -75,9 +75,9 @@ retrieved 121 members
`method nonEmpty=> Boolean`
`method notify()Unit`
`method notifyAll()Unit`
-`method padTo[A1 >: B](len: Int, elem: A1)java.lang.Object with Iterator[A1]`
+`method padTo[A1 >: B](len: Int, elem: A1)Object with Iterator[A1]`
`method partition(p: B => Boolean)(Iterator[B], Iterator[B])`
-`method patch[B >: B](from: Int, patchElems: Iterator[B], replaced: Int)java.lang.Object with Iterator[B]`
+`method patch[B >: B](from: Int, patchElems: Iterator[B], replaced: Int)Object with Iterator[B]`
`method product[B >: B](implicit num: Numeric[B])B`
`method reduceLeftOption[B >: B](op: (B, B) => B)Option[B]`
`method reduceLeft[B >: B](op: (B, B) => B)B`
@@ -109,15 +109,15 @@ retrieved 121 members
`method toSeq=> Seq[B]`
`method toSet[B >: B]=> scala.collection.immutable.Set[B]`
`method toStream=> scala.collection.immutable.Stream[B]`
-`method toString()java.lang.String`
+`method toString()String`
`method toTraversable=> Traversable[B]`
`method wait()Unit`
`method wait(x$1: Long)Unit`
`method wait(x$1: Long, x$2: Int)Unit`
`method withFilter(p: B => Boolean)Iterator[B]`
-`method zipAll[B, A1 >: B, B1 >: B](that: Iterator[B], thisElem: A1, thatElem: B1)java.lang.Object with Iterator[(A1, B1)]`
-`method zipWithIndex=> java.lang.Object with Iterator[(B, Int)]{def idx: Int; def idx_=(x$1: Int): Unit}`
-`method zip[B](that: Iterator[B])java.lang.Object with Iterator[(B, B)]`
+`method zipAll[B, A1 >: B, B1 >: B](that: Iterator[B], thisElem: A1, thatElem: B1)Object with Iterator[(A1, B1)]`
+`method zipWithIndex=> Object with Iterator[(B, Int)]{def idx: Int; def idx_=(x$1: Int): Unit}`
+`method zip[B](that: Iterator[B])Object with Iterator[(B, B)]`
`method →[B](y: B)(java.util.Iterator[B], B)`
`value selfAny`
`value xjava.util.Iterator[B]`
diff --git a/test/files/presentation/implicit-member.check b/test/files/presentation/implicit-member.check
index 021cc522ec..2f4e6bd828 100644
--- a/test/files/presentation/implicit-member.check
+++ b/test/files/presentation/implicit-member.check
@@ -8,13 +8,13 @@ retrieved 36 members
`method !=(x$1: Any)Boolean`
`method !=(x$1: AnyRef)Boolean`
`method ##()Int`
-`method +(other: String)java.lang.String`
+`method +(other: String)String`
`method ->[B](y: B)(Implicit.type, B)`
`method ==(x$1: Any)Boolean`
`method ==(x$1: AnyRef)Boolean`
`method AppliedImplicit[A](x: A)Implicit.AppliedImplicit[A]`
`method asInstanceOf[T0]=> T0`
-`method clone()java.lang.Object`
+`method clone()Object`
`method ensuring(cond: Boolean)Implicit.type`
`method ensuring(cond: Boolean, msg: => Any)Implicit.type`
`method ensuring(cond: Implicit.type => Boolean)Implicit.type`
@@ -29,7 +29,7 @@ retrieved 36 members
`method notify()Unit`
`method notifyAll()Unit`
`method synchronized[T0](x$1: T0)T0`
-`method toString()java.lang.String`
+`method toString()String`
`method wait()Unit`
`method wait(x$1: Long)Unit`
`method wait(x$1: Long, x$2: Int)Unit`
diff --git a/test/files/presentation/ping-pong.check b/test/files/presentation/ping-pong.check
index ed419f5a13..44e1a04732 100644
--- a/test/files/presentation/ping-pong.check
+++ b/test/files/presentation/ping-pong.check
@@ -7,12 +7,12 @@ retrieved 38 members
`method !=(x$1: Any)Boolean`
`method !=(x$1: AnyRef)Boolean`
`method ##()Int`
-`method +(other: String)java.lang.String`
+`method +(other: String)String`
`method ->[B](y: B)(Pong, B)`
`method ==(x$1: Any)Boolean`
`method ==(x$1: AnyRef)Boolean`
`method asInstanceOf[T0]=> T0`
-`method clone()java.lang.Object`
+`method clone()Object`
`method ensuring(cond: Boolean)Pong`
`method ensuring(cond: Boolean, msg: => Any)Pong`
`method ensuring(cond: Pong => Boolean)Pong`
@@ -28,12 +28,12 @@ retrieved 38 members
`method notifyAll()Unit`
`method poke()Unit`
`method synchronized[T0](x$1: T0)T0`
-`method toString()java.lang.String`
+`method toString()String`
`method wait()Unit`
`method wait(x$1: Long)Unit`
`method wait(x$1: Long, x$2: Int)Unit`
`method →[B](y: B)(Pong, B)`
-`value namejava.lang.String`
+`value nameString`
`value pingPing`
`value selfAny`
`value xPong`
@@ -46,12 +46,12 @@ retrieved 38 members
`method !=(x$1: Any)Boolean`
`method !=(x$1: AnyRef)Boolean`
`method ##()Int`
-`method +(other: String)java.lang.String`
+`method +(other: String)String`
`method ->[B](y: B)(Ping, B)`
`method ==(x$1: Any)Boolean`
`method ==(x$1: AnyRef)Boolean`
`method asInstanceOf[T0]=> T0`
-`method clone()java.lang.Object`
+`method clone()Object`
`method ensuring(cond: Boolean)Ping`
`method ensuring(cond: Boolean, msg: => Any)Ping`
`method ensuring(cond: Ping => Boolean)Ping`
@@ -63,13 +63,13 @@ retrieved 38 members
`method hashCode()Int`
`method isInstanceOf[T0]=> Boolean`
`method loop=> Unit`
-`method name=> java.lang.String`
+`method name=> String`
`method ne(x$1: AnyRef)Boolean`
`method notify()Unit`
`method notifyAll()Unit`
`method poke=> Unit`
`method synchronized[T0](x$1: T0)T0`
-`method toString()java.lang.String`
+`method toString()String`
`method wait()Unit`
`method wait(x$1: Long)Unit`
`method wait(x$1: Long, x$2: Int)Unit`
@@ -94,5 +94,5 @@ def poke: Unit = Ping.this.pong.poke()
askType at PingPong.scala(17,10)
================================================================================
[response] askTypeAt at (17,10)
-private[this] val name: java.lang.String = "pong"
+private[this] val name: String = "pong"
================================================================================
diff --git a/test/files/presentation/properties.check b/test/files/presentation/properties.check
index 5e7c6f64cc..268811c036 100644
--- a/test/files/presentation/properties.check
+++ b/test/files/presentation/properties.check
@@ -3,27 +3,28 @@ reload: properties.scala
askTypeCompletion at properties.scala(29,33)
================================================================================
[response] aksTypeCompletion at (29,33)
-retrieved 48 members
+retrieved 49 members
`method !=(x$1: Any)Boolean`
`method !=(x$1: AnyRef)Boolean`
`method ##()Int`
-`method +(other: String)java.lang.String`
-`method ->[B](y: B)(properties.Property[java.lang.String], B)`
+`method +(other: String)String`
+`method ->[B](y: B)(properties.Property[String], B)`
`method ==(x$1: Any)Boolean`
`method ==(x$1: AnyRef)Boolean`
-`method apply()java.lang.String`
+`method _1=> String`
+`method apply()String`
`method asInstanceOf[T0]=> T0`
`method canEqual(that: Any)Boolean`
-`method clone()java.lang.Object`
-`method ensuring(cond: Boolean)properties.Property[java.lang.String]`
-`method ensuring(cond: Boolean, msg: => Any)properties.Property[java.lang.String]`
-`method ensuring(cond: properties.Property[java.lang.String] => Boolean)properties.Property[java.lang.String]`
-`method ensuring(cond: properties.Property[java.lang.String] => Boolean, msg: => Any)properties.Property[java.lang.String]`
+`method clone()Object`
+`method ensuring(cond: Boolean)properties.Property[String]`
+`method ensuring(cond: Boolean, msg: => Any)properties.Property[String]`
+`method ensuring(cond: properties.Property[String] => Boolean)properties.Property[String]`
+`method ensuring(cond: properties.Property[String] => Boolean, msg: => Any)properties.Property[String]`
`method eq(x$1: AnyRef)Boolean`
`method equals(x$1: Any)Boolean`
`method finalize()Unit`
`method formatted(fmtstr: String)String`
-`method get(newGetter: java.lang.String => java.lang.String)properties.Property[java.lang.String]`
+`method get(newGetter: String => String)properties.Property[String]`
`method hashCode()Int`
`method isInstanceOf[T0]=> Boolean`
`method ne(x$1: AnyRef)Boolean`
@@ -32,47 +33,48 @@ retrieved 48 members
`method productArity=> Int`
`method productElement(n: Int)Any`
`method productIterator=> Iterator[Any]`
-`method productPrefix=> java.lang.String`
-`method set(newSetter: java.lang.String => java.lang.String)properties.Property[java.lang.String]`
+`method productPrefix=> String`
+`method set(newSetter: String => String)properties.Property[String]`
`method synchronized[T0](x$1: T0)T0`
-`method toString()java.lang.String`
-`method update(newValue: java.lang.String)Unit`
+`method toString()String`
+`method update(newValue: String)Unit`
`method wait()Unit`
`method wait(x$1: Long)Unit`
`method wait(x$1: Long, x$2: Int)Unit`
-`method →[B](y: B)(properties.Property[java.lang.String], B)`
-`value initjava.lang.String`
+`method →[B](y: B)(properties.Property[String], B)`
+`value initString`
`value selfAny`
-`value xproperties.Property[java.lang.String]`
-`variable getterjava.lang.String => java.lang.String`
-`variable setterjava.lang.String => java.lang.String`
-`variable valuejava.lang.String`
+`value xproperties.Property[String]`
+`variable getterString => String`
+`variable setterString => String`
+`variable valueString`
================================================================================
askTypeCompletion at properties.scala(29,67)
================================================================================
[response] aksTypeCompletion at (29,67)
-retrieved 48 members
+retrieved 49 members
`method !=(x$1: Any)Boolean`
`method !=(x$1: AnyRef)Boolean`
`method ##()Int`
-`method +(other: String)java.lang.String`
-`method ->[B](y: B)(properties.Property[java.lang.String], B)`
+`method +(other: String)String`
+`method ->[B](y: B)(properties.Property[String], B)`
`method ==(x$1: Any)Boolean`
`method ==(x$1: AnyRef)Boolean`
-`method apply()java.lang.String`
+`method _1=> String`
+`method apply()String`
`method asInstanceOf[T0]=> T0`
`method canEqual(that: Any)Boolean`
-`method clone()java.lang.Object`
-`method ensuring(cond: Boolean)properties.Property[java.lang.String]`
-`method ensuring(cond: Boolean, msg: => Any)properties.Property[java.lang.String]`
-`method ensuring(cond: properties.Property[java.lang.String] => Boolean)properties.Property[java.lang.String]`
-`method ensuring(cond: properties.Property[java.lang.String] => Boolean, msg: => Any)properties.Property[java.lang.String]`
+`method clone()Object`
+`method ensuring(cond: Boolean)properties.Property[String]`
+`method ensuring(cond: Boolean, msg: => Any)properties.Property[String]`
+`method ensuring(cond: properties.Property[String] => Boolean)properties.Property[String]`
+`method ensuring(cond: properties.Property[String] => Boolean, msg: => Any)properties.Property[String]`
`method eq(x$1: AnyRef)Boolean`
`method equals(x$1: Any)Boolean`
`method finalize()Unit`
`method formatted(fmtstr: String)String`
-`method get(newGetter: java.lang.String => java.lang.String)properties.Property[java.lang.String]`
+`method get(newGetter: String => String)properties.Property[String]`
`method hashCode()Int`
`method isInstanceOf[T0]=> Boolean`
`method ne(x$1: AnyRef)Boolean`
@@ -81,21 +83,21 @@ retrieved 48 members
`method productArity=> Int`
`method productElement(n: Int)Any`
`method productIterator=> Iterator[Any]`
-`method productPrefix=> java.lang.String`
-`method set(newSetter: java.lang.String => java.lang.String)properties.Property[java.lang.String]`
+`method productPrefix=> String`
+`method set(newSetter: String => String)properties.Property[String]`
`method synchronized[T0](x$1: T0)T0`
-`method toString()java.lang.String`
-`method update(newValue: java.lang.String)Unit`
+`method toString()String`
+`method update(newValue: String)Unit`
`method wait()Unit`
`method wait(x$1: Long)Unit`
`method wait(x$1: Long, x$2: Int)Unit`
-`method →[B](y: B)(properties.Property[java.lang.String], B)`
-`value initjava.lang.String`
+`method →[B](y: B)(properties.Property[String], B)`
+`value initString`
`value selfAny`
-`value xproperties.Property[java.lang.String]`
-`variable getterjava.lang.String => java.lang.String`
-`variable setterjava.lang.String => java.lang.String`
-`variable valuejava.lang.String`
+`value xproperties.Property[String]`
+`variable getterString => String`
+`variable setterString => String`
+`variable valueString`
================================================================================
askTypeCompletion at properties.scala(45,10)
@@ -105,12 +107,12 @@ retrieved 36 members
`method !=(x$1: Any)Boolean`
`method !=(x$1: AnyRef)Boolean`
`method ##()Int`
-`method +(other: String)java.lang.String`
+`method +(other: String)String`
`method ->[B](y: B)(properties.User, B)`
`method ==(x$1: Any)Boolean`
`method ==(x$1: AnyRef)Boolean`
`method asInstanceOf[T0]=> T0`
-`method clone()java.lang.Object`
+`method clone()Object`
`method ensuring(cond: Boolean)properties.User`
`method ensuring(cond: Boolean, msg: => Any)properties.User`
`method ensuring(cond: properties.User => Boolean)properties.User`
@@ -125,13 +127,13 @@ retrieved 36 members
`method notify()Unit`
`method notifyAll()Unit`
`method synchronized[T0](x$1: T0)T0`
-`method toString()java.lang.String`
+`method toString()String`
`method wait()Unit`
`method wait(x$1: Long)Unit`
`method wait(x$1: Long, x$2: Int)Unit`
`method →[B](y: B)(properties.User, B)`
-`value firstnameproperties.Property[java.lang.String]`
-`value lastnameproperties.Property[java.lang.String]`
+`value firstnameproperties.Property[String]`
+`value lastnameproperties.Property[String]`
`value selfAny`
`value xproperties.User`
================================================================================
diff --git a/test/files/presentation/random.check b/test/files/presentation/random.check
index 96d3aba5d0..fce4b69fb3 100644
--- a/test/files/presentation/random.check
+++ b/test/files/presentation/random.check
@@ -24,4 +24,4 @@ askType at Random.scala(26,12)
================================================================================
[response] askTypeAt at (26,12)
_
-================================================================================ \ No newline at end of file
+================================================================================
diff --git a/test/files/presentation/timeofday.check b/test/files/presentation/timeofday.check
index da93527b89..1067e0a8fa 100644
--- a/test/files/presentation/timeofday.check
+++ b/test/files/presentation/timeofday.check
@@ -7,12 +7,12 @@ retrieved 43 members
`method !=(x$1: Any)Boolean`
`method !=(x$1: AnyRef)Boolean`
`method ##()Int`
-`method +(other: String)java.lang.String`
+`method +(other: String)String`
`method ->[B](y: B)(timeofday.TimeOfDayVar, B)`
`method ==(x$1: Any)Boolean`
`method ==(x$1: AnyRef)Boolean`
`method asInstanceOf[T0]=> T0`
-`method clone()java.lang.Object`
+`method clone()Object`
`method ensuring(cond: Boolean)timeofday.TimeOfDayVar`
`method ensuring(cond: Boolean, msg: => Any)timeofday.TimeOfDayVar`
`method ensuring(cond: timeofday.TimeOfDayVar => Boolean)timeofday.TimeOfDayVar`
@@ -33,7 +33,7 @@ retrieved 43 members
`method seconds=> Int`
`method seconds_=(s: Int)Unit`
`method synchronized[T0](x$1: T0)T0`
-`method toString()java.lang.String`
+`method toString()String`
`method wait()Unit`
`method wait(x$1: Long)Unit`
`method wait(x$1: Long, x$2: Int)Unit`
@@ -52,12 +52,12 @@ retrieved 43 members
`method !=(x$1: Any)Boolean`
`method !=(x$1: AnyRef)Boolean`
`method ##()Int`
-`method +(other: String)java.lang.String`
+`method +(other: String)String`
`method ->[B](y: B)(timeofday.TimeOfDayVar, B)`
`method ==(x$1: Any)Boolean`
`method ==(x$1: AnyRef)Boolean`
`method asInstanceOf[T0]=> T0`
-`method clone()java.lang.Object`
+`method clone()Object`
`method ensuring(cond: Boolean)timeofday.TimeOfDayVar`
`method ensuring(cond: Boolean, msg: => Any)timeofday.TimeOfDayVar`
`method ensuring(cond: timeofday.TimeOfDayVar => Boolean)timeofday.TimeOfDayVar`
@@ -78,7 +78,7 @@ retrieved 43 members
`method seconds=> Int`
`method seconds_=(s: Int)Unit`
`method synchronized[T0](x$1: T0)T0`
-`method toString()java.lang.String`
+`method toString()String`
`method wait()Unit`
`method wait(x$1: Long)Unit`
`method wait(x$1: Long, x$2: Int)Unit`
diff --git a/test/files/res/t687.check b/test/files/res/t687.check
index f7b8c9292e..b741b262b9 100644
--- a/test/files/res/t687.check
+++ b/test/files/res/t687.check
@@ -1,8 +1,8 @@
nsc>
nsc> t687/QueryB.scala:3: error: name clash between defined and inherited member:
-method equals:(o: java.lang.Object)Boolean and
+method equals:(o: Object)Boolean and
method equals:(x$1: Any)Boolean in class Any
-have same type after erasure: (o: java.lang.Object)Boolean
+have same type after erasure: (o: Object)Boolean
override def equals(o : Object) = false;
^
diff --git a/test/files/run/code.check b/test/files/run/code.check
index 4bc36424ee..23263600ea 100644
--- a/test/files/run/code.check
+++ b/test/files/run/code.check
@@ -5,7 +5,7 @@ testing: (() => {
e
})
result = (() => {
- val e: Element = new Element{Element}{(name: <?>)Element}("someName"{java.lang.String("someName")}){Element};
+ val e: Element = new Element{Element}{(name: <?>)Element}("someName"{String("someName")}){Element};
e{Element}
}{Element}){() => Element}
testing: (() => truc.elem = 6)
@@ -13,6 +13,6 @@ result = (() => truc.elem{Int} = 6{Int(6)}{Unit}){() => Unit}
testing: (() => truc.elem = truc.elem.$plus(6))
result = (() => truc.elem{Int} = truc.elem.+{(x: <?>)Int}(6{Int(6)}){Int}{Unit}){() => Unit}
testing: (() => new baz.BazElement("someName"))
-result = (() => new baz.BazElement{baz.BazElement}{(name: <?>)baz.BazElement}("someName"{java.lang.String("someName")}){baz.BazElement}){() => baz.BazElement}
+result = (() => new baz.BazElement{baz.BazElement}{(name: <?>)baz.BazElement}("someName"{String("someName")}){baz.BazElement}){() => baz.BazElement}
testing: ((x: Int) => x.$plus(ys.length))
result = ((x: Int) => x.+{(x: <?>)Int}(ys.length{Int}){Int}){Int => Int}
diff --git a/test/files/run/constrained-types.check b/test/files/run/constrained-types.check
index 66580f063a..ac8817cb08 100644
--- a/test/files/run/constrained-types.check
+++ b/test/files/run/constrained-types.check
@@ -66,19 +66,19 @@ m: (x: String)String @Annot(x)
scala>
scala> val three = "three"
-three: java.lang.String = three
+three: String = three
scala> val three2 = m(three:three.type) // should change x to three
three2: String @Annot(three) = three
scala> var four = "four"
-four: java.lang.String = four
+four: String = four
scala> val four2 = m(four) // should have an existential bound
-four2: java.lang.String @Annot(x) forSome { val x: java.lang.String } = four
+four2: String @Annot(x) forSome { val x: String } = four
scala> val four3 = four2 // should have the same type as four2
-four3: java.lang.String @Annot(x) forSome { val x: java.lang.String } = four
+four3: String @Annot(x) forSome { val x: String } = four
scala> val stuff = m("stuff") // should not crash
stuff: String @Annot("stuff") = stuff
@@ -100,7 +100,7 @@ scala> def m = {
val y : String @Annot(x) = x
y
} // x should not escape the local scope with a narrow type
-m: java.lang.String @Annot(x) forSome { val x: java.lang.String }
+m: String @Annot(x) forSome { val x: String }
scala>
@@ -113,7 +113,7 @@ scala> def n(y: String) = {
}
m("stuff".stripMargin)
} // x should be existentially bound
-n: (y: String)java.lang.String @Annot(x) forSome { val x: String }
+n: (y: String)String @Annot(x) forSome { val x: String }
scala>
@@ -130,7 +130,7 @@ Companions must be defined together; you may wish to use :paste mode for this.
scala>
scala> val y = a.x // should drop the annotation
-y: java.lang.String = hello
+y: String = hello
scala>
diff --git a/test/files/run/global-showdef.check b/test/files/run/global-showdef.check
index 36d33f6fdf..4c2fd41a1a 100644
--- a/test/files/run/global-showdef.check
+++ b/test/files/run/global-showdef.check
@@ -9,6 +9,6 @@
<<-- class foo.bar.Bippy.Boppity.Boo after phase 'typer' -->>
def showdefTestMemberClass3: Int
<<-- object foo.bar.Bippy after phase 'typer' -->>
- def showdefTestMemberObject2: java.lang.String
+ def showdefTestMemberObject2: String
<<-- object foo.bar.Bippy.Boppity.Boo after phase 'typer' -->>
- def showdefTestMemberObject1: java.lang.String
+ def showdefTestMemberObject1: String
diff --git a/test/files/run/repl-parens.check b/test/files/run/repl-parens.check
index a3b0fd1939..54c04c4dc6 100644
--- a/test/files/run/repl-parens.check
+++ b/test/files/run/repl-parens.check
@@ -66,7 +66,7 @@ scala> 55 ; () => 5
res13: () => Int = <function0>
scala> () => { class X ; new X }
-res14: () => java.lang.Object with ScalaObject = <function0>
+res14: () => Object with ScalaObject = <function0>
scala>
diff --git a/test/files/run/repl-paste-2.check b/test/files/run/repl-paste-2.check
index 18bd6d2434..4fdf080fd2 100644
--- a/test/files/run/repl-paste-2.check
+++ b/test/files/run/repl-paste-2.check
@@ -52,7 +52,7 @@ scala> val x = dingus
^
scala> val x = "dingus"
-x: java.lang.String = dingus
+x: String = dingus
scala> x.length
res2: Int = 6
diff --git a/test/files/run/t4172.check b/test/files/run/t4172.check
index 4bb963baa9..95e3eb950d 100644
--- a/test/files/run/t4172.check
+++ b/test/files/run/t4172.check
@@ -4,7 +4,7 @@ Type :help for more information.
scala>
scala> val c = { class C { override def toString = "C" }; ((new C, new C { def f = 2 })) }
-c: (C, C{def f: Int}) forSome { type C <: java.lang.Object with ScalaObject } = (C,C)
+c: (C, C{def f: Int}) forSome { type C <: Object with ScalaObject } = (C,C)
scala>