diff options
Diffstat (limited to 'src/compiler/scala/tools/nsc/symtab/Types.scala')
-rw-r--r-- | src/compiler/scala/tools/nsc/symtab/Types.scala | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/compiler/scala/tools/nsc/symtab/Types.scala b/src/compiler/scala/tools/nsc/symtab/Types.scala index 2fb4ecbdc4..4093144d12 100644 --- a/src/compiler/scala/tools/nsc/symtab/Types.scala +++ b/src/compiler/scala/tools/nsc/symtab/Types.scala @@ -103,7 +103,9 @@ trait Types { override def isErroneous = underlying.isErroneous override def isStable: Boolean = underlying.isStable override def termSymbol = underlying.termSymbol + override def termSymbolDirect = underlying.termSymbolDirect override def typeSymbol = underlying.typeSymbol + override def typeSymbolDirect = underlying.typeSymbolDirect @deprecated override def symbol = underlying.symbol override def widen = underlying.widen override def typeOfThis = underlying.typeOfThis @@ -186,6 +188,14 @@ trait Types { */ def typeSymbol: Symbol = NoSymbol + /** The term symbol *directly* associated with the type + */ + def termSymbolDirect: Symbol = termSymbol + + /** The type symbol *directly* associated with the type + */ + def typeSymbolDirect: Symbol = typeSymbol + /** The base type underlying a type proxy, * identity on all other types */ def underlying: Type = this @@ -1250,6 +1260,8 @@ trait Types { override def typeSymbol = if (sym.isAliasType) normalize.typeSymbol else sym override def termSymbol = if (sym.isAliasType) normalize.termSymbol else super.termSymbol + override def typeSymbolDirect = sym + override def termSymbolDirect = super.termSymbol @deprecated override def symbol = if (sym.isAliasType) normalize.symbol else sym /* @MAT |