aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShadaj Laddad <shadaj@users.noreply.github.com>2017-11-12 19:30:57 -0800
committerShadaj Laddad <shadaj@users.noreply.github.com>2017-11-21 08:21:28 -0800
commitaab80015b8e9672dfceff1fdce021be25b752a60 (patch)
tree7b2355b791dd04028f39d00e8605db7b8f0759bc
parentf3860d98267a6f603defc34dc1708c9fc5517b4b (diff)
downloadmagnolia-aab80015b8e9672dfceff1fdce021be25b752a60.tar.gz
magnolia-aab80015b8e9672dfceff1fdce021be25b752a60.tar.bz2
magnolia-aab80015b8e9672dfceff1fdce021be25b752a60.zip
Restore ability to derive typeclasses for case classes inside other classes
-rw-r--r--core/shared/src/main/scala/magnolia.scala8
1 files 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) =>