Skip to content

Commit 99f0f30

Browse files
committed
Remove redundant method in CompilerInterface
1 parent 52f4ee8 commit 99f0f30

File tree

4 files changed

+15
-39
lines changed

4 files changed

+15
-39
lines changed

compiler/src/dotty/tools/dotc/tastyreflect/ReflectionCompilerInterface.scala

Lines changed: 4 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1526,12 +1526,10 @@ class ReflectionCompilerInterface(val rootContext: core.Contexts.Context) extend
15261526
symbol.isClass
15271527

15281528
def Symbol_fields(self: Symbol)(given Context): List[Symbol] =
1529-
self.unforcedDecls.filter(isField)
1529+
self.unforcedDecls.filter(sym => sym.isTerm && !sym.is(Flags.Method))
15301530

1531-
def Symbol_field(self: Symbol)(name: String)(given Context): Symbol = {
1532-
val sym = self.unforcedDecls.find(sym => sym.name == name.toTermName)
1533-
if (isField(sym)) sym else core.Symbols.NoSymbol
1534-
}
1531+
def Symbol_field(self: Symbol)(name: String)(given Context): Symbol =
1532+
self.unforcedDecls.find(sym => sym.isTerm && !sym.is(Flags.Method) && sym.name == name.toTermName)
15351533

15361534
def Symbol_classMethod(self: Symbol)(name: String)(given Context): List[Symbol] =
15371535
self.typeRef.decls.iterator.collect {
@@ -1564,14 +1562,9 @@ class ReflectionCompilerInterface(val rootContext: core.Contexts.Context) extend
15641562
case sym if sym.is(Flags.CaseAccessor) => sym.asTerm
15651563
}
15661564

1567-
private def isField(sym: Symbol)(given Context): Boolean = sym.isTerm && !sym.is(Flags.Method)
1568-
15691565
def Symbol_of(fullName: String)(given ctx: Context): Symbol =
15701566
ctx.requiredClass(fullName)
15711567

1572-
def Symbol_isTypeDefSymbol(symbol: Symbol)(given Context): Boolean =
1573-
symbol.isType && !symbol.is(core.Flags.Case)
1574-
15751568
def Symbol_isTypeParam(self: Symbol)(given Context): Boolean =
15761569
self.isTypeParam
15771570

@@ -1581,28 +1574,17 @@ class ReflectionCompilerInterface(val rootContext: core.Contexts.Context) extend
15811574
def Symbol_isTermSymbol(symbol: Symbol)(given Context): Boolean =
15821575
symbol.isTerm
15831576

1584-
def Symbol_isDefDefSymbol(symbol: Symbol)(given Context): Boolean =
1585-
symbol.isTerm && symbol.is(core.Flags.Method)
1586-
15871577
def Symbol_signature(self: Symbol)(given Context): Signature =
15881578
self.signature
15891579

1590-
def Symbol_isValDefSymbol(symbol: Symbol)(given Context): Boolean =
1591-
symbol.isTerm && !symbol.is(core.Flags.Method) && !symbol.is(core.Flags.Case)
1592-
15931580
def Symbol_moduleClass(self: Symbol)(given Context): Symbol = self.moduleClass
15941581

15951582
def Symbol_companionClass(self: Symbol)(given Context): Symbol = self.companionClass
15961583

15971584
def Symbol_companionModule(self: Symbol)(given Context): Symbol = self.companionModule
15981585

1599-
def Symbol_isBindSymbol(symbol: Symbol)(given Context): Boolean =
1600-
symbol.isTerm && symbol.is(core.Flags.Case)
1601-
16021586
def Symbol_noSymbol(given ctx: Context): Symbol = core.Symbols.NoSymbol
16031587

1604-
def Symbol_isNoSymbol(symbol: Symbol)(given Context): Boolean = symbol eq core.Symbols.NoSymbol
1605-
16061588
//
16071589
// FLAGS
16081590
//
@@ -1628,6 +1610,7 @@ class ReflectionCompilerInterface(val rootContext: core.Contexts.Context) extend
16281610
def Flags_Implicit: Flags = core.Flags.Implicit
16291611
def Flags_Given: Flags = core.Flags.Given
16301612
def Flags_Erased: Flags = core.Flags.Erased
1613+
def Flags_Method: Flags = core.Flags.Method
16311614
def Flags_Lazy: Flags = core.Flags.Lazy
16321615
def Flags_Override: Flags = core.Flags.Override
16331616
def Flags_Inline: Flags = core.Flags.Inline

