@@ -266,12 +266,20 @@ def printWritePropertiesTo(c):
266266 print " }"
267267
268268 def printAppendArgumentDebugStringTo (c ):
269- appendList = [ "%s=\" )\n .append(this.%s)\n .append(\" "
270- % (f .name , java_field_name (f .name ))
269+ def appendValue (jField , jType ):
270+ if jType == "String" :
271+ return "this.%s" % (jField )
272+ else :
273+ return "String.valueOf(this.%s)" % (jField )
274+
275+ appendList = [ "%s=\" )\n .append(%s)\n .append(\" "
276+ % (f .name , appendValue (java_field_name (f .name ), java_field_type (spec , f .domain )))
271277 for f in c .fields ]
272278 print
273- print " public void appendArgumentDebugStringTo(StringBuffer acc) {"
274- print " acc.append(\" (%s)\" );" % (", " .join (appendList ))
279+ print " public void appendArgumentDebugStringTo(Appendable acc) {"
280+ print " try {"
281+ print " acc.append(\" (%s)\" );" % (", " .join (appendList ))
282+ print " } catch(IOException _) { }"
275283 print " }"
276284
277285 def printPropertiesBuilderClass (c ):
@@ -477,12 +485,21 @@ def trueOrFalse(truthVal):
477485 return "false"
478486
479487 def argument_debug_string ():
480- appendList = [ "%s=\" )\n .append(this.%s)\n .append(\" "
481- % (a .name , java_field_name (a .name ))
488+ def appendFieldValue (a ):
489+ (jName , jType ) = (java_field_name (a .name ), java_field_type (spec , a .domain ))
490+ if jType == "String" :
491+ return "this.%s" % (jName )
492+ else :
493+ return "String.valueOf(this.%s)" % (jName )
494+
495+ appendList = [ "%s=\" )\n .append(%s)\n .append(\" "
496+ % (a .name , appendFieldValue (a ))
482497 for a in m .arguments ]
483498 print
484- print " public void appendArgumentDebugStringTo(StringBuffer acc) {"
485- print " acc.append(\" (%s)\" );" % ", " .join (appendList )
499+ print " public void appendArgumentDebugStringTo(Appendable acc) {"
500+ print " try {"
501+ print " acc.append(\" (%s)\" );" % ", " .join (appendList )
502+ print " } catch(IOException _) { }"
486503 print " }"
487504
488505 def write_arguments ():
0 commit comments