Skip to content

Commit 7d26ea5

Browse files
committed
Always use Module suffix for abstract modules in TASTy Reflect
Also use API (uppercase) consistently and add some docs
1 parent 3e555e9 commit 7d26ea5

22 files changed

+336
-311
lines changed

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ trait CaseDefOpsImpl extends scala.tasty.reflect.CaseDefOps with CoreImpl with H
99
def rhs(implicit ctx: Context): Term = caseDef.body
1010
}
1111

12-
object CaseDef extends CaseDefExtractor {
12+
object CaseDef extends CaseDefModule {
1313
def unapply(x: CaseDef): Some[(Pattern, Option[Term], Term)] = Some(x.pat, optional(x.guard), x.body)
1414
}
1515

@@ -18,7 +18,7 @@ trait CaseDefOpsImpl extends scala.tasty.reflect.CaseDefOps with CoreImpl with H
1818
def rhs(implicit ctx: Context): Term = caseDef.body
1919
}
2020

21-
object TypeCaseDef extends TypeCaseDefExtractor {
21+
object TypeCaseDef extends TypeCaseDefModule {
2222
def unapply(x: TypeCaseDef): Some[(TypeTree, TypeTree)] = Some((x.pat, x.body))
2323
}
2424
}

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

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -11,85 +11,85 @@ trait ConstantOpsImpl extends scala.tasty.reflect.ConstantOps with CoreImpl {
1111

1212
object Constant extends ConstantModule {
1313

14-
object Unit extends UnitExtractor {
14+
object Unit extends UnitModule {
1515
def unapply(x: Constant): Boolean = x.tag == Constants.UnitTag
1616
}
1717

18-
object Null extends NullExtractor {
18+
object Null extends NullModule {
1919
def unapply(x: Constant): Boolean = x.tag == Constants.NullTag
2020
}
2121

22-
object Boolean extends BooleanExtractor {
22+
object Boolean extends BooleanModule {
2323
def unapply(x: Constant): Option[Boolean] = x match {
2424
case x: Constants.Constant if x.tag == Constants.BooleanTag => Some(x.booleanValue)
2525
case _ => None
2626
}
2727
}
2828

29-
object Byte extends ByteExtractor {
29+
object Byte extends ByteModule {
3030
def unapply(x: Constant): Option[Byte] = x match {
3131
case x: Constants.Constant if x.tag == Constants.ByteTag => Some(x.byteValue)
3232
case _ => None
3333
}
3434
}
3535

36-
object Short extends ShortExtractor {
36+
object Short extends ShortModule {
3737
def unapply(x: Constant): Option[Short] = x match {
3838
case x: Constants.Constant if x.tag == Constants.ShortTag => Some(x.shortValue)
3939
case _ => None
4040
}
4141
}
4242

43-
object Char extends CharExtractor {
43+
object Char extends CharModule {
4444
def unapply(x: Constant): Option[Char] = x match {
4545
case x: Constants.Constant if x.tag == Constants.CharTag => Some(x.charValue)
4646
case _ => None
4747
}
4848
}
4949

50-
object Int extends IntExtractor {
50+
object Int extends IntModule {
5151
def unapply(x: Constant): Option[Int] = x match {
5252
case x: Constants.Constant if x.tag == Constants.IntTag => Some(x.intValue)
5353
case _ => None
5454
}
5555
}
5656

57-
object Long extends LongExtractor {
57+
object Long extends LongModule {
5858
def unapply(x: Constant): Option[Long] = x match {
5959
case x: Constants.Constant if x.tag == Constants.LongTag => Some(x.longValue)
6060
case _ => None
6161
}
6262
}
6363

64-
object Float extends FloatExtractor {
64+
object Float extends FloatModule {
6565
def unapply(x: Constant): Option[Float] = x match {
6666
case x: Constants.Constant if x.tag == Constants.FloatTag => Some(x.floatValue)
6767
case _ => None
6868
}
6969
}
7070

71-
object Double extends DoubleExtractor {
71+
object Double extends DoubleModule {
7272
def unapply(x: Constant): Option[Double] = x match {
7373
case x: Constants.Constant if x.tag == Constants.DoubleTag => Some(x.doubleValue)
7474
case _ => None
7575
}
7676
}
7777

78-
object String extends StringExtractor {
78+
object String extends StringModule {
7979
def unapply(x: Constant): Option[String] = x match {
8080
case x: Constants.Constant if x.tag == Constants.StringTag => Some(x.stringValue)
8181
case _ => None
8282
}
8383
}
8484

85-
object ClassTag extends ClassTagExtractor {
85+
object ClassTag extends ClassTagModule {
8686
def unapply(x: Constant): Option[Type] = x match {
8787
case x: Constants.Constant if x.tag == Constants.ClazzTag => Some(x.typeValue)
8888
case _ => None
8989
}
9090
}
9191

92-
object Symbol extends SymbolExtractor {
92+
object Symbol extends SymbolModule {
9393
def unapply(x: Constant): Option[scala.Symbol] = x match {
9494
case x: Constants.Constant if x.tag == Constants.ScalaSymbolTag => Some(x.scalaSymbolValue)
9595
case _ => None

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ trait IdOpsImpl extends scala.tasty.reflect.IdOps with CoreImpl {
99
def name(implicit ctx: Context): String = id.name.toString
1010
}
1111

12-
object Id extends IdExtractor {
12+
object Id extends IdModule {
1313
def unapply(id: Id): Option[String] = Some(id.name.toString)
1414
}
1515

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,21 @@ import dotty.tools.dotc.core.StdNames.nme
55

66
trait ImportSelectorOpsImpl extends scala.tasty.reflect.ImportSelectorOps with CoreImpl {
77

8-
object SimpleSelector extends SimpleSelectorExtractor {
8+
object SimpleSelector extends SimpleSelectorModule {
99
def unapply(x: ImportSelector)(implicit ctx: Context): Option[Id] = x match {
1010
case x: untpd.Ident => Some(x)
1111
case _ => None
1212
}
1313
}
1414

15-
object RenameSelector extends RenameSelectorExtractor {
15+
object RenameSelector extends RenameSelectorModule {
1616
def unapply(x: ImportSelector)(implicit ctx: Context): Option[(Id, Id)] = x match {
1717
case Trees.Thicket((id1: untpd.Ident) :: (id2: untpd.Ident) :: Nil) if id2.name != nme.WILDCARD => Some(id1, id2)
1818
case _ => None
1919
}
2020
}
2121

22-
object OmitSelector extends OmitSelectorExtractor {
22+
object OmitSelector extends OmitSelectorModule {
2323
def unapply(x: ImportSelector)(implicit ctx: Context): Option[Id] = x match {
2424
case Trees.Thicket((id: untpd.Ident) :: Trees.Ident(nme.WILDCARD) :: Nil) => Some(id)
2525
case _ => None

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

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ trait PatternOpsImpl extends scala.tasty.reflect.PatternOps with CoreImpl {
1414

1515
object Pattern extends PatternModule {
1616

17-
object Value extends ValueExtractor {
17+
object Value extends ValueModule {
1818
def unapply(x: Pattern)(implicit ctx: Context): Option[Term] = x match {
1919
case lit: tpd.Literal => Some(lit)
2020
case ref: tpd.RefTree if ref.isTerm => Some(ref)
@@ -23,14 +23,14 @@ trait PatternOpsImpl extends scala.tasty.reflect.PatternOps with CoreImpl {
2323
}
2424
}
2525

26-
object Bind extends BindExtractor {
26+
object Bind extends BindModule {
2727
def unapply(x: Pattern)(implicit ctx: Context): Option[(String, Pattern)] = x match {
2828
case x: tpd.Bind if x.name.isTermName => Some(x.name.toString, x.body)
2929
case _ => None
3030
}
3131
}
3232

33-
object Unapply extends UnapplyExtractor {
33+
object Unapply extends UnapplyModule {
3434
def unapply(x: Pattern)(implicit ctx: Context): Option[(Term, List[Term], List[Pattern])] = x match {
3535
case Trees.UnApply(fun, implicits, patterns) => Some((fun, implicits, effectivePatterns(patterns)))
3636
case Trees.Typed(Trees.UnApply(fun, implicits, patterns), _) => Some((fun, implicits, effectivePatterns(patterns)))
@@ -42,14 +42,14 @@ trait PatternOpsImpl extends scala.tasty.reflect.PatternOps with CoreImpl {
4242
}
4343
}
4444

45-
object Alternative extends AlternativeExtractor {
45+
object Alternative extends AlternativeModule {
4646
def unapply(x: Pattern)(implicit ctx: Context): Option[List[Pattern]] = x match {
4747
case x: tpd.Alternative => Some(x.trees)
4848
case _ => None
4949
}
5050
}
5151

52-
object TypeTest extends TypeTestExtractor {
52+
object TypeTest extends TypeTestModule {
5353
def unapply(x: Pattern)(implicit ctx: Context): Option[TypeTree] = x match {
5454
case Trees.Typed(Trees.UnApply(_, _, _), _) => None
5555
case Trees.Typed(_, tpt) => Some(tpt)

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package dotty.tools.dotc.tastyreflect
22

33
trait SignatureOpsImpl extends scala.tasty.reflect.SignatureOps with CoreImpl {
44

5-
object Signature extends SignatureExtractor {
5+
object Signature extends SignatureModule {
66
def unapply(x: Signature)(implicit ctx: Context): Option[(List[String], String)] = {
77
Some((x.paramsSig.map(_.toString), x.resSig.toString))
88
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ trait StandardDefinitions extends scala.tasty.reflect.StandardDefinitions {
88

99
private implicit def ctx: Context = rootContext
1010

11-
val definitions: DefinitionsApi = new DefinitionsApi {
11+
val definitions: DefinitionsAPI = new DefinitionsAPI {
1212

1313
def RootPackage: Symbol = defn.RootPackage
1414
def RootClass: Symbol = defn.RootClass

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

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ trait SymbolOpsImpl extends scala.tasty.reflect.SymbolOps with CoreImpl {
7878

7979
}
8080

81-
object IsPackageSymbol extends IsPackageSymbolExtractor {
81+
object IsPackageSymbol extends IsPackageSymbolModule {
8282
def unapply(symbol: Symbol)(implicit ctx: Context): Option[PackageSymbol] =
8383
if (symbol.is(Flags.Package)) Some(symbol) else None
8484
}
@@ -87,7 +87,7 @@ trait SymbolOpsImpl extends scala.tasty.reflect.SymbolOps with CoreImpl {
8787
def tree(implicit ctx: Context): PackageDef = FromSymbol.packageDefFromSym(symbol)
8888
}
8989

90-
object IsTypeSymbol extends IsTypeSymbolExtractor {
90+
object IsTypeSymbol extends IsTypeSymbolModule {
9191
def unapply(symbol: Symbol)(implicit ctx: Context): Option[TypeSymbol] =
9292
if (symbol.isType) Some(symbol.asType) else None
9393
}
@@ -100,7 +100,7 @@ trait SymbolOpsImpl extends scala.tasty.reflect.SymbolOps with CoreImpl {
100100
def of(fullName: String)(implicit ctx: Context): ClassSymbol = ctx.requiredClass(fullName)
101101
}
102102

103-
object IsClassSymbol extends IsClassSymbolExtractor {
103+
object IsClassSymbol extends IsClassSymbolModule {
104104
def unapply(symbol: Symbol)(implicit ctx: Context): Option[ClassSymbol] =
105105
if (symbol.isClass) Some(symbol.asClass) else None
106106
}
@@ -164,7 +164,7 @@ trait SymbolOpsImpl extends scala.tasty.reflect.SymbolOps with CoreImpl {
164164
private def isField(sym: Symbol)(implicit ctx: Context): Boolean = sym.isTerm && !sym.is(Flags.Method)
165165
}
166166

167-
object IsDefSymbol extends IsDefSymbolExtractor {
167+
object IsDefSymbol extends IsDefSymbolModule {
168168
def unapply(symbol: Symbol)(implicit ctx: Context): Option[DefSymbol] =
169169
if (symbol.isTerm && symbol.is(Flags.Method)) Some(symbol.asTerm) else None
170170
}
@@ -173,7 +173,7 @@ trait SymbolOpsImpl extends scala.tasty.reflect.SymbolOps with CoreImpl {
173173
def tree(implicit ctx: Context): DefDef = FromSymbol.defDefFromSym(symbol)
174174
}
175175

176-
object IsValSymbol extends IsValSymbolExtractor {
176+
object IsValSymbol extends IsValSymbolModule {
177177
def unapply(symbol: Symbol)(implicit ctx: Context): Option[ValSymbol] =
178178
if (symbol.isTerm && !symbol.is(Flags.Method) && !symbol.is(Flags.Case)) Some(symbol.asTerm) else None
179179
}
@@ -187,7 +187,7 @@ trait SymbolOpsImpl extends scala.tasty.reflect.SymbolOps with CoreImpl {
187187
}
188188
}
189189

190-
object IsBindSymbol extends IsBindSymbolExtractor {
190+
object IsBindSymbol extends IsBindSymbolModule {
191191
def unapply(symbol: Symbol)(implicit ctx: Context): Option[BindSymbol] =
192192
if (symbol.isTerm && symbol.is(Flags.Case)) Some(symbol.asTerm) else None // TODO
193193
}
@@ -196,7 +196,7 @@ trait SymbolOpsImpl extends scala.tasty.reflect.SymbolOps with CoreImpl {
196196
def tree(implicit ctx: Context): Bind = FromSymbol.bindFromSym(symbol)
197197
}
198198

199-
object NoSymbol extends NoSymbolExtractor {
199+
object NoSymbol extends NoSymbolModule {
200200
def unapply(symbol: Symbol)(implicit ctx: Context): Boolean = symbol ne core.Symbols.NoSymbol
201201
}
202202
}

0 commit comments

Comments
 (0)