@@ -1084,17 +1084,22 @@ class Definitions {
1084
1084
)
1085
1085
private val compiletimePackageBooleanTypes : Set [Name ] = Set (tpnme.Not , tpnme.Xor , tpnme.And , tpnme.Or )
1086
1086
private val compiletimePackageStringTypes : Set [Name ] = Set (tpnme.Plus )
1087
-
1088
- final def isCompiletimeAppliedType (sym : Symbol )(using Context ): Boolean = {
1089
- def isOpsPackageObjectAppliedType : Boolean =
1090
- sym.owner == CompiletimeOpsPackageObjectAny .moduleClass && compiletimePackageAnyTypes.contains(sym.name) ||
1091
- sym.owner == CompiletimeOpsPackageObjectInt .moduleClass && compiletimePackageIntTypes.contains(sym.name) ||
1092
- sym.owner == CompiletimeOpsPackageObjectBoolean .moduleClass && compiletimePackageBooleanTypes.contains(sym.name) ||
1093
- sym.owner == CompiletimeOpsPackageObjectString .moduleClass && compiletimePackageStringTypes.contains(sym.name)
1094
-
1095
- sym.isType && (isCompiletime_S(sym) || isOpsPackageObjectAppliedType)
1096
- }
1097
-
1087
+ private val compiletimePackageOpTypes : Set [Name ] =
1088
+ Set (tpnme.S )
1089
+ ++ compiletimePackageAnyTypes
1090
+ ++ compiletimePackageIntTypes
1091
+ ++ compiletimePackageBooleanTypes
1092
+ ++ compiletimePackageStringTypes
1093
+
1094
+ final def isCompiletimeAppliedType (sym : Symbol )(using Context ): Boolean =
1095
+ compiletimePackageOpTypes.contains(sym.name)
1096
+ && (
1097
+ sym.owner == CompiletimePackageObject .moduleClass && sym.name == tpnme.S
1098
+ || sym.owner == CompiletimeOpsPackageObjectAny .moduleClass && compiletimePackageAnyTypes.contains(sym.name)
1099
+ || sym.owner == CompiletimeOpsPackageObjectInt .moduleClass && compiletimePackageIntTypes.contains(sym.name)
1100
+ || sym.owner == CompiletimeOpsPackageObjectBoolean .moduleClass && compiletimePackageBooleanTypes.contains(sym.name)
1101
+ || sym.owner == CompiletimeOpsPackageObjectString .moduleClass && compiletimePackageStringTypes.contains(sym.name)
1102
+ )
1098
1103
1099
1104
// ----- Symbol sets ---------------------------------------------------
1100
1105
@@ -1143,8 +1148,11 @@ class Definitions {
1143
1148
def PolyFunctionType = PolyFunctionClass .typeRef
1144
1149
1145
1150
/** If `cls` is a class in the scala package, its name, otherwise EmptyTypeName */
1146
- def scalaClassName (cls : Symbol )(using Context ): TypeName =
1147
- if (cls.isClass && cls.owner == ScalaPackageClass ) cls.asClass.name else EmptyTypeName
1151
+ def scalaClassName (cls : Symbol )(using Context ): TypeName = cls.denot match
1152
+ case clsd : ClassDenotation if clsd.owner eq ScalaPackageClass =>
1153
+ clsd.name.asInstanceOf [TypeName ]
1154
+ case _ =>
1155
+ EmptyTypeName
1148
1156
1149
1157
/** If type `ref` refers to a class in the scala package, its name, otherwise EmptyTypeName */
1150
1158
def scalaClassName (ref : Type )(using Context ): TypeName = scalaClassName(ref.classSymbol)
0 commit comments