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" {
const "mangled" call "mangle";
const "returning", "count(parm/creates|parm/returns|parm/inout)";
const "returning", "count(parm/creates|parm/returns)";
const "CretType" choose {
when "$returning = 0" > void
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
}
const "CretDefault" choose {
@ -64,7 +64,7 @@ tstylesheet {
||
apply "parm[returns|creates|inout]", mode=return;
apply "parm[returns|creates]", mode=return;
choose {
when "$returning > 1" {
@ -78,7 +78,7 @@ tstylesheet {
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
||
@ -89,7 +89,7 @@ tstylesheet {
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 {
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 "multireturn", "count(parm/creates|parm/returns|parms/inout) > 1";
const "singlereturn", "count(parm/creates|parm/returns) = 1";
const "multireturn", "count(parm/creates|parm/returns) > 1";
if "$multireturn" {
if "$convert"
||
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 {
`` 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 = new «@name»_Return();
`` apply "parm[creates|returns|inout]", mode=convertOut;
`` apply "parm[creates|returns]", mode=convertOut;
return result;
||

Loading…
Cancel
Save