diff options
author | Eugene Burmako <xeno.by@gmail.com> | 2012-08-27 16:15:39 +0200 |
---|---|---|
committer | Eugene Burmako <xeno.by@gmail.com> | 2012-08-27 16:15:39 +0200 |
commit | 9abf74be15672ce4ec1900a6b26fbf35cbce5866 (patch) | |
tree | 42dfd2a085256ac55b68f24eb8ade0545c4d84cf /src | |
parent | a23edefac652e3be1474fceb3ee15d7eaecf1359 (diff) | |
download | scala-9abf74be15672ce4ec1900a6b26fbf35cbce5866.tar.gz scala-9abf74be15672ce4ec1900a6b26fbf35cbce5866.tar.bz2 scala-9abf74be15672ce4ec1900a6b26fbf35cbce5866.zip |
exposes Symbol.children
As requested in http://stackoverflow.com/questions/12078366/
Diffstat (limited to 'src')
-rw-r--r-- | src/reflect/scala/reflect/api/Symbols.scala | 5 | ||||
-rw-r--r-- | src/reflect/scala/reflect/internal/Symbols.scala | 1 |
2 files changed, 6 insertions, 0 deletions
diff --git a/src/reflect/scala/reflect/api/Symbols.scala b/src/reflect/scala/reflect/api/Symbols.scala index 0c4f143d57..6aa37edc7f 100644 --- a/src/reflect/scala/reflect/api/Symbols.scala +++ b/src/reflect/scala/reflect/api/Symbols.scala @@ -381,6 +381,11 @@ trait Symbols extends base.Symbols { self: Universe => */ def isSealed: Boolean + /** If this is a sealed class, its known direct subclasses. + * Otherwise, the empty set. + */ + def knownDirectSubclasses: Set[Symbol] + /** If this symbol is a class or trait, its self type, otherwise the type * of the symbol itself. */ diff --git a/src/reflect/scala/reflect/internal/Symbols.scala b/src/reflect/scala/reflect/internal/Symbols.scala index 09ac3e5f6f..8f99f42494 100644 --- a/src/reflect/scala/reflect/internal/Symbols.scala +++ b/src/reflect/scala/reflect/internal/Symbols.scala @@ -74,6 +74,7 @@ trait Symbols extends api.Symbols { self: SymbolTable => case n: TypeName => if (isClass) newClassSymbol(n, pos, newFlags) else newNonClassSymbol(n, pos, newFlags) } + def knownDirectSubclasses = children def thisPrefix: Type = thisType def selfType: Type = typeOfThis def typeSignature: Type = info |