Browse Source

Safer setters for Message

JNI-44
Edouard Tisserant 10 years ago
parent
commit
67746d04a3
  1. 18
      src/gen_cpp_Message.ysl2
  2. 8
      src/gen_java_Message.ysl2

18
src/gen_cpp_Message.ysl2

@ -125,9 +125,10 @@ tstylesheet {
choose { choose {
when "../enum[@name=$type]" when "../enum[@name=$type]"
|> _obj->«$cname» = («$ctype») (int) value; |> _obj->«$cname» = («$ctype») (int) value;
otherwise {
choose {
when "$type = 'string'" { when "$type = 'string'" {
|> free(_obj->«$cname»); |> free(_obj->«$cname»);
|> _obj->«$cname» = to_«$type»(env, value);
} }
otherwise { otherwise {
const "free" choose { const "free" choose {
@ -137,7 +138,20 @@ tstylesheet {
} }
|> free_«$free»(_obj->«$cname»); |> free_«$free»(_obj->«$cname»);
|> _obj->«$cname» = to_«$type»(env, value); }
}
|> if(value){
choose {
when "$type = 'string'" {
|>> _obj->«$cname» = to_«$type»(env, value);
}
otherwise {
|>> _obj->«$cname» = to_«$type»(env, value);
}
}
|> }else{
|> _obj->«$cname» = NULL;
|> }
} }
} }
|| ||

8
src/gen_java_Message.ysl2

@ -101,6 +101,8 @@ tstylesheet {
public void set«$name»(«$type» value) { public void set«$name»(«$type» value) {
if(value != null) if(value != null)
_set«$name»(new «$itype»(value)); _set«$name»(new «$itype»(value));
else
_set«$name»(null);
} }
|| ||
@ -122,6 +124,8 @@ tstylesheet {
for («$ename» i : value) for («$ename» i : value)
list.add(new _«$ename»(i)); list.add(new _«$ename»(i));
_set«$name»(list); _set«$name»(list);
}else{
_set«$name»(null);
} }
} }
@ -137,6 +141,8 @@ tstylesheet {
public void set«$name»(«$type» value) { public void set«$name»(«$type» value) {
if(value != null) if(value != null)
_set«$name»(AbstractEngine.toUTF8(value)); _set«$name»(AbstractEngine.toUTF8(value));
else
_set«$name»(null);
} }
|| ||
@ -151,6 +157,8 @@ tstylesheet {
public void set«$name»(«$itype» value) { public void set«$name»(«$itype» value) {
if(value != null) if(value != null)
_set«$name»(value.value); _set«$name»(value.value);
else
_set«$name»(0);
} }
|| ||

Loading…
Cancel
Save