diff options
Diffstat (limited to 'src/dotty/tools/dotc/core/Symbols.scala')
-rw-r--r-- | src/dotty/tools/dotc/core/Symbols.scala | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/src/dotty/tools/dotc/core/Symbols.scala b/src/dotty/tools/dotc/core/Symbols.scala index a7e59d356..5bba99c9c 100644 --- a/src/dotty/tools/dotc/core/Symbols.scala +++ b/src/dotty/tools/dotc/core/Symbols.scala @@ -480,17 +480,16 @@ object Symbols { override def superId(implicit ctx: Context): Int = { val hint = superIdHint - val key = this.typeRef - if (hint >= 0 && hint <= ctx.lastSuperId && (ctx.classOfId(hint) eq key)) + if (hint >= 0 && hint <= ctx.lastSuperId && (ctx.classOfId(hint) eq this)) hint else { - val id = ctx.superIdOfClass get key match { + val id = ctx.superIdOfClass get this match { case Some(id) => id case None => val id = ctx.nextSuperId - ctx.superIdOfClass(key) = id - ctx.classOfId(id) = key + ctx.superIdOfClass(this) = id + ctx.classOfId(id) = this id } superIdHint = id @@ -498,9 +497,6 @@ object Symbols { } } - /** Have we seen a subclass of this class? */ - def hasChildren = superIdHint >= 0 // dubious, does not survive runs if children are deleted! - override protected def prefixString = "ClassSymbol" } |