summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/compiler/scala/tools/nsc/ast/parser/Parsers.scala8
-rw-r--r--src/compiler/scala/tools/nsc/transform/Mixin.scala1
2 files changed, 7 insertions, 2 deletions
diff --git a/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala b/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala
index 7a28fd0538..131b0d0a03 100644
--- a/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala
+++ b/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala
@@ -176,6 +176,10 @@ self =>
*/
var classContextBounds: List[Tree] = Nil
+ /** Are we inside the Scala package? Set for files that start with package scala
+ */
+ private var inScalaPackage = false
+
def parseStartRule: () => Tree
/** This is the general parse entry point.
@@ -2443,7 +2447,7 @@ self =>
(List(), List(List()), self, body)
}
var parents = parents0
- if (name != nme.ScalaObject.toTypeName && !isInterface(mods, body))
+ if (!isInterface(mods, body) && !(inScalaPackage && name == nme.Array.toTypeName))
parents = parents ::: List(scalaScalaObjectConstr)
if (parents.isEmpty)
parents = List(scalaAnyRefConstr)
@@ -2712,6 +2716,8 @@ self =>
}
} else {
in.flushDoc
+ if (in.token == IDENTIFIER && in.name.encode == nme.scala_)
+ inScalaPackage = true
val pkg = qualId()
newLineOptWhenFollowedBy(LBRACE)
if (in.token == EOF) {
diff --git a/src/compiler/scala/tools/nsc/transform/Mixin.scala b/src/compiler/scala/tools/nsc/transform/Mixin.scala
index 547d3cc096..92c92796cf 100644
--- a/src/compiler/scala/tools/nsc/transform/Mixin.scala
+++ b/src/compiler/scala/tools/nsc/transform/Mixin.scala
@@ -489,7 +489,6 @@ abstract class Mixin extends InfoTransform with ast.TreeDSL {
}
} else {
if (currentOwner.isTrait && sym.isSetter && !atPhase(currentRun.picklerPhase)(sym.isDeferred)) {
- println("add TraitSetter to "+sym)
sym.addAnnotation(AnnotationInfo(TraitSetterAnnotationClass.tpe, List(), List()))
}
tree