diff options
author | Adriaan Moors <adriaan.moors@typesafe.com> | 2013-02-20 22:46:08 -0800 |
---|---|---|
committer | Adriaan Moors <adriaan.moors@typesafe.com> | 2013-02-20 22:48:34 -0800 |
commit | 9712cd07ea5bd9acd34d4e7f5ba2180dbdee7fee (patch) | |
tree | f432c928c34d95ed3a434cf0673828282d93bd5a /src/compiler/scala/tools/nsc/typechecker/SuperAccessors.scala | |
parent | 70956e560a11996e1d801d59b312dfe9d56b7a74 (diff) | |
parent | 2952d0fa020c003e919dff0eea0bc63f7d52fba8 (diff) | |
download | scala-9712cd07ea5bd9acd34d4e7f5ba2180dbdee7fee.tar.gz scala-9712cd07ea5bd9acd34d4e7f5ba2180dbdee7fee.tar.bz2 scala-9712cd07ea5bd9acd34d4e7f5ba2180dbdee7fee.zip |
Merge 2.10.x into master.
Conflicts:
build.number
src/compiler/scala/tools/nsc/doc/base/MemberLookupBase.scala
src/compiler/scala/tools/nsc/typechecker/Macros.scala
test/files/presentation/doc/doc.scala
Diffstat (limited to 'src/compiler/scala/tools/nsc/typechecker/SuperAccessors.scala')
-rw-r--r-- | src/compiler/scala/tools/nsc/typechecker/SuperAccessors.scala | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/SuperAccessors.scala b/src/compiler/scala/tools/nsc/typechecker/SuperAccessors.scala index 0992cd7955..f2129992e5 100644 --- a/src/compiler/scala/tools/nsc/typechecker/SuperAccessors.scala +++ b/src/compiler/scala/tools/nsc/typechecker/SuperAccessors.scala @@ -67,7 +67,10 @@ abstract class SuperAccessors extends transform.Transform with transform.TypingT case t => t } acc setInfoAndEnter (tpe cloneInfo acc) - storeAccessorDefinition(clazz, DefDef(acc, EmptyTree)) + // Diagnostic for SI-7091 + if (!accDefs.contains(clazz)) + reporter.error(sel.pos, s"Internal error: unable to store accessor definition in ${clazz}. clazz.isPackage=${clazz.isPackage}. Accessor required for ${sel} (${showRaw(sel)})") + else storeAccessorDefinition(clazz, DefDef(acc, EmptyTree)) acc } @@ -288,6 +291,7 @@ abstract class SuperAccessors extends transform.Transform with transform.TypingT currentClass.isTrait && sym.isProtected && sym.enclClass != currentClass + && !sym.owner.isPackageClass // SI-7091 no accessor needed package owned (ie, top level) symbols && !sym.owner.isTrait && (sym.owner.enclosingPackageClass != currentClass.enclosingPackageClass) && (qual.symbol.info.member(sym.name) ne NoSymbol) |