Skip to content

Commit 56c0f96

Browse files
oderskymilessabin
authored andcommitted
Drop old deriving infrastructure
Drop old deriving infrastructure that was based on reflect.Generic
1 parent a87b42b commit 56c0f96

File tree

7 files changed

+58
-528
lines changed

7 files changed

+58
-528
lines changed

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

-11
Original file line numberDiff line numberDiff line change
@@ -708,17 +708,6 @@ class Definitions {
708708
lazy val Mirror_SingletonProxyType: TypeRef = ctx.requiredClassRef("scala.deriving.Mirror.SingletonProxy")
709709
def Mirror_SingletonProxyClass(implicit ctx: Context): ClassSymbol = Mirror_SingletonProxyType.symbol.asClass
710710

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

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

+58-376
Large diffs are not rendered by default.

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

-16
Original file line numberDiff line numberDiff line change
@@ -844,21 +844,6 @@ trait Implicits { self: Typer =>
844844
}
845845
}
846846

847-
/** If `formal` is of the form `scala.reflect.Generic[T]` for some class type `T`,
848-
* synthesize an instance for it.
849-
*/
850-
lazy val synthesizedGeneric: SpecialHandler =
851-
(formal: Type, span: Span) => implicit (ctx: Context) =>
852-
formal.argTypes match {
853-
case arg :: Nil =>
854-
val pos = ctx.source.atSpan(span)
855-
val arg1 = fullyDefinedType(arg, "Generic argument", span)
856-
val clsType = checkClassType(arg1, pos, traitReq = false, stablePrefixReq = true)
857-
new Deriver(clsType.classSymbol.asClass, pos).genericInstance(clsType)
858-
case _ =>
859-
EmptyTree
860-
}
861-
862847
/** Create an anonymous class `new Object { type MirroredMonoType = ... }`
863848
* and mark it with given attachment so that it is made into a mirror at PostTyper.
864849
*/
@@ -999,7 +984,6 @@ trait Implicits { self: Typer =>
999984
mySpecialHandlers = List(
1000985
defn.ClassTagClass -> synthesizedClassTag,
1001986
defn.QuotedTypeClass -> synthesizedTypeTag,
1002-
defn.GenericClass -> synthesizedGeneric,
1003987
defn.TastyReflectionClass -> synthesizedTastyContext,
1004988
defn.EqlClass -> synthesizedEq,
1005989
defn.TupledFunctionClass -> synthesizedTupleFunction,

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

-18
This file was deleted.

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

-76
This file was deleted.

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

-18
This file was deleted.

tests/run/derive-generic.scala

-13
This file was deleted.

0 commit comments

Comments
 (0)