summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/symtab/Types.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/compiler/scala/tools/nsc/symtab/Types.scala')
-rw-r--r--src/compiler/scala/tools/nsc/symtab/Types.scala12
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