summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAdriaan Moors <adriaan.moors@typesafe.com>2014-02-12 10:39:19 -0800
committerAdriaan Moors <adriaan.moors@typesafe.com>2014-02-12 10:39:19 -0800
commit3aec42f2b052542c6265d8b57200b61394742633 (patch)
tree39ecb2f4dbf9d0689b50b7b5dc7cf37c263f24cc /src
parent668966be53da2b9b8602098625180192438345b1 (diff)
parent555db2576438b9f83480f0039c752575807de829 (diff)
downloadscala-3aec42f2b052542c6265d8b57200b61394742633.tar.gz
scala-3aec42f2b052542c6265d8b57200b61394742633.tar.bz2
scala-3aec42f2b052542c6265d8b57200b61394742633.zip
Merge pull request #3506 from retronym/topic/logically-no-symbol
Avoid SOE in logicallyEnclosingMember
Diffstat (limited to 'src')
-rw-r--r--src/reflect/scala/reflect/internal/Symbols.scala5
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. */