Skip to content

Commit f3c54e4

Browse files
authored
Merge pull request #4096 from dotty-staging/cleanup-SymUtils
Cleanup SymUtils
2 parents 4a3e33d + 82277dc commit f3c54e4

File tree

1 file changed

+8
-11
lines changed

1 file changed

+8
-11
lines changed

compiler/src/dotty/tools/dotc/transform/SymUtils.scala

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)