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 }