Browse Source

Safer setters for Message

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

36
src/gen_cpp_Message.ysl2

@ -125,19 +125,33 @@ tstylesheet {
choose {
when "../enum[@name=$type]"
|> _obj->«$cname» = («$ctype») (int) value;
when "$type = 'string'" {
|> free(_obj->«$cname»);
|> _obj->«$cname» = to_«$type»(env, value);
}
otherwise {
const "free" choose {
when "$ctype = 'pEp_identity'" > identity
when "contains($ctype, '_t')" value "substring-before($ctype, '_t')";
otherwise value "$ctype";
}
choose {
when "$type = 'string'" {
|> free(_obj->«$cname»);
}
otherwise {
const "free" choose {
when "$ctype = 'pEp_identity'" > identity
when "contains($ctype, '_t')" value "substring-before($ctype, '_t')";
otherwise value "$ctype";
}
|> free_«$free»(_obj->«$cname»);
|> _obj->«$cname» = to_«$type»(env, value);
|> free_«$free»(_obj->«$cname»);
}
}
|> 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) {
if(value != null)
_set«$name»(new «$itype»(value));
else
_set«$name»(null);
}
||
@ -122,6 +124,8 @@ tstylesheet {
for («$ename» i : value)
list.add(new _«$ename»(i));
_set«$name»(list);
}else{
_set«$name»(null);
}
}
@ -137,6 +141,8 @@ tstylesheet {
public void set«$name»(«$type» value) {
if(value != null)
_set«$name»(AbstractEngine.toUTF8(value));
else
_set«$name»(null);
}
||
@ -151,6 +157,8 @@ tstylesheet {
public void set«$name»(«$itype» value) {
if(value != null)
_set«$name»(value.value);
else
_set«$name»(0);
}
||

Loading…
Cancel
Save