changeset 9798:476cbd115289

Fixed reason generation failed for primitive generic signatures.
author Christian Humer <christian.humer@gmail.com>
date Thu, 23 May 2013 02:22:26 +0200
parents 4f2d8bf3dfb8
children 41de6947dbc9
files graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeCodeGenerator.java
diffstat 1 files changed, 15 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeCodeGenerator.java	Thu May 23 01:58:26 2013 +0200
+++ b/graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeCodeGenerator.java	Thu May 23 02:22:26 2013 +0200
@@ -786,13 +786,22 @@
                     builder.startCall(".append").string(parameter.getLocalName()).end();
                     builder.end();
 
-                    builder.startIf().string(parameter.getLocalName() + " != null").end();
-                    builder.startBlock();
+                    if (!Utils.isPrimitive(parameter.getType())) {
+                        builder.startIf().string(parameter.getLocalName() + " != null").end();
+                        builder.startBlock();
+                    }
                     builder.startStatement();
-                    builder.startCall("message.append").doubleQuote(" (").end();
-                    builder.startCall(".append").string(parameter.getLocalName() + ".getClass().getSimpleName()").end();
-                    builder.startCall(".append").doubleQuote(")").end();
-                    builder.end().end();
+                    if (Utils.isPrimitive(parameter.getType())) {
+                        builder.startCall("message.append").doubleQuote(" (" + Utils.getSimpleName(parameter.getType()) + ")").end();
+                    } else {
+                        builder.startCall("message.append").doubleQuote(" (").end();
+                        builder.startCall(".append").string(parameter.getLocalName() + ".getClass().getSimpleName()").end();
+                        builder.startCall(".append").doubleQuote(")").end();
+                    }
+                    builder.end();
+                    if (!Utils.isPrimitive(parameter.getType())) {
+                        builder.end();
+                    }
 
                     sep = ", ";
                 }