Mercurial > projects > dang
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)