Mercurial > hg > graal-jvmci-8
diff graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/node/ExecutableTypeMethodParser.java @ 11445:5fbd1ba4a5f3
Truffle-DSL: execute evaluated methods can now be declared using any type in the typesystem as parameters.
author | Christian Humer <christian.humer@gmail.com> |
---|---|
date | Wed, 28 Aug 2013 18:45:32 +0200 |
parents | 14d5ff4683e0 |
children | 43eab069ca9b |
line wrap: on
line diff
--- a/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/node/ExecutableTypeMethodParser.java Wed Aug 28 18:18:40 2013 +0200 +++ b/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/node/ExecutableTypeMethodParser.java Wed Aug 28 18:45:32 2013 +0200 @@ -47,12 +47,13 @@ List<ParameterSpec> requiredSpecs = new ArrayList<>(spec.getRequired()); spec.getRequired().clear(); + List<TypeMirror> allowedTypes = getNode().getTypeSystem().getPrimitiveTypeMirrors(); for (ParameterSpec originalSpec : requiredSpecs) { - spec.addRequired(new ParameterSpec(originalSpec, Arrays.asList(getNode().getTypeSystem().getGenericType()))); + spec.addRequired(new ParameterSpec(originalSpec, allowedTypes)); } spec.setVariableRequiredArguments(true); - ParameterSpec other = new ParameterSpec("other", Arrays.asList(getNode().getTypeSystem().getGenericType())); + ParameterSpec other = new ParameterSpec("other", allowedTypes); other.setCardinality(Cardinality.MANY); other.setSignature(true); other.setIndexed(true);