You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mxnet.apache.org by li...@apache.org on 2018/05/01 01:27:47 UTC
[incubator-mxnet] branch master updated: Use quasiquote replacement
(#10707)
This is an automated email from the ASF dual-hosted git repository.
liuyizhi pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-mxnet.git
The following commit(s) were added to refs/heads/master by this push:
new 1ab0733 Use quasiquote replacement (#10707)
1ab0733 is described below
commit 1ab0733099c6cf1dde19d1bccbd961790e9c2492
Author: Lanking <la...@live.com>
AuthorDate: Mon Apr 30 18:27:39 2018 -0700
Use quasiquote replacement (#10707)
---
.../main/scala/org/apache/mxnet/NDArrayMacro.scala | 52 +++-------------------
1 file changed, 5 insertions(+), 47 deletions(-)
diff --git a/scala-package/macros/src/main/scala/org/apache/mxnet/NDArrayMacro.scala b/scala-package/macros/src/main/scala/org/apache/mxnet/NDArrayMacro.scala
index c26d14c..036b9ec 100644
--- a/scala-package/macros/src/main/scala/org/apache/mxnet/NDArrayMacro.scala
+++ b/scala-package/macros/src/main/scala/org/apache/mxnet/NDArrayMacro.scala
@@ -52,18 +52,6 @@ private[mxnet] object NDArrayMacro {
else ndarrayFunctions.filter(!_._1.startsWith("_contrib_"))
}
- val AST_NDARRAY_TYPE = Select(Select(Select(
- Ident(TermName("org")), TermName("apache")), TermName("mxnet")), TypeName("NDArray"))
- val AST_TYPE_MAP_STRING_ANY = AppliedTypeTree(Ident(TypeName("Map")),
- List(Ident(TypeName("String")), Ident(TypeName("Any"))))
- val AST_TYPE_ANY_VARARG = AppliedTypeTree(
- Select(
- Select(Ident(termNames.ROOTPKG), TermName("scala")),
- TypeName("<repeated>")
- ),
- List(Ident(TypeName("Any")))
- )
-
val functionDefs = newNDArrayFunctions flatMap { case (funcName, funcProp) =>
val functionScope = {
if (isContrib) Modifiers()
@@ -75,45 +63,15 @@ private[mxnet] object NDArrayMacro {
if (isContrib) funcName.substring(funcName.indexOf("_contrib_") + "_contrib_".length())
else funcName
}
-
+ val termName = TermName(funcName)
// It will generate definition something like,
Seq(
+ // scalastyle:off
// def transpose(kwargs: Map[String, Any] = null)(args: Any*)
- DefDef(functionScope, TermName(newName), List(),
- List(
- List(
- ValDef(Modifiers(Flag.PARAM | Flag.DEFAULTPARAM), TermName("kwargs"),
- AST_TYPE_MAP_STRING_ANY, Literal(Constant(null)))
- ),
- List(
- ValDef(Modifiers(), TermName("args"), AST_TYPE_ANY_VARARG, EmptyTree)
- )
- ), TypeTree(),
- Apply(
- Ident(TermName("genericNDArrayFunctionInvoke")),
- List(
- Literal(Constant(funcName)),
- Ident(TermName("args")),
- Ident(TermName("kwargs"))
- )
- )
- ),
+ q"def $termName(kwargs: Map[String, Any] = null)(args: Any*) = {genericNDArrayFunctionInvoke($funcName, args, kwargs)}",
// def transpose(args: Any*)
- DefDef(functionScope, TermName(newName), List(),
- List(
- List(
- ValDef(Modifiers(), TermName("args"), AST_TYPE_ANY_VARARG, EmptyTree)
- )
- ), TypeTree(),
- Apply(
- Ident(TermName("genericNDArrayFunctionInvoke")),
- List(
- Literal(Constant(funcName)),
- Ident(TermName("args")),
- Literal(Constant(null))
- )
- )
- )
+ q"def $termName(args: Any*) = {genericNDArrayFunctionInvoke($funcName, args, null)}"
+ // scalastyle:on
)
}
--
To stop receiving notification emails like this one, please contact
liuyizhi@apache.org.