summaryrefslogtreecommitdiff
path: root/src/compiler/scala
diff options
context:
space:
mode:
authorAdriaan Moors <adriaan@lightbend.com>2016-12-19 14:39:46 -0800
committerGitHub <noreply@github.com>2016-12-19 14:39:46 -0800
commitbba42ff5d410127c8fd9be0073a6eda91b8029d1 (patch)
tree5b441552f074ee574c54bb32dc04b509e1e72d5b /src/compiler/scala
parenta9802c317a72925838bcd5c53a5919f75b577caa (diff)
parent14451a9c910908fb0c39cf20ad6a5bcb6d65a41c (diff)
downloadscala-bba42ff5d410127c8fd9be0073a6eda91b8029d1.tar.gz
scala-bba42ff5d410127c8fd9be0073a6eda91b8029d1.tar.bz2
scala-bba42ff5d410127c8fd9be0073a6eda91b8029d1.zip
Merge pull request #5541 from retronym/ticket/10067
SI-10067 Avoid linkage errors with type patterns, Java inner classes
Diffstat (limited to 'src/compiler/scala')
-rw-r--r--src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala2
-rw-r--r--src/compiler/scala/tools/nsc/transform/patmat/MatchTreeMaking.scala1
2 files changed, 2 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala b/src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala
index 7d50c12852..8bdbf16e03 100644
--- a/src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala
+++ b/src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala
@@ -166,7 +166,7 @@ abstract class ExplicitOuter extends InfoTransform
if ((resTpTransformed ne resTp) || (paramsWithOuter ne params)) MethodType(paramsWithOuter, resTpTransformed)
else tp
- case ClassInfoType(parents, decls, clazz) =>
+ case ClassInfoType(parents, decls, clazz) if !clazz.isJava =>
var decls1 = decls
if (isInner(clazz) && !clazz.isInterface) {
decls1 = decls.cloneScope
diff --git a/src/compiler/scala/tools/nsc/transform/patmat/MatchTreeMaking.scala b/src/compiler/scala/tools/nsc/transform/patmat/MatchTreeMaking.scala
index 8c59ced28f..89c793ec94 100644
--- a/src/compiler/scala/tools/nsc/transform/patmat/MatchTreeMaking.scala
+++ b/src/compiler/scala/tools/nsc/transform/patmat/MatchTreeMaking.scala
@@ -351,6 +351,7 @@ trait MatchTreeMaking extends MatchCodeGen with Debugging {
}
if ((expectedPrefix eq NoPrefix)
+ || expectedTp.typeSymbol.isJava
|| definedInStaticLocation(expectedTp)
|| testedPrefix =:= expectedPrefix) orig
else gen.mkAttributedQualifierIfPossible(expectedPrefix) match {