Mercurial > hg > graal-jvmci-8
comparison graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/node/NodeParser.java @ 11466:4830676526e3
Truffle-DSL: added infrastructure to assert for DSL error messages.
author | Christian Humer <christian.humer@gmail.com> |
---|---|
date | Thu, 29 Aug 2013 17:39:55 +0200 |
parents | 6879565ee10b |
children | 43eab069ca9b |
comparison
equal
deleted
inserted
replaced
11465:3d618420a4b6 | 11466:4830676526e3 |
---|---|
28 import javax.lang.model.element.*; | 28 import javax.lang.model.element.*; |
29 import javax.lang.model.type.*; | 29 import javax.lang.model.type.*; |
30 import javax.lang.model.util.*; | 30 import javax.lang.model.util.*; |
31 import javax.tools.Diagnostic.Kind; | 31 import javax.tools.Diagnostic.Kind; |
32 | 32 |
33 import org.omg.CORBA.*; | |
34 | |
33 import com.oracle.truffle.api.dsl.*; | 35 import com.oracle.truffle.api.dsl.*; |
34 import com.oracle.truffle.api.nodes.*; | 36 import com.oracle.truffle.api.nodes.*; |
35 import com.oracle.truffle.dsl.processor.*; | 37 import com.oracle.truffle.dsl.processor.*; |
36 import com.oracle.truffle.dsl.processor.node.NodeChildData.Cardinality; | 38 import com.oracle.truffle.dsl.processor.node.NodeChildData.Cardinality; |
37 import com.oracle.truffle.dsl.processor.node.NodeChildData.ExecutionKind; | 39 import com.oracle.truffle.dsl.processor.node.NodeChildData.ExecutionKind; |
197 nodes = new ArrayList<>(); | 199 nodes = new ArrayList<>(); |
198 nodes.add(node); | 200 nodes.add(node); |
199 } | 201 } |
200 | 202 |
201 for (NodeData splittedNode : nodes) { | 203 for (NodeData splittedNode : nodes) { |
204 if (templateType.getModifiers().contains(Modifier.PRIVATE) && splittedNode.getSpecializations().size() > 0) { | |
205 splittedNode.addError("Nodes containing the @%s annotation cannot be private.", Specialization.class.getSimpleName()); | |
206 } | |
207 | |
202 finalizeSpecializations(elements, splittedNode); | 208 finalizeSpecializations(elements, splittedNode); |
203 verifyNode(splittedNode, elements); | 209 verifyNode(splittedNode, elements); |
204 createPolymorphicSpecializations(splittedNode); | 210 createPolymorphicSpecializations(splittedNode); |
205 assignShortCircuitsToSpecializations(splittedNode); | 211 assignShortCircuitsToSpecializations(splittedNode); |
206 } | 212 } |