diff options
Diffstat (limited to 'src/dotty/tools/dotc')
-rw-r--r-- | src/dotty/tools/dotc/core/Types.scala | 6 | ||||
-rw-r--r-- | src/dotty/tools/dotc/printing/Texts.scala | 1 | ||||
-rw-r--r-- | src/dotty/tools/dotc/util/Chars.scala | 2 |
3 files changed, 7 insertions, 2 deletions
diff --git a/src/dotty/tools/dotc/core/Types.scala b/src/dotty/tools/dotc/core/Types.scala index 3e419359b..ee76f0dc7 100644 --- a/src/dotty/tools/dotc/core/Types.scala +++ b/src/dotty/tools/dotc/core/Types.scala @@ -1233,7 +1233,11 @@ object Types { def isType = name.isTypeName def isTerm = name.isTermName - def symbol(implicit ctx: Context): Symbol = denot.symbol + def symbol(implicit ctx: Context): Symbol = lastDenotationOrSym match { + case sym: Symbol => sym + case _ => denot.symbol + } + def info(implicit ctx: Context): Type = denot.info override def underlying(implicit ctx: Context): Type = info diff --git a/src/dotty/tools/dotc/printing/Texts.scala b/src/dotty/tools/dotc/printing/Texts.scala index 65d149d21..a45e7af1f 100644 --- a/src/dotty/tools/dotc/printing/Texts.scala +++ b/src/dotty/tools/dotc/printing/Texts.scala @@ -1,6 +1,7 @@ package dotty.tools.dotc package printing import core.Contexts.Context +import language.implicitConversions object Texts { diff --git a/src/dotty/tools/dotc/util/Chars.scala b/src/dotty/tools/dotc/util/Chars.scala index 99aad620a..bae3b4732 100644 --- a/src/dotty/tools/dotc/util/Chars.scala +++ b/src/dotty/tools/dotc/util/Chars.scala @@ -40,7 +40,7 @@ object Chars { /** Convert a character to a backslash-u escape */ def char2uescape(c: Char): String = { @inline def hexChar(ch: Int): Char = - ( if (ch < 10) '0' else 'A' - 10 ) + ch toChar + (( if (ch < 10) '0' else 'A' - 10 ) + ch).toChar char2uescapeArray(2) = hexChar((c >> 12) ) char2uescapeArray(3) = hexChar((c >> 8) % 16) |