Skip to content

Commit 8e2a277

Browse files
committed
Drop old deriving infrastructure
Drop old deriving infrastructure that was based on reflect.Generic
1 parent f6ff485 commit 8e2a277

File tree

7 files changed

+58
-528
lines changed

7 files changed

+58
-528
lines changed

compiler/src/dotty/tools/dotc/core/Definitions.scala

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -706,17 +706,6 @@ class Definitions {
706706
lazy val Mirror_SingletonProxyType: TypeRef = ctx.requiredClassRef("scala.deriving.Mirror.SingletonProxy")
707707
def Mirror_SingletonProxyClass(implicit ctx: Context): ClassSymbol = Mirror_SingletonProxyType.symbol.asClass
708708

709-
lazy val GenericType: TypeRef = ctx.requiredClassRef("scala.reflect.Generic")
710-
def GenericClass(implicit ctx: Context): ClassSymbol = GenericType.symbol.asClass
711-
lazy val ShapeType: TypeRef = ctx.requiredClassRef("scala.compiletime.Shape")
712-
def ShapeClass(implicit ctx: Context): ClassSymbol = ShapeType.symbol.asClass
713-
lazy val ShapeCaseType: TypeRef = ctx.requiredClassRef("scala.compiletime.Shape.Case")
714-
def ShapeCaseClass(implicit ctx: Context): ClassSymbol = ShapeCaseType.symbol.asClass
715-
lazy val ShapeCasesType: TypeRef = ctx.requiredClassRef("scala.compiletime.Shape.Cases")
716-
def ShapeCasesClass(implicit ctx: Context): ClassSymbol = ShapeCasesType.symbol.asClass
717-
lazy val ReflectMirrorType: TypeRef = ctx.requiredClassRef("scala.reflect.Mirror")
718-
lazy val GenericClassType: TypeRef = ctx.requiredClassRef("scala.reflect.GenericClass")
719-
720709
lazy val LanguageModuleRef: TermSymbol = ctx.requiredModule("scala.language")
721710
def LanguageModuleClass(implicit ctx: Context): ClassSymbol = LanguageModuleRef.moduleClass.asClass
722711
lazy val NonLocalReturnControlType: TypeRef = ctx.requiredClassRef("scala.runtime.NonLocalReturnControl")

compiler/src/dotty/tools/dotc/typer/Deriving.scala

Lines changed: 58 additions & 376 deletions
Large diffs are not rendered by default.

compiler/src/dotty/tools/dotc/typer/Implicits.scala

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -800,21 +800,6 @@ trait Implicits { self: Typer =>
800800
}
801801
}
802802

803-
/** If `formal` is of the form `scala.reflect.Generic[T]` for some class type `T`,
804-
* synthesize an instance for it.
805-
*/
806-
lazy val synthesizedGeneric: SpecialHandler =
807-
(formal: Type, span: Span) => implicit (ctx: Context) =>
808-
formal.argTypes match {
809-
case arg :: Nil =>
810-
val pos = ctx.source.atSpan(span)
811-
val arg1 = fullyDefinedType(arg, "Generic argument", span)
812-
val clsType = checkClassType(arg1, pos, traitReq = false, stablePrefixReq = true)
813-
new Deriver(clsType.classSymbol.asClass, pos).genericInstance(clsType)
814-
case _ =>
815-
EmptyTree
816-
}
817-
818803
/** Create an anonymous class `new Object { type MirroredMonoType = ... }`
819804
* and mark it with given attachment so that it is made into a mirror at PostTyper.
820805
*/
@@ -955,7 +940,6 @@ trait Implicits { self: Typer =>
955940
mySpecialHandlers = List(
956941
defn.ClassTagClass -> synthesizedClassTag,
957942
defn.QuotedTypeClass -> synthesizedTypeTag,
958-
defn.GenericClass -> synthesizedGeneric,
959943
defn.TastyReflectionClass -> synthesizedTastyContext,
960944
defn.EqlClass -> synthesizedEq,
961945
defn.ValueOfClass -> synthesizedValueOf,

library/src-3.x/scala/reflect/Generic.scala

Lines changed: 0 additions & 18 deletions
This file was deleted.

library/src-3.x/scala/reflect/GenericClass.scala

Lines changed: 0 additions & 76 deletions
This file was deleted.

library/src-3.x/scala/reflect/Mirror.scala

Lines changed: 0 additions & 18 deletions
This file was deleted.

tests/run/derive-generic.scala

Lines changed: 0 additions & 13 deletions
This file was deleted.

0 commit comments

Comments
 (0)