changeset 91:ac8610aaf622

- Moved parseUnaryExpression() one place up in the method list.
author aziz
date Thu, 05 Jul 2007 21:23:00 +0000
parents a02950cb7036
children 6de2e6e7d872
files trunk/src/Parser.d
diffstat 1 files changed, 50 insertions(+), 50 deletions(-) [+]
line wrap: on
line diff
--- a/trunk/src/Parser.d	Thu Jul 05 21:20:01 2007 +0000
+++ b/trunk/src/Parser.d	Thu Jul 05 21:23:00 2007 +0000
@@ -272,6 +272,56 @@
     return new Expression();
   }
 
+  Expression parseUnaryExpression()
+  {
+    Expression e;
+    switch (token.type)
+    {
+    case T.AndBinary:
+      nT(); e = new AddressExpression(parseUnaryExpression());
+      break;
+    case T.PlusPlus:
+      nT(); e = new PreIncrExpression(parseUnaryExpression());
+      break;
+    case T.MinusMinus:
+      nT(); e = new PreDecrExpression(parseUnaryExpression());
+      break;
+    case T.Mul:
+      nT(); e = new DerefExpression(parseUnaryExpression());
+      break;
+    case T.Minus:
+    case T.Plus:
+      nT(); e = new SignExpression(parseUnaryExpression(), token.type);
+      break;
+    case T.Not:
+      nT(); e = new NotExpression(parseUnaryExpression());
+      break;
+    case T.Tilde:
+      nT(); e = new CompExpression(parseUnaryExpression());
+      break;
+    case T.New:
+      // parseNewExpression();
+      break;
+    case T.Delete:
+      nT();
+      e = new DeleteExpression(parseUnaryExpression());
+      break;
+    case T.Cast:
+      nT();
+      // Type type = parseType();
+      e = new CastExpression(parseUnaryExpression() /*, type*/);
+      break;
+    case T.LParen:
+      // parse ( Type ) . Identifier
+      break;
+    default:
+      e = parsePostExpression(parsePrimaryExpression());
+      break;
+    }
+    assert(e !is null);
+    return e;
+  }
+
   Expression parsePostExpression(Expression e)
   {
     while (1)
@@ -329,56 +379,6 @@
     return e;
   }
 
-  Expression parseUnaryExpression()
-  {
-    Expression e;
-    switch (token.type)
-    {
-    case T.AndBinary:
-      nT(); e = new AddressExpression(parseUnaryExpression());
-      break;
-    case T.PlusPlus:
-      nT(); e = new PreIncrExpression(parseUnaryExpression());
-      break;
-    case T.MinusMinus:
-      nT(); e = new PreDecrExpression(parseUnaryExpression());
-      break;
-    case T.Mul:
-      nT(); e = new DerefExpression(parseUnaryExpression());
-      break;
-    case T.Minus:
-    case T.Plus:
-      nT(); e = new SignExpression(parseUnaryExpression(), token.type);
-      break;
-    case T.Not:
-      nT(); e = new NotExpression(parseUnaryExpression());
-      break;
-    case T.Tilde:
-      nT(); e = new CompExpression(parseUnaryExpression());
-      break;
-    case T.New:
-      // parseNewExpression();
-      break;
-    case T.Delete:
-      nT();
-      e = new DeleteExpression(parseUnaryExpression());
-      break;
-    case T.Cast:
-      nT();
-      // Type type = parseType();
-      e = new CastExpression(parseUnaryExpression() /*, type*/);
-      break;
-    case T.LParen:
-      // parse ( Type ) . Identifier
-      break;
-    default:
-      e = parsePostExpression(parsePrimaryExpression());
-      break;
-    }
-    assert(e !is null);
-    return e;
-  }
-
   Expression parsePrimaryExpression()
   {
     Expression e;