summaryrefslogtreecommitdiff
path: root/cask/src/cask/main/Routes.scala
diff options
context:
space:
mode:
authorLi Haoyi <haoyi.li@databricks.com>2019-09-14 18:51:36 +0800
committerLi Haoyi <haoyi.li@databricks.com>2019-09-14 18:53:05 +0800
commit0460ad2eca7fcdec1ff29c289dad4ecc76dde9c6 (patch)
treeb82374dc8c564cb0b874d2beea61f0b0c37e2510 /cask/src/cask/main/Routes.scala
parent85e982a6bf9bd82524baf53546b31d85b426fa62 (diff)
downloadcask-0460ad2eca7fcdec1ff29c289dad4ecc76dde9c6.tar.gz
cask-0460ad2eca7fcdec1ff29c289dad4ecc76dde9c6.tar.bz2
cask-0460ad2eca7fcdec1ff29c289dad4ecc76dde9c6.zip
Make `Input` a type param too
Diffstat (limited to 'cask/src/cask/main/Routes.scala')
-rw-r--r--cask/src/cask/main/Routes.scala11
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 =