diff options
Diffstat (limited to 'cask/src/cask/main/Routes.scala')
-rw-r--r-- | cask/src/cask/main/Routes.scala | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/cask/src/cask/main/Routes.scala b/cask/src/cask/main/Routes.scala index 5b02542..ea9d6fe 100644 --- a/cask/src/cask/main/Routes.scala +++ b/cask/src/cask/main/Routes.scala @@ -8,7 +8,7 @@ import language.experimental.macros object Routes{ case class EndpointMetadata[T](decorators: Seq[Decorator], - endpoint: BaseEndpoint[_], + endpoint: BaseEndpoint[_, _], entryPoint: EntryPoint[T, _]) case class RoutesEndpointsMetadata[T](value: EndpointMetadata[T]*) object RoutesEndpointsMetadata{ @@ -19,15 +19,15 @@ object Routes{ val routeParts = for{ m <- c.weakTypeOf[T].members - val annotations = m.annotations.filter(_.tree.tpe <:< c.weakTypeOf[BaseDecorator[_]]).reverse + val annotations = m.annotations.filter(_.tree.tpe <:< c.weakTypeOf[BaseDecorator[_, _]]).reverse if annotations.nonEmpty } yield { - if(!(annotations.head.tree.tpe <:< weakTypeOf[BaseEndpoint[_]])) c.abort( + if(!(annotations.head.tree.tpe <:< weakTypeOf[BaseEndpoint[_, _]])) c.abort( annotations.head.tree.pos, s"Last annotation applied to a function must be an instance of Endpoint, " + s"not ${annotations.head.tree.tpe}" ) - val allEndpoints = annotations.filter(_.tree.tpe <:< weakTypeOf[BaseEndpoint[_]]) + val allEndpoints = annotations.filter(_.tree.tpe <:< weakTypeOf[BaseEndpoint[_, _]]) if(allEndpoints.length > 1) c.abort( annotations.head.tree.pos, s"You can only apply one Endpoint annotation to a function, not " + @@ -45,8 +45,7 @@ object Routes{ q"${annotObjectSyms.head}.convertToResultType", tq"cask.Request", annotObjectSyms.map(annotObjectSym => q"$annotObjectSym.getParamParser"), - annotObjectSyms.map(annotObjectSym => tq"$annotObjectSym.Input") - + annotObjectSyms.map(annotObjectSym => tq"$annotObjectSym.InputTypeAlias") ) val declarations = |