I'll get to this later this afternoon. Thanks for the patch.

There is a function to do this already in CppGenerator: setRef(), which
changes both string and FieldTable to const &. A shorter (but
equivalent) change would be:

-                       sb.append(indent + (defineFlag ? 
fieldDomainPair[FIELD_DOMAIN] + " " : "") +
+                       sb.append(indent + (defineFlag ? 
setRef(fieldDomainPair[FIELD_DOMAIN]) + " " : "") +

Kim

On Fri, 2006-12-15 at 18:47 +0100, Jim Meyering wrote:
> Index: src/org/apache/qpid/gentools/CppGenerator.java
> ===================================================================
> --- src/org/apache/qpid/gentools/CppGenerator.java    (revision 487512)
> +++ src/org/apache/qpid/gentools/CppGenerator.java    (working copy)
> @@ -1490,7 +1490,12 @@
>               {
>                       int ordinal = oItr.next();
>                       String[] fieldDomainPair = ordinalFieldMap.get(ordinal);
> -                     sb.append(indent + (defineFlag ? 
> fieldDomainPair[FIELD_DOMAIN] + " " : "") +
> +                     String type_str = fieldDomainPair[FIELD_DOMAIN];
> +                     if (type_str.compareTo("string") == 0)
> +                     {
> +                       type_str = "const " + type_str + "&";
> +                     }
> +                     sb.append(indent + (defineFlag ? type_str + " " : "") +
>                               fieldDomainPair[FIELD_NAME] + (initializerFlag 
> ? "(" + fieldDomainPair[FIELD_NAME] + ")" : "") +
>                               (oItr.hasNext() ? "," : "") + cr);
>               }


Reply via email to