Mercurial > hg > graal-jvmci-8
changeset 11509:dcaf879d4a7e
Truffle-DSL: fixed a compiler warning for fields of type java.lang.Object. (GRAAL-434 #resolve)
author | Christian Humer <christian.humer@gmail.com> |
---|---|
date | Mon, 02 Sep 2013 16:47:29 +0200 |
parents | bb39b1bce748 |
children | 231958c9ddf9 |
files | graal/com.oracle.truffle.api.dsl.test/src/com/oracle/truffle/api/dsl/test/NodeFieldTest.java graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/node/NodeCodeGenerator.java |
diffstat | 2 files changed, 23 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.truffle.api.dsl.test/src/com/oracle/truffle/api/dsl/test/NodeFieldTest.java Mon Sep 02 15:27:20 2013 +0200 +++ b/graal/com.oracle.truffle.api.dsl.test/src/com/oracle/truffle/api/dsl/test/NodeFieldTest.java Mon Sep 02 16:47:29 2013 +0200 @@ -146,4 +146,21 @@ } + @Test + public void testObjectContainer() { + assertEquals("42", createCallTarget(ObjectContainerNodeFactory.create("42")).call()); + } + + @NodeField(name = "object", type = Object.class) + abstract static class ObjectContainerNode extends ValueNode { + + public abstract Object getObject(); + + @Specialization + Object containerField() { + return getObject(); + } + + } + }
--- a/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/node/NodeCodeGenerator.java Mon Sep 02 15:27:20 2013 +0200 +++ b/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/node/NodeCodeGenerator.java Mon Sep 02 16:47:29 2013 +0200 @@ -621,6 +621,9 @@ int index = 0; for (VariableElement param : element.getParameters()) { + if (Utils.isObject(param.asType())) { + continue; + } builder.string(" && "); if (!param.asType().getKind().isPrimitive()) { builder.string("(arguments[" + index + "] == null || "); @@ -639,7 +642,9 @@ index = 0; for (VariableElement param : element.getParameters()) { builder.startGroup(); - builder.string("(").type(param.asType()).string(") "); + if (!Utils.isObject(param.asType())) { + builder.string("(").type(param.asType()).string(") "); + } builder.string("arguments[").string(String.valueOf(index)).string("]"); builder.end(); index++;