diff options
Diffstat (limited to 'core/shared/src/main/scala/magnolia.scala')
-rw-r--r-- | core/shared/src/main/scala/magnolia.scala | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/core/shared/src/main/scala/magnolia.scala b/core/shared/src/main/scala/magnolia.scala index c2dbf0a..2a15573 100644 --- a/core/shared/src/main/scala/magnolia.scala +++ b/core/shared/src/main/scala/magnolia.scala @@ -296,6 +296,7 @@ object Magnolia { q"""$paramsVal($idx) = $magnoliaPkg.Magnolia.param[$typeConstructor, $genericType, $paramType]( ${param.name.decodedName.toString}, + ${param.returnType.typeConstructor =:= typeOf[Option[_]].typeConstructor}, $repeated, $ref, $defaultVal, @@ -439,6 +440,7 @@ object Magnolia { * This method is intended to be called only from code generated by the Magnolia macro, and * should not be called directly from users' code. */ def param[Tc[_], T, P](name: String, + isOption: Boolean, isRepeated: Boolean, typeclassParam: => Tc[P], defaultVal: => Option[P], @@ -447,6 +449,7 @@ object Magnolia { ): Param[Tc, T] = new Param[Tc, T] { type PType = P def label: String = name + def option: Boolean = isOption def repeated: Boolean = isRepeated def default: Option[PType] = defaultVal def typeclass: Tc[PType] = typeclassParam |