diff ast/Exp.d @ 79:81813366ef92 new_gen

branch merge
author Anders Halager <halager@gmail.com>
date Fri, 02 May 2008 16:39:04 +0200
parents ad956143dcdc 13eea2c4e60d
children 682e20aa224f
line wrap: on
line diff
--- a/ast/Exp.d	Fri May 02 16:38:31 2008 +0200
+++ b/ast/Exp.d	Fri May 02 16:39:04 2008 +0200
@@ -21,6 +21,7 @@
     ArrayReference,
     Identifier,
     ArrayIdentifier,
+    PointerIdentifier,
     AssignExp,
     CallExp,
     CastExp,
@@ -349,6 +350,28 @@
     Exp exp;
 }
 
+class PointerIdentifier : Identifier
+{
+    this(Identifier pointerOf)
+    {
+        super(ExpType.PointerIdentifier);
+        this.pointerOf = pointerOf;
+        this.name = pointerOf.name;
+    }
+
+    override DType type()
+    {
+        if (myType !is null)
+            return myType;
+        myType = new DPointer(pointerOf.type);
+        return myType;
+    }
+
+    Identifier pointerOf;
+
+    private DType myType;
+}
+
 class ArrayIdentifier : Identifier
 {
     this(Identifier arrayOf)