diff options
author | Shadaj Laddad <shadaj@users.noreply.github.com> | 2017-11-12 19:30:57 -0800 |
---|---|---|
committer | Shadaj Laddad <shadaj@users.noreply.github.com> | 2017-11-21 08:21:28 -0800 |
commit | aab80015b8e9672dfceff1fdce021be25b752a60 (patch) | |
tree | 7b2355b791dd04028f39d00e8605db7b8f0759bc /core/shared/src/main/scala | |
parent | f3860d98267a6f603defc34dc1708c9fc5517b4b (diff) | |
download | magnolia-aab80015b8e9672dfceff1fdce021be25b752a60.tar.gz magnolia-aab80015b8e9672dfceff1fdce021be25b752a60.tar.bz2 magnolia-aab80015b8e9672dfceff1fdce021be25b752a60.zip |
Restore ability to derive typeclasses for case classes inside other classes
Diffstat (limited to 'core/shared/src/main/scala')
-rw-r--r-- | core/shared/src/main/scala/magnolia.scala | 8 |
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) => |