comparison graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/model/TemplateMethod.java @ 18761:a665483c3881

Truffle-DSL: new node layout implementation.
author Christian Humer <christian.humer@gmail.com>
date Mon, 29 Dec 2014 23:38:54 +0100
parents 5ede308adf68
children ae81dd154fb6
comparison
equal deleted inserted replaced
18760:6fa3999631d8 18761:a665483c3881
66 parameterCache.put(returnType.getLocalName(), returnType); 66 parameterCache.put(returnType.getLocalName(), returnType);
67 } 67 }
68 this.id = id; 68 this.id = id;
69 } 69 }
70 70
71 public String createReferenceName() {
72 if (getMethod() == null) {
73 return "-";
74 }
75 return ElementUtils.createReferenceName(getMethod());
76 }
77
71 public int getNaturalOrder() { 78 public int getNaturalOrder() {
72 return naturalOrder; 79 return naturalOrder;
73 } 80 }
74 81
75 public TemplateMethod(TemplateMethod method) { 82 public TemplateMethod(TemplateMethod method) {
158 } 165 }
159 } 166 }
160 return foundParameters; 167 return foundParameters;
161 } 168 }
162 169
170 public Parameter findParameterOrDie(NodeExecutionData execution) {
171 for (Parameter parameter : parameters) {
172 if (parameter.getSpecification().isSignature() && parameter.getSpecification().getExecution() == execution) {
173 return parameter;
174 }
175 }
176 throw new AssertionError("Could not find parameter for execution");
177 }
178
163 public List<Parameter> findByExecutionData(NodeExecutionData execution) { 179 public List<Parameter> findByExecutionData(NodeExecutionData execution) {
164 List<Parameter> foundParameters = new ArrayList<>(); 180 List<Parameter> foundParameters = new ArrayList<>();
165 for (Parameter parameter : getParameters()) { 181 for (Parameter parameter : getParameters()) {
166 ParameterSpec spec = parameter.getSpecification(); 182 ParameterSpec spec = parameter.getSpecification();
167 if (spec != null && spec.getExecution() != null && spec.getExecution().equals(execution) && parameter.getSpecification().isSignature()) { 183 if (spec != null && spec.getExecution() != null && spec.getExecution().equals(execution) && parameter.getSpecification().isSignature()) {