@@ -29,7 +29,7 @@ class SymUtils(val self: Symbol) extends AnyVal {
2929 import SymUtils ._
3030
3131 /** All traits implemented by a class or trait except for those inherited through the superclass. */
32- def directlyInheritedTraits (implicit ctx : Context ) = {
32+ def directlyInheritedTraits (implicit ctx : Context ): List [ ClassSymbol ] = {
3333 val superCls = self.asClass.superClass
3434 val baseClasses = self.asClass.baseClasses
3535 if (baseClasses.isEmpty) Nil
@@ -39,7 +39,7 @@ class SymUtils(val self: Symbol) extends AnyVal {
3939 /** All traits implemented by a class, except for those inherited through the superclass.
4040 * The empty list if `self` is a trait.
4141 */
42- def mixins (implicit ctx : Context ) = {
42+ def mixins (implicit ctx : Context ): List [ ClassSymbol ] = {
4343 if (self is Trait ) Nil
4444 else directlyInheritedTraits
4545 }
@@ -50,15 +50,15 @@ class SymUtils(val self: Symbol) extends AnyVal {
5050 def isTypeTestOrCast (implicit ctx : Context ): Boolean =
5151 self == defn.Any_asInstanceOf || isTypeTest
5252
53- def isVolatile (implicit ctx : Context ) = self.hasAnnotation(defn.VolatileAnnot )
53+ def isVolatile (implicit ctx : Context ): Boolean = self.hasAnnotation(defn.VolatileAnnot )
5454
55- def isAnyOverride (implicit ctx : Context ) = self.is(Override ) || self.is(AbsOverride )
55+ def isAnyOverride (implicit ctx : Context ): Boolean = self.is(Override ) || self.is(AbsOverride )
5656 // careful: AbsOverride is a term only flag. combining with Override would catch only terms.
5757
58- def isSuperAccessor (implicit ctx : Context ) = self.name.is(SuperAccessorName )
58+ def isSuperAccessor (implicit ctx : Context ): Boolean = self.name.is(SuperAccessorName )
5959
6060 /** A type or term parameter or a term parameter accessor */
61- def isParamOrAccessor (implicit ctx : Context ) =
61+ def isParamOrAccessor (implicit ctx : Context ): Boolean =
6262 self.is(Param ) || self.is(ParamAccessor )
6363
6464 /** If this is a constructor, its owner: otherwise this. */
@@ -88,9 +88,6 @@ class SymUtils(val self: Symbol) extends AnyVal {
8888 def accessorNamed (name : TermName )(implicit ctx : Context ): Symbol =
8989 self.owner.info.decl(name).suchThat(_ is Accessor ).symbol
9090
91- def paramAccessors (implicit ctx : Context ): List [Symbol ] =
92- self.info.decls.filter(_ is ParamAccessor )
93-
9491 def caseAccessors (implicit ctx : Context ): List [Symbol ] =
9592 self.info.decls.filter(_ is CaseAccessor )
9693
@@ -159,7 +156,7 @@ class SymUtils(val self: Symbol) extends AnyVal {
159156 * defined in a different toplevel class than its supposed parent class `cls`?
160157 * Such children are not pickled, and have to be reconstituted manually.
161158 */
162- def isInaccessibleChildOf (cls : Symbol )(implicit ctx : Context ) =
159+ def isInaccessibleChildOf (cls : Symbol )(implicit ctx : Context ): Boolean =
163160 self.isLocal && ! cls.topLevelClass.isLinkedWith(self.topLevelClass)
164161
165162 /** If this is a sealed class, its known children */
@@ -169,7 +166,7 @@ class SymUtils(val self: Symbol) extends AnyVal {
169166 }
170167
171168 /** Is symbol directly or indirectly owned by a term symbol? */
172- @ tailrec def isLocal (implicit ctx : Context ): Boolean = {
169+ @ tailrec final def isLocal (implicit ctx : Context ): Boolean = {
173170 val owner = self.owner
174171 if (owner.isTerm) true
175172 else if (owner.is(Package )) false
0 commit comments