summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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>