From aab80015b8e9672dfceff1fdce021be25b752a60 Mon Sep 17 00:00:00 2001 From: Shadaj Laddad Date: Sun, 12 Nov 2017 19:30:57 -0800 Subject: Restore ability to derive typeclasses for case classes inside other classes --- core/shared/src/main/scala/magnolia.scala | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/core/shared/src/main/scala/magnolia.scala b/core/shared/src/main/scala/magnolia.scala index 6400002..9df3532 100644 --- a/core/shared/src/main/scala/magnolia.scala +++ b/core/shared/src/main/scala/magnolia.scala @@ -278,10 +278,10 @@ object Magnolia { val preAssignments = caseParams.map(_.typeclass) val defaults = if (!isValueClass) { - val caseClassCompanion = genericType.companion - val constructorMethod = caseClassCompanion.decl(TermName("apply")).asMethod - val indexedConstructorParams = - constructorMethod.paramLists.head.map(_.asTerm).zipWithIndex + val caseClassParameters = genericType.decls.collect { + case m: MethodSymbol if m.isCaseAccessor => m.asMethod + } + val indexedConstructorParams = caseClassParameters.map(_.asTerm).zipWithIndex indexedConstructorParams.map { case (p, idx) => -- cgit v1.2.3