diff options
author | Lukas Rytz <lukas.rytz@typesafe.com> | 2015-12-18 08:51:30 +0100 |
---|---|---|
committer | Lukas Rytz <lukas.rytz@typesafe.com> | 2015-12-18 08:51:30 +0100 |
commit | 2d3625d9803912edc1d4a69fa4da0961719d5001 (patch) | |
tree | f4e4c98ce8e588a541e0bc30b260717061f8abee /src/reflect | |
parent | d92b6592c7610bf56adfbc5315f82ba1e806e91a (diff) | |
parent | eeeb92c3d59de611dec1782a969b86171454de40 (diff) | |
download | scala-2d3625d9803912edc1d4a69fa4da0961719d5001.tar.gz scala-2d3625d9803912edc1d4a69fa4da0961719d5001.tar.bz2 scala-2d3625d9803912edc1d4a69fa4da0961719d5001.zip |
Merge pull request #4265 from retronym/ticket/9110
SI-9110 Pattern `O.C` must check `$outer eq O` for a top level O
Diffstat (limited to 'src/reflect')
-rw-r--r-- | src/reflect/scala/reflect/internal/Types.scala | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/reflect/scala/reflect/internal/Types.scala b/src/reflect/scala/reflect/internal/Types.scala index b282026c36..5b23bbf144 100644 --- a/src/reflect/scala/reflect/internal/Types.scala +++ b/src/reflect/scala/reflect/internal/Types.scala @@ -3940,7 +3940,8 @@ trait Types def maybeCreateDummyClone(pre: Type, sym: Symbol): Type = pre match { case SingleType(pre1, sym1) => if (sym1.isModule && sym1.isStatic) { - NoType + if (sym.owner == sym1 || sym.isJavaDefined || sym.owner.sourceModule.isStaticModule) NoType + else pre } else if (sym1.isModule && sym.owner == sym1.moduleClass) { val pre2 = maybeCreateDummyClone(pre1, sym1) if (pre2 eq NoType) pre2 |