diff 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
line wrap: on
line diff
--- a/graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/template/ParameterSpec.java	Fri Mar 29 21:39:54 2013 +0100
+++ b/graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/template/ParameterSpec.java	Mon Apr 01 11:52:38 2013 +0200
@@ -38,37 +38,43 @@
 
     private final String name;
     private final List<TypeMirror> allowedTypes;
+    private Cardinality cardinality;
     private final boolean optional;
-    private Cardinality cardinality;
+    private final boolean signature;
     private boolean indexed;
     private boolean local;
 
-    public ParameterSpec(String name, List<TypeMirror> allowedTypes, boolean optional, Cardinality cardinality) {
+    public ParameterSpec(String name, List<TypeMirror> allowedTypes, boolean optional, Cardinality cardinality, boolean signature) {
         this.allowedTypes = allowedTypes;
         this.name = name;
         this.optional = optional;
         this.cardinality = cardinality;
+        this.signature = signature;
     }
 
     /** Type constructor. */
-    public ParameterSpec(String name, TypeMirror singleFixedType, boolean optional) {
-        this(name, Arrays.asList(singleFixedType), optional, Cardinality.ONE);
+    public ParameterSpec(String name, TypeMirror singleFixedType, boolean optional, boolean signature) {
+        this(name, Arrays.asList(singleFixedType), optional, Cardinality.ONE, signature);
     }
 
     /** Type system value constructor. */
-    public ParameterSpec(String name, TypeSystemData typeSystem, boolean optional, Cardinality cardinality) {
-        this(name, typeSystem.getPrimitiveTypeMirrors(), optional, cardinality);
+    public ParameterSpec(String name, TypeSystemData typeSystem, boolean optional, Cardinality cardinality, boolean signature) {
+        this(name, typeSystem.getPrimitiveTypeMirrors(), optional, cardinality, signature);
     }
 
     /** Node value constructor. */
-    public ParameterSpec(String name, NodeData nodeData, boolean optional, Cardinality cardinality) {
-        this(name, nodeTypeMirrors(nodeData), optional, cardinality);
+    public ParameterSpec(String name, NodeData nodeData, boolean optional, Cardinality cardinality, boolean signature) {
+        this(name, nodeTypeMirrors(nodeData), optional, cardinality, signature);
     }
 
     public void setLocal(boolean local) {
         this.local = local;
     }
 
+    public boolean isSignature() {
+        return signature;
+    }
+
     public boolean isLocal() {
         return local;
     }