diff options
author | Adriaan Moors <adriaan.moors@typesafe.com> | 2014-02-12 10:39:19 -0800 |
---|---|---|
committer | Adriaan Moors <adriaan.moors@typesafe.com> | 2014-02-12 10:39:19 -0800 |
commit | 3aec42f2b052542c6265d8b57200b61394742633 (patch) | |
tree | 39ecb2f4dbf9d0689b50b7b5dc7cf37c263f24cc | |
parent | 668966be53da2b9b8602098625180192438345b1 (diff) | |
parent | 555db2576438b9f83480f0039c752575807de829 (diff) | |
download | scala-3aec42f2b052542c6265d8b57200b61394742633.tar.gz scala-3aec42f2b052542c6265d8b57200b61394742633.tar.bz2 scala-3aec42f2b052542c6265d8b57200b61394742633.zip |
Merge pull request #3506 from retronym/topic/logically-no-symbol
Avoid SOE in logicallyEnclosingMember
-rw-r--r-- | src/reflect/scala/reflect/internal/Symbols.scala | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/reflect/scala/reflect/internal/Symbols.scala b/src/reflect/scala/reflect/internal/Symbols.scala index 2969bd92de..81e78d4c5d 100644 --- a/src/reflect/scala/reflect/internal/Symbols.scala +++ b/src/reflect/scala/reflect/internal/Symbols.scala @@ -2047,9 +2047,10 @@ trait Symbols extends api.Symbols { self: SymbolTable => * (or, for traits: `$init`) of `C`. * */ - def logicallyEnclosingMember: Symbol = + final def logicallyEnclosingMember: Symbol = if (isLocalDummy) enclClass.primaryConstructor - else if (isMethod || isClass) this + else if (isMethod || isClass || this == NoSymbol) this + else if (this == NoSymbol) { devWarningDumpStack("NoSymbol.logicallyEnclosingMember", 15); this } else owner.logicallyEnclosingMember /** The top-level class containing this symbol. */ |