summaryrefslogtreecommitdiff
path: root/src/reflect/scala/reflect/internal/Symbols.scala
diff options
context:
space:
mode:
authorEugene Burmako <xeno.by@gmail.com>2012-08-27 16:30:01 +0200
committerEugene Burmako <xeno.by@gmail.com>2012-08-27 16:30:01 +0200
commit33344651030213fe762bd81a66cf683d15a69b40 (patch)
treea71c994286fe451f9a17f07d90e55f1588e64c76 /src/reflect/scala/reflect/internal/Symbols.scala
parent9abf74be15672ce4ec1900a6b26fbf35cbce5866 (diff)
downloadscala-33344651030213fe762bd81a66cf683d15a69b40.tar.gz
scala-33344651030213fe762bd81a66cf683d15a69b40.tar.bz2
scala-33344651030213fe762bd81a66cf683d15a69b40.zip
adds ClassSymbol.baseClasses
Sure this stuff is also declared in Type.baseClasses, but this is one of the hot paths in reflection (e.g. like ClassSymbol.typeParams), so I think it's justified to have it as a dedicated method. Unfortunately we cannot remove Type.baseClasses, because it includes ridiculously involved calculation of base classes for compound types.
Diffstat (limited to 'src/reflect/scala/reflect/internal/Symbols.scala')
-rw-r--r--src/reflect/scala/reflect/internal/Symbols.scala1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/reflect/scala/reflect/internal/Symbols.scala b/src/reflect/scala/reflect/internal/Symbols.scala
index 8f99f42494..ecc7c001cc 100644
--- a/src/reflect/scala/reflect/internal/Symbols.scala
+++ b/src/reflect/scala/reflect/internal/Symbols.scala
@@ -75,6 +75,7 @@ trait Symbols extends api.Symbols { self: SymbolTable =>
}
def knownDirectSubclasses = children
+ def baseClasses = info.baseClasses
def thisPrefix: Type = thisType
def selfType: Type = typeOfThis
def typeSignature: Type = info