Browse Source

duplicate not needed

Volker Birk 7 years ago
parent
commit
99d69f52b4
  1. 10
      src/gen_cpp_Engine.ysl2
  2. 10
      src/gen_java_Engine.ysl2

10
src/gen_cpp_Engine.ysl2

@ -28,11 +28,11 @@ tstylesheet {
template "method" { template "method" {
const "mangled" call "mangle"; const "mangled" call "mangle";
const "returning", "count(parm/creates|parm/returns|parm/inout)"; const "returning", "count(parm/creates|parm/returns)";
const "CretType" choose { const "CretType" choose {
when "$returning = 0" > void when "$returning = 0" > void
when "$returning = 1" when "$returning = 1"
call "jni_type" with "type", "name(parm[returns|creates|inout]/*[2])"; call "jni_type" with "type", "name(parm[returns|creates]/*[2])";
when "$returning > 0" > jobject when "$returning > 0" > jobject
} }
const "CretDefault" choose { const "CretDefault" choose {
@ -64,7 +64,7 @@ tstylesheet {
|| ||
apply "parm[returns|creates|inout]", mode=return; apply "parm[returns|creates]", mode=return;
choose { choose {
when "$returning > 1" { when "$returning > 1" {
@ -78,7 +78,7 @@ tstylesheet {
result_ = env->NewObject(clazz_result_, constructor_result_, obj); result_ = env->NewObject(clazz_result_, constructor_result_, obj);
|| ||
apply "parm[returns|creates|inout]", mode=setresult apply "parm[returns|creates]", mode=setresult
with "jtype" > org/pEp/jniadapter/Engine$_«@name»_Return with "jtype" > org/pEp/jniadapter/Engine$_«@name»_Return
|| ||
@ -89,7 +89,7 @@ tstylesheet {
when "$returning = 1" { when "$returning = 1" {
|| ||
return «name(parm[returns|creates|inout]/*[3])»_; return «name(parm[returns|creates]/*[3])»_;
|| ||
} }
} }

10
src/gen_java_Engine.ysl2

@ -137,21 +137,21 @@ tstylesheet {
template "method", mode=plain { template "method", mode=plain {
const "convert", "count(parm/stringlist|parm/stringpairlist|parm/string|parm/identity|parm/identitylist) > 0"; const "convert", "count(parm/stringlist|parm/stringpairlist|parm/string|parm/identity|parm/identitylist) > 0";
const "singlereturn", "count(parm/creates|parm/returns|parms/inout) = 1"; const "singlereturn", "count(parm/creates|parm/returns) = 1";
const "multireturn", "count(parm/creates|parm/returns|parms/inout) > 1"; const "multireturn", "count(parm/creates|parm/returns) > 1";
if "$multireturn" { if "$multireturn" {
if "$convert" if "$convert"
|| ||
private class _«@name»_Return { private class _«@name»_Return {
`` apply "parm[creates|returns|inout]", 1, mode=intermediate with "public", 1; `` apply "parm[creates|returns]", 1, mode=intermediate with "public", 1;
} }
|| ||
|| ||
public class «@name»_Return { public class «@name»_Return {
`` apply "parm[creates|returns|inout]", 1, mode=java with "public", 1; `` apply "parm[creates|returns]", 1, mode=java with "public", 1;
} }
|| ||
@ -214,7 +214,7 @@ tstylesheet {
|| ||
_«@name»_Return _result = _«@name»(`apply "parm[in|inout]", mode=call;`); _«@name»_Return _result = _«@name»(`apply "parm[in|inout]", mode=call;`);
«@name»_Return result = new «@name»_Return(); «@name»_Return result = new «@name»_Return();
`` apply "parm[creates|returns|inout]", mode=convertOut; `` apply "parm[creates|returns]", mode=convertOut;
return result; return result;
|| ||

Loading…
Cancel
Save