diff options
Diffstat (limited to 'src/reflect')
-rw-r--r-- | src/reflect/scala/reflect/api/Symbols.scala | 8 | ||||
-rw-r--r-- | src/reflect/scala/reflect/internal/Symbols.scala | 1 |
2 files changed, 9 insertions, 0 deletions
diff --git a/src/reflect/scala/reflect/api/Symbols.scala b/src/reflect/scala/reflect/api/Symbols.scala index 1250545497..1c3ae77d45 100644 --- a/src/reflect/scala/reflect/api/Symbols.scala +++ b/src/reflect/scala/reflect/api/Symbols.scala @@ -481,6 +481,12 @@ trait Symbols { self: Universe => */ def isOverride: Boolean + /** Is this symbol abstract (i.e. an abstract class, an abstract method, value or type member)? + * + * @group Tests + */ + def isAbstract: Boolean + /** Is this symbol labelled as "abstract override"? * * @group Tests @@ -744,6 +750,7 @@ trait Symbols { self: Universe => * * @group Type */ + @deprecated("Use isAbstract instead", "2.11.0") def isAbstractType : Boolean /** Does this symbol represent an existentially bound type? @@ -877,6 +884,7 @@ trait Symbols { self: Universe => * * @group Class */ + @deprecated("Use isAbstract instead", "2.11.0") def isAbstractClass: Boolean /** Does this symbol represent a case class? diff --git a/src/reflect/scala/reflect/internal/Symbols.scala b/src/reflect/scala/reflect/internal/Symbols.scala index 2969bd92de..593c5e314a 100644 --- a/src/reflect/scala/reflect/internal/Symbols.scala +++ b/src/reflect/scala/reflect/internal/Symbols.scala @@ -89,6 +89,7 @@ trait Symbols extends api.Symbols { self: SymbolTable => def isJava: Boolean = isJavaDefined def isVal: Boolean = isTerm && !isModule && !isMethod && !isMutable def isVar: Boolean = isTerm && !isModule && !isMethod && !isLazy && isMutable + def isAbstract: Boolean = isAbstractClass || isDeferred || isAbstractType def newNestedSymbol(name: Name, pos: Position, newFlags: Long, isClass: Boolean): Symbol = name match { case n: TermName => newTermSymbol(n, pos, newFlags) |