From 258e41832020ded98d8b506f74b7f7ea38192e23 Mon Sep 17 00:00:00 2001 From: Volker Birk Date: Sat, 22 Aug 2015 16:11:46 +0200 Subject: [PATCH] fixing type declarations --- src/gen_cpp_Engine.ysl2 | 2 +- src/jniutils.cc | 2 ++ src/types_java.ysl2 | 34 +++++++++++++++++++++++----------- 3 files changed, 26 insertions(+), 12 deletions(-) diff --git a/src/gen_cpp_Engine.ysl2 b/src/gen_cpp_Engine.ysl2 index 1356c7d..00534df 100644 --- a/src/gen_cpp_Engine.ysl2 +++ b/src/gen_cpp_Engine.ysl2 @@ -115,7 +115,7 @@ tstylesheet { template "parm", mode=return { param "type", "name(*[2])"; - param "jtype" call "toJavaDeclare" with "type", "$type"; + param "jtype" call "toJava" with "type", "$type"; param "name", "name(*[3])"; param "jnitype" choose { when "$type = 'message'" > jlong diff --git a/src/jniutils.cc b/src/jniutils.cc index 17f41a2..e2a3079 100644 --- a/src/jniutils.cc +++ b/src/jniutils.cc @@ -24,6 +24,8 @@ namespace pEp { jclass findClass(JNIEnv *env, const char *classname) { jclass clazz = env->FindClass(classname); + if (!clazz) + fprintf(stderr, "class not found: %s\n", classname); assert(clazz); if (clazz == NULL) { diff --git a/src/types_java.ysl2 b/src/types_java.ysl2 index e384728..ea64dca 100644 --- a/src/types_java.ysl2 +++ b/src/types_java.ysl2 @@ -22,17 +22,17 @@ function "toJavaDeclare" { param "type"; choose { - when "$type='stringlist'" > java.util.Vector + when "$type='stringlist'" error | # cannot declare "stringlist" when "$type='string'" error | # cannot declare "string" - when "$type='message'" > org.pEp.jniadapter.Message - when "$type='identity'" > org.pEp.jniadapter._Identity - when "$type='identitylist'" > java.util.Vector - when "$type='timestamp'" > java.util.Date - when "$type='EncFormat'" > org.pEp.jniadapter.Message.EncFormat - when "$type='bloblist'" > java.util.Vector - when "$type='stringpairlist'" > java.util.ArrayList - when "$type='message'" > org.pEp.jniadapter.Message - when "$type='Color'" > org.pEp.jniadapter.Color + when "$type='message'" > Message + when "$type='identity'" > _Identity + when "$type='identitylist'" | # cannot declare "identitylist" + when "$type='timestamp'" | # cannot declare "timestamp" + when "$type='EncFormat'" > Message.EncFormat + when "$type='bloblist'" | # cannot declare "bloblist" + when "$type='stringpairlist'" | # cannot declare "stringpairlist" + when "$type='message'" > Message + when "$type='Color'" > Color otherwise error | # cannot declare "«$type»" } @@ -45,7 +45,19 @@ function "toSig" { when "$type='string'" error | # cannot declare "string" otherwise { > L - call "toJavaDeclare" with "type", "$type"; + choose { + when "$type='stringlist'" > java.util.Vector + when "$type='string'" error | # cannot declare "string" + when "$type='message'" > org.pEp.jniadapter.Message + when "$type='identity'" > org.pEp.jniadapter._Identity + when "$type='identitylist'" > java.util.Vector + when "$type='timestamp'" > java.util.Date + when "$type='EncFormat'" > org.pEp.jniadapter.Message.EncFormat + when "$type='bloblist'" > java.util.Vector + when "$type='stringpairlist'" > java.util.ArrayList + when "$type='message'" > org.pEp.jniadapter.Message + when "$type='Color'" > org.pEp.jniadapter.Color + } > ; } }