comparison graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/template/ParameterSpec.java @ 8592:a80bf36c6a1e

Refactor to shared template method signature comparison.
author Christian Humer <christian.humer@gmail.com>
date Mon, 01 Apr 2013 11:52:38 +0200
parents 89006c76f737
children 54e227b2e199
comparison
equal deleted inserted replaced
8591:5c58da5b8233 8592:a80bf36c6a1e
36 ONE, MULTIPLE; 36 ONE, MULTIPLE;
37 } 37 }
38 38
39 private final String name; 39 private final String name;
40 private final List<TypeMirror> allowedTypes; 40 private final List<TypeMirror> allowedTypes;
41 private Cardinality cardinality;
41 private final boolean optional; 42 private final boolean optional;
42 private Cardinality cardinality; 43 private final boolean signature;
43 private boolean indexed; 44 private boolean indexed;
44 private boolean local; 45 private boolean local;
45 46
46 public ParameterSpec(String name, List<TypeMirror> allowedTypes, boolean optional, Cardinality cardinality) { 47 public ParameterSpec(String name, List<TypeMirror> allowedTypes, boolean optional, Cardinality cardinality, boolean signature) {
47 this.allowedTypes = allowedTypes; 48 this.allowedTypes = allowedTypes;
48 this.name = name; 49 this.name = name;
49 this.optional = optional; 50 this.optional = optional;
50 this.cardinality = cardinality; 51 this.cardinality = cardinality;
52 this.signature = signature;
51 } 53 }
52 54
53 /** Type constructor. */ 55 /** Type constructor. */
54 public ParameterSpec(String name, TypeMirror singleFixedType, boolean optional) { 56 public ParameterSpec(String name, TypeMirror singleFixedType, boolean optional, boolean signature) {
55 this(name, Arrays.asList(singleFixedType), optional, Cardinality.ONE); 57 this(name, Arrays.asList(singleFixedType), optional, Cardinality.ONE, signature);
56 } 58 }
57 59
58 /** Type system value constructor. */ 60 /** Type system value constructor. */
59 public ParameterSpec(String name, TypeSystemData typeSystem, boolean optional, Cardinality cardinality) { 61 public ParameterSpec(String name, TypeSystemData typeSystem, boolean optional, Cardinality cardinality, boolean signature) {
60 this(name, typeSystem.getPrimitiveTypeMirrors(), optional, cardinality); 62 this(name, typeSystem.getPrimitiveTypeMirrors(), optional, cardinality, signature);
61 } 63 }
62 64
63 /** Node value constructor. */ 65 /** Node value constructor. */
64 public ParameterSpec(String name, NodeData nodeData, boolean optional, Cardinality cardinality) { 66 public ParameterSpec(String name, NodeData nodeData, boolean optional, Cardinality cardinality, boolean signature) {
65 this(name, nodeTypeMirrors(nodeData), optional, cardinality); 67 this(name, nodeTypeMirrors(nodeData), optional, cardinality, signature);
66 } 68 }
67 69
68 public void setLocal(boolean local) { 70 public void setLocal(boolean local) {
69 this.local = local; 71 this.local = local;
72 }
73
74 public boolean isSignature() {
75 return signature;
70 } 76 }
71 77
72 public boolean isLocal() { 78 public boolean isLocal() {
73 return local; 79 return local;
74 } 80 }