comparison graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/template/ActualParameter.java @ 8310:89006c76f737

Final fields of base node can be optionally passed to builtin specialization method. And a few fixes.
author Christian Humer <christian.humer@gmail.com>
date Fri, 15 Mar 2013 21:18:33 +0100
parents c4c3f50fa9c2
children 5eeade940236
comparison
equal deleted inserted replaced
8280:2ddf84436009 8310:89006c76f737
29 public class ActualParameter { 29 public class ActualParameter {
30 30
31 private final ParameterSpec specification; 31 private final ParameterSpec specification;
32 private final TypeMirror actualType; 32 private final TypeMirror actualType;
33 private TemplateMethod method; 33 private TemplateMethod method;
34 private final String name; 34 private final String localName;
35 private final int index; 35 private final int index;
36 private final boolean implicit; 36 private final boolean implicit;
37 37
38 public ActualParameter(ParameterSpec specification, TypeMirror actualType, int index, boolean implicit) { 38 public ActualParameter(ParameterSpec specification, TypeMirror actualType, int index, boolean implicit) {
39 this.specification = specification; 39 this.specification = specification;
40 this.actualType = actualType; 40 this.actualType = actualType;
41 41
42 this.index = index; 42 this.index = index;
43 this.implicit = implicit; 43 this.implicit = implicit;
44 String valueName = specification.getName() + "Value"; 44 String valueName = specification.getName() + "Value";
45
45 if (specification.isIndexed()) { 46 if (specification.isIndexed()) {
46 valueName = valueName + index; 47 valueName += index;
47 } 48 }
48 this.name = valueName; 49 this.localName = valueName;
49 } 50 }
50 51
51 public boolean isHidden() { 52 public boolean isImplicit() {
52 return implicit; 53 return implicit;
53 } 54 }
54 55
55 public int getIndex() { 56 public int getIndex() {
56 return index; 57 return index;
57 } 58 }
58 59
59 public String getName() { 60 public String getLocalName() {
60 return name; 61 return localName;
61 } 62 }
62 63
63 void setMethod(TemplateMethod method) { 64 void setMethod(TemplateMethod method) {
64 this.method = method; 65 this.method = method;
65 } 66 }