a bug in the variable assignation fixed
[phpeclipse.git] / net.sourceforge.phpeclipse / src / test / PHPParser.jj
index af9d369..0f04260 100644 (file)
@@ -1136,8 +1136,22 @@ Expression Expression() :
   final int pos = SimpleCharStream.getPosition();
 }
 {
-  LOOKAHEAD(2)
-  expr = ConditionalExpression() [ assignOperator = AssignmentOperator() initializer = Expression() ]
+  LOOKAHEAD(1)
+  expr = ConditionalExpression()
+  [ assignOperator = AssignmentOperator()
+    try {
+    {final int errorStart = SimpleCharStream.getPosition();}
+    initializer = Expression()
+    } catch (ParseException e) {
+      if (errorMessage != null) {
+        throw e;
+      }
+      errorMessage = "unexpected token : '"+ e.currentToken.next.image +"', expression expected";
+      errorLevel   = ERROR;
+      errorEnd   = SimpleCharStream.getPosition();
+      throw e;
+    }
+  ]
   {
     if (assignOperator == -1) return expr;
     return new VarAssignation(expr,