Commit 263e774d authored by Miro Knejp's avatar Miro Knejp Committed by Jacob Potter

Replace toCppType() in JNIGenratpr with CppMarshal

parent 901de4b2
...@@ -209,7 +209,7 @@ class JNIGenerator(spec: Spec) extends Generator(spec) { ...@@ -209,7 +209,7 @@ class JNIGenerator(spec: Spec) extends Generator(spec) {
w.wlOutdent(s"public:") w.wlOutdent(s"public:")
w.wl(s"JavaProxy(jobject obj);") w.wl(s"JavaProxy(jobject obj);")
for (m <- i.methods) { for (m <- i.methods) {
val ret = m.ret.fold("void")(toCppType(_, spec.cppNamespace)) val ret = m.ret.fold("void")(cppMarshal.fqTypename)
val params = m.params.map(p => toCppParamType(p, spec.cppNamespace)) val params = m.params.map(p => toCppParamType(p, spec.cppNamespace))
w.wl(s"virtual $ret ${idCpp.method(m.ident)}${params.mkString("(", ", ", ")")} override;") w.wl(s"virtual $ret ${idCpp.method(m.ident)}${params.mkString("(", ", ", ")")} override;")
} }
...@@ -238,7 +238,7 @@ class JNIGenerator(spec: Spec) extends Generator(spec) { ...@@ -238,7 +238,7 @@ class JNIGenerator(spec: Spec) extends Generator(spec) {
for (m <- i.methods) { for (m <- i.methods) {
w.wl w.wl
val ret = m.ret.fold("void")(toCppType(_, spec.cppNamespace)) val ret = m.ret.fold("void")(cppMarshal.fqTypename)
val params = m.params.map(p => toCppParamType(p, spec.cppNamespace, "c_")) val params = m.params.map(p => toCppParamType(p, spec.cppNamespace, "c_"))
writeJniTypeParams(w, typeParams) writeJniTypeParams(w, typeParams)
w.w(s"$ret $jniSelf::JavaProxy::JavaProxy::${idCpp.method(m.ident)}${params.mkString("(", ", ", ")")}").bracedSemi { w.w(s"$ret $jniSelf::JavaProxy::JavaProxy::${idCpp.method(m.ident)}${params.mkString("(", ", ", ")")}").bracedSemi {
...@@ -311,7 +311,7 @@ class JNIGenerator(spec: Spec) extends Generator(spec) { ...@@ -311,7 +311,7 @@ class JNIGenerator(spec: Spec) extends Generator(spec) {
if (!m.static) w.wl(s"const std::shared_ptr<$cppSelf> & ref = djinni::CppProxyHandle<$cppSelf>::get(nativeRef);") if (!m.static) w.wl(s"const std::shared_ptr<$cppSelf> & ref = djinni::CppProxyHandle<$cppSelf>::get(nativeRef);")
for (p <- m.params) { for (p <- m.params) {
val jniHelperClass = toJniHelperClass(p.ty) val jniHelperClass = toJniHelperClass(p.ty)
val cppType = toCppType(p.ty, spec.cppNamespace) val cppType = cppMarshal.fqTypename(p.ty)
val localVar = "c_" + idCpp.local(p.ident) val localVar = "c_" + idCpp.local(p.ident)
val paramName = "j_" + idJava.local(p.ident) val paramName = "j_" + idJava.local(p.ident)
w.wl(s"$cppType $localVar = $jniHelperClass::fromJava(jniEnv, $paramName);") w.wl(s"$cppType $localVar = $jniHelperClass::fromJava(jniEnv, $paramName);")
...@@ -322,7 +322,7 @@ class JNIGenerator(spec: Spec) extends Generator(spec) { ...@@ -322,7 +322,7 @@ class JNIGenerator(spec: Spec) extends Generator(spec) {
w.wl w.wl
m.ret match { m.ret match {
case Some(r) => case Some(r) =>
val cppRetType = toCppType(r, spec.cppNamespace) val cppRetType = cppMarshal.fqTypename(r)
val jniHelperClass = toJniHelperClass(r) val jniHelperClass = toJniHelperClass(r)
w.wl(s"$cppRetType cr = $callExpr;") w.wl(s"$cppRetType cr = $callExpr;")
w.wl w.wl
...@@ -355,7 +355,7 @@ class JNIGenerator(spec: Spec) extends Generator(spec) { ...@@ -355,7 +355,7 @@ class JNIGenerator(spec: Spec) extends Generator(spec) {
} }
def toJavaMethodSig(javaPackage: Option[String], params: Iterable[Field], ret: Option[TypeRef]) = { def toJavaMethodSig(javaPackage: Option[String], params: Iterable[Field], ret: Option[TypeRef]) = {
params.map(f => jniMarshal.typename(f.ty)).mkString("(", "", ")") + ret.fold("V")(jniMarshal.typename(_)) params.map(f => jniMarshal.typename(f.ty)).mkString("(", "", ")") + ret.fold("V")(jniMarshal.typename)
} }
def writeJniTypeParams(w: IndentWriter, params: Seq[TypeParam]) { def writeJniTypeParams(w: IndentWriter, params: Seq[TypeParam]) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment