소스 검색

Fixing unary expression parsing

Sebastien Ros 11 년 전
부모
커밋
868f67421c
1개의 변경된 파일14개의 추가작업 그리고 2개의 파일을 삭제
  1. 14 2
      Jint/Parser/JavascriptParser.cs

+ 14 - 2
Jint/Parser/JavascriptParser.cs

@@ -1744,15 +1744,27 @@ namespace Jint.Parser
 
         public UnaryExpression CreateUnaryExpression(string op, Expression argument)
         {
-            return new UpdateExpression
+            if (op == "++" || op == "--")
+            {
+                return new UpdateExpression
                 {
                     Type = SyntaxNodes.UpdateExpression,
                     Operator = UnaryExpression.ParseUnaryOperator(op),
                     Argument = argument,
-                    Prefix = (op == "++" || op == "--")
+                    Prefix = true
                 };
+            }
+
+            return new UnaryExpression
+            {
+                Type = SyntaxNodes.UnaryExpression,
+                Operator = UnaryExpression.ParseUnaryOperator(op),
+                Argument = argument,
+                Prefix = true
+            };
         }
 
+
         public VariableDeclaration CreateVariableDeclaration(IEnumerable<VariableDeclarator> declarations, string kind)
         {
             var variableDeclaration = new VariableDeclaration