dd
[IRC.git] / Robust / src / IR / VarDescriptor.java
diff --git a/Robust/src/IR/VarDescriptor.java b/Robust/src/IR/VarDescriptor.java
new file mode 100644 (file)
index 0000000..f2ed53f
--- /dev/null
@@ -0,0 +1,32 @@
+package IR;
+import IR.Tree.Modifiers;
+import IR.Tree.ExpressionNode;
+
+/**
+ * Descriptor 
+ *
+ * represents a symbol in the language (var name, function name, etc).
+ */
+
+public class VarDescriptor extends Descriptor {
+
+    protected TypeDescriptor td;
+    protected String identifier;
+    protected ExpressionNode en;
+    
+    public VarDescriptor(TypeDescriptor t, String identifier, ExpressionNode e) {
+       super(identifier);
+       this.td=t;
+       this.identifier=identifier;
+       this.en=e;
+        this.safename = "__" + name + "__";
+       this.uniqueid=count++;
+    }
+
+    public String toString() {
+       if (en==null)
+           return td.toString()+" "+identifier+";";
+       else
+           return td.toString()+" "+identifier+"="+en.printNode()+";";
+    }
+}