library/src/scala/tasty/reflect/CompilerInterface.scala

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1268,21 +1268,15 @@ trait CompilerInterface {
12681268

12691269
def Symbol_of(fullName: String)(given ctx: Context): Symbol
12701270

1271-
def Symbol_isTypeDefSymbol(symbol: Symbol)(given ctx: Context): Boolean
1272-
12731271
def Symbol_isTypeParam(self: Symbol)(given ctx: Context): Boolean
12741272

12751273
def Symbol_isTypeBindSymbol(symbol: Symbol)(given ctx: Context): Boolean
12761274

12771275
def Symbol_isTermSymbol(symbol: Symbol)(given ctx: Context): Boolean
12781276

1279-
def Symbol_isDefDefSymbol(symbol: Symbol)(given ctx: Context): Boolean
1280-
12811277
/** Signature of this definition */
12821278
def Symbol_signature(self: Symbol)(given ctx: Context): Signature
12831279

1284-
def Symbol_isValDefSymbol(symbol: Symbol)(given ctx: Context): Boolean
1285-
12861280
/** The class symbol of the companion module class */
12871281
def Symbol_moduleClass(self: Symbol)(given ctx: Context): Symbol
12881282

@@ -1292,12 +1286,8 @@ trait CompilerInterface {
12921286
/** The symbol of the companion module */
12931287
def Symbol_companionModule(self: Symbol)(given ctx: Context): Symbol
12941288

1295-
def Symbol_isBindSymbol(symbol: Symbol)(given ctx: Context): Boolean
1296-
12971289
def Symbol_noSymbol(given ctx: Context): Symbol
12981290

1299-
def Symbol_isNoSymbol(symbol: Symbol)(given ctx: Context): Boolean
1300-
13011291
//
13021292
// FLAGS
13031293
//
@@ -1324,6 +1314,7 @@ trait CompilerInterface {
13241314
def Flags_Implicit: Flags
13251315
def Flags_Given: Flags
13261316
def Flags_Erased: Flags
1317+
def Flags_Method: Flags
13271318
def Flags_Lazy: Flags
13281319
def Flags_Override: Flags
13291320
def Flags_Inline: Flags

library/src/scala/tasty/reflect/FlagsOps.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,9 @@ trait FlagsOps extends Core {
4747
/** Is this symbol `erased` */
4848
def Erased: Flags = internal.Flags_Erased
4949

50+
/** Is this symbol a method */
51+
def Method: Flags = internal.Flags_Method
52+
5053
/** Is this symbol `lazy` */
5154
def Lazy: Flags = internal.Flags_Lazy
5255

library/src/scala/tasty/reflect/SymbolOps.scala

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@ package scala.tasty
22
package reflect
33

44
/** Tasty reflect symbol */
5-
trait SymbolOps extends Core {
6-
7-
// Symbol
5+
trait SymbolOps extends Core { selfSymbolOps: FlagsOps =>
86

97
object Symbol {
108
/** The class Symbol of a global class definition */
@@ -97,13 +95,14 @@ trait SymbolOps extends Core {
9795

9896
def isType(given ctx: Context): Boolean = internal.Symbol_isTypeSymbol(self)
9997
def isTerm(given ctx: Context): Boolean = internal.Symbol_isTermSymbol(self)
100-
def isValDef(given ctx: Context): Boolean = internal.Symbol_isValDefSymbol(self)
101-
def isDefDef(given ctx: Context): Boolean = internal.Symbol_isDefDefSymbol(self)
102-
def isTypeDef(given ctx: Context): Boolean = internal.Symbol_isTypeDefSymbol(self)
98+
def isValDef(given ctx: Context): Boolean = self.isTerm && !self.flags.is(Flags.Method) && !self.flags.is(Flags.Case)
99+
def isDefDef(given ctx: Context): Boolean = self.isTerm && self.flags.is(Flags.Method)
100+
def isTypeDef(given ctx: Context): Boolean = self.isType && !self.flags.is(Flags.Case)
103101
def isClassDef(given ctx: Context): Boolean = internal.Symbol_isClassDefSymbol(self)
104-
def isBind(given ctx: Context): Boolean = internal.Symbol_isBindSymbol(self)
102+
def isBind(given ctx: Context): Boolean = self.isTerm && self.flags.is(Flags.Case)
103+
def isTypeBind(given ctx: Context): Boolean = self.isType && self.flags.is(Flags.Case)
105104
def isPackageDef(given ctx: Context): Boolean = internal.Symbol_isPackageDefSymbol(self)
106-
def isNoSymbol(given ctx: Context): Boolean = internal.Symbol_isNoSymbol(self)
105+
def isNoSymbol(given ctx: Context): Boolean = self == Symbol.noSymbol
107106

108107
/** Fields directly declared in the class */
109108
def fields(given ctx: Context): List[Symbol] =

0 commit comments

Comments
 (0)