From 55542796c030974f0e5fb32fcb24bf99f468532d Mon Sep 17 00:00:00 2001 From: Jakob Odersky Date: Thu, 29 Mar 2018 12:20:31 -0700 Subject: Add option flag to parameters --- core/shared/src/main/scala/magnolia.scala | 3 +++ 1 file changed, 3 insertions(+) (limited to 'core/shared/src/main/scala/magnolia.scala') 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 -- cgit v1.2.3