Skip to content

Commit 163e35a

Browse files
committed
Address review
1 parent ea6b900 commit 163e35a

File tree

6 files changed

+15
-8
lines changed

6 files changed

+15
-8
lines changed

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,9 @@ trait SymbolOpsImpl extends scala.tasty.reflect.SymbolOps with CoreImpl {
8080
symbol.topLevelClass.asClass.isDefinedInCurrentRun
8181
}
8282

83+
def isType(implicit ctx: Context): Boolean = symbol.isType
84+
85+
def isTerm(implicit ctx: Context): Boolean = symbol.isTerm
8386
}
8487

8588
object IsPackageSymbol extends IsPackageSymbolModule {

library/src/scala/quoted/Toolbox.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ object Toolbox {
3333
}
3434

3535
/** Setting of the Toolbox instance. */
36-
case class Settings private (val outDir: Option[String], val showRawTree: Boolean, val compilerArgs: List[String], val color: Boolean)
36+
case class Settings private (outDir: Option[String], showRawTree: Boolean, compilerArgs: List[String], color: Boolean)
3737

3838
object Settings {
3939

library/src/scala/tasty/reflect/Printers.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1367,7 +1367,7 @@ trait Printers
13671367
case tpe @ Type.SymRef(IsClassSymbol(sym), _) if sym.name.endsWith("$") =>
13681368
printType(tpe)
13691369
this += ".type"
1370-
case tpe @ Type.SymRef(sym, _) if !IsTypeSymbol.unapply(sym).nonEmpty =>
1370+
case tpe @ Type.SymRef(sym, _) if sym.isTerm =>
13711371
printType(tpe)
13721372
this += ".type"
13731373
case tpe => printType(tpe)
@@ -1462,7 +1462,7 @@ trait Printers
14621462
case Type.ConstantType(const) =>
14631463
printConstant(const)
14641464

1465-
case Type.SymRef(sym, prefix) if IsTypeSymbol.unapply(sym).nonEmpty =>
1465+
case Type.SymRef(sym, prefix) if sym.isType =>
14661466
prefix match {
14671467
case Types.EmptyPrefix() =>
14681468
case IsType(prefix @ Type.SymRef(IsClassSymbol(_), _)) =>
@@ -1474,7 +1474,7 @@ trait Printers
14741474
}
14751475
this += highlightTypeDef(sym.name.stripSuffix("$"), color)
14761476

1477-
case Type.SymRef(sym, prefix) if !IsTypeSymbol.unapply(sym).nonEmpty =>
1477+
case Type.SymRef(sym, prefix) if sym.isTerm =>
14781478
prefix match {
14791479
case Types.EmptyPrefix() =>
14801480
this += highlightTypeDef(sym.name, color)

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,10 @@ trait SymbolOps extends Core {
5252
def annots(implicit ctx: Context): List[Term]
5353

5454
def isDefinedInCurrentRun(implicit ctx: Context): Boolean
55+
56+
def isType(implicit ctx: Context): Boolean
57+
58+
def isTerm(implicit ctx: Context): Boolean
5559
}
5660
implicit def SymbolDeco(symbol: Symbol): SymbolAPI
5761

tests/pos/i2104b.decompiled

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@ case class Pair[A, B](_1: A, _2: B) {
1313
scala.runtime.Statics.finalizeHash(acc, 2)
1414
}
1515
override def equals(x$0: scala.Any): scala.Boolean = Pair.this.eq(x$0.asInstanceOf[java.lang.Object]).||(x$0 match {
16-
case x$0: Pair[A, B] @scala.unchecked =>
16+
case x$0: Pair[Pair.this.A, Pair.this.B] @scala.unchecked =>
1717
Pair.this._1.==(x$0._1).&&(Pair.this._2.==(x$0._2))
1818
case _ =>
1919
false
2020
})
2121
override def toString(): java.lang.String = scala.runtime.ScalaRunTime._toString(Pair.this)
22-
override def canEqual(that: scala.Any): scala.Boolean = that.isInstanceOf[Pair[A, B] @scala.unchecked]
22+
override def canEqual(that: scala.Any): scala.Boolean = that.isInstanceOf[Pair[Pair.this.A, Pair.this.B] @scala.unchecked]
2323
override def productArity: scala.Int = 2
2424
override def productPrefix: java.lang.String = "Pair"
2525
override def productElement(n: scala.Int): scala.Any = n match {

tests/pos/simpleCaseClass-3.decompiled

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@ case class A[T](x: T) {
66
scala.runtime.Statics.finalizeHash(acc, 1)
77
}
88
override def equals(x$0: scala.Any): scala.Boolean = A.this.eq(x$0.asInstanceOf[java.lang.Object]).||(x$0 match {
9-
case x$0: A[T] @scala.unchecked =>
9+
case x$0: A[A.this.T] @scala.unchecked =>
1010
A.this.x.==(x$0.x)
1111
case _ =>
1212
false
1313
})
1414
override def toString(): java.lang.String = scala.runtime.ScalaRunTime._toString(A.this)
15-
override def canEqual(that: scala.Any): scala.Boolean = that.isInstanceOf[A[T] @scala.unchecked]
15+
override def canEqual(that: scala.Any): scala.Boolean = that.isInstanceOf[A[A.this.T] @scala.unchecked]
1616
override def productArity: scala.Int = 1
1717
override def productPrefix: java.lang.String = "A"
1818
override def productElement(n: scala.Int): scala.Any = n match {

0 commit comments

Comments
 (0)