changeset 108:469188935d56

- Added ident member to DotIdExpression.
author aziz
date Sun, 08 Jul 2007 15:42:03 +0000
parents 722c05bbd5eb
children d0cc281cacbd
files trunk/src/Expressions.d trunk/src/Parser.d
diffstat 2 files changed, 10 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/trunk/src/Expressions.d	Sun Jul 08 15:22:03 2007 +0000
+++ b/trunk/src/Expressions.d	Sun Jul 08 15:42:03 2007 +0000
@@ -292,8 +292,12 @@
 
 class DotIdExpression : UnaryExpression
 {
-  this(Expression e)
-  { super(e); }
+  string ident;
+  this(Expression e, string ident)
+  {
+    super(e);
+    this.ident = ident;
+  }
 }
 
 class CallExpression : UnaryExpression
--- a/trunk/src/Parser.d	Sun Jul 08 15:22:03 2007 +0000
+++ b/trunk/src/Parser.d	Sun Jul 08 15:42:03 2007 +0000
@@ -98,8 +98,8 @@
         nT();
         if (token.type == T.Identifier)
         {
+          idents ~= token.identifier;
           nT();
-          idents ~= token.srcText;
         }
         else
         {
@@ -200,7 +200,7 @@
     nT();
     if (token.type == T.Identifier)
     {
-      enumName = token.srcText;
+      enumName = token.identifier;
       nT();
     }
 
@@ -547,7 +547,7 @@
         nT();
         if (token.type == T.Identifier)
         {
-          e = new DotIdExpression(e);
+          e = new DotIdExpression(e, token.identifier);
           break;
         }
         else if (token.type == T.New)
@@ -907,10 +907,10 @@
         if (token.type == T.Identifier)
         {
           tident ~= token.identifier;
+          nT();
         }
         else
           errorIfNot(T.Identifier);
-        nT();
       // TODO: parse template instance
 //       if (token.type == T.Not)
 //         parse template instance