Examples of IncrementExpression


Examples of com.google.minijoe.compiler.ast.IncrementExpression

    // to ensure that -0 keeps its proper value.

    // unary expressions are right associative
    if (nextToken == Token.OPERATOR_PLUSPLUS) {
      readToken(Token.OPERATOR_PLUSPLUS);
      return new IncrementExpression(parseUnaryExpression(), 1, false);
    } else if (nextToken == Token.OPERATOR_MINUSMINUS) {
      readToken(Token.OPERATOR_MINUSMINUS);
      return new IncrementExpression(parseUnaryExpression(), -1, false);
    } else if (nextToken == Token.OPERATOR_PLUS
            || nextToken == Token.OPERATOR_MINUS
            || nextToken == Token.OPERATOR_BITWISENOT
            || nextToken == Token.OPERATOR_LOGICALNOT
            || nextToken == Token.KEYWORD_VOID
View Full Code Here

Examples of com.google.minijoe.compiler.ast.IncrementExpression

    Expression expression = parseMemberExpression(false);

    // postfix expressions aren't associative
    if (nextToken == Token.OPERATOR_PLUSPLUS) {
      readToken(Token.OPERATOR_PLUSPLUS);
      return new IncrementExpression(expression, 1, true);
    } else if (nextToken == Token.OPERATOR_MINUSMINUS) {
      readToken(Token.OPERATOR_MINUSMINUS);
      return new IncrementExpression(expression, -1, true);
    } else {
      return expression;
    }
  }
View Full Code Here

Examples of com.google.minijoe.compiler.ast.IncrementExpression

      writeOpGet(identifier);
      ((AssignmentOperatorExpression) pa).rightExpression.visitExpression(this);
      writeBinaryOperator(((AssignmentOperatorExpression) pa).type);
      writeOpSet(identifier);
    } else if (pa instanceof IncrementExpression) {
      IncrementExpression ie = (IncrementExpression) pa;
      writeOpGet(identifier);
      writeXop(JsFunction.XOP_ADD, ((IncrementExpression) pa).value);
      writeOpSet(identifier);
      if (ie.post) {
        writeXop(JsFunction.XOP_ADD, -((IncrementExpression) pa).value);
View Full Code Here

Examples of com.google.minijoe.compiler.ast.IncrementExpression

      writeBinaryOperator(aoe.type);
      // move result value below object and property
      writeOp(JsFunction.OP_ROT);
      writeOp(JsFunction.OP_SET);
    } else if (pa instanceof IncrementExpression) {
      IncrementExpression ie = (IncrementExpression) pa;
      expression.leftExpression.visitExpression(this);
      expression.rightExpression.visitExpression(this);
      // duplicate object and member
      writeOp(JsFunction.OP_DDUP);
      writeOp(JsFunction.OP_GET);
View Full Code Here

Examples of com.google.minijoe.compiler.ast.IncrementExpression

  }

  public void testPrefixIncrementExpression() throws CompilerException {
    assertParserOutput(
        new ExpressionStatement(
            new IncrementExpression(
                new Identifier("foo"), 1, false
            )
        ),
        "++foo;"
    );
    assertParserOutput(
        new ExpressionStatement(
            new IncrementExpression(
                new IncrementExpression(
                    new Identifier("foo"), 1, true
                ),
                1, false
            )
        ),
        "++foo++;"
    );
    assertParserOutput(
        new ExpressionStatement(
            new IncrementExpression(
                new IncrementExpression(
                    new Identifier("foo"), 1, false
                ), 1, false
            )
        ),
        "++++foo;"
View Full Code Here

Examples of com.google.minijoe.compiler.ast.IncrementExpression

  }

  public void testPrefixDecrementExpression() throws CompilerException {
    assertParserOutput(
        new ExpressionStatement(
            new IncrementExpression(
                new Identifier("foo"), -1, false
            )
        ),
        "--foo;"
    );
    assertParserOutput(
        new ExpressionStatement(
            new IncrementExpression(
                new IncrementExpression(
                    new Identifier("foo"), -1, true
                ), -1, false
            )
        ),
        "--foo--;"
    );
    assertParserOutput(
        new ExpressionStatement(
            new IncrementExpression(
                new IncrementExpression(
                    new Identifier("foo"), -1, false
                ), -1, false
            )
        ),
        "----foo;"
View Full Code Here

Examples of com.google.minijoe.compiler.ast.IncrementExpression

        "+foo;"
    );
    assertParserOutput(
        new ExpressionStatement(
            new UnaryOperatorExpression(
                new IncrementExpression(
                    new Identifier("foo"), 1, true
                ),
                Token.OPERATOR_PLUS
            )
        ),
        "+foo++;"
    );
    assertParserOutput(
        new ExpressionStatement(
            new IncrementExpression(
                new UnaryOperatorExpression(
                    new Identifier("foo"),
                    Token.OPERATOR_PLUS
                ), 1, false
            )
View Full Code Here

Examples of com.google.minijoe.compiler.ast.IncrementExpression

        "-foo;"
    );
    assertParserOutput(
        new ExpressionStatement(
            new UnaryOperatorExpression(
                new IncrementExpression(
                    new Identifier("foo"),
                    -1, true
                ), Token.OPERATOR_MINUS
            )
        ),
        "-foo--;"
    );
    assertParserOutput(
        new ExpressionStatement(
            new IncrementExpression(
                new UnaryOperatorExpression(
                    new Identifier("foo"),
                    Token.OPERATOR_MINUS
                ), -1, false
            )
View Full Code Here

Examples of com.google.minijoe.compiler.ast.IncrementExpression

  }

  public void testPostfixIncrementExpression() throws CompilerException {
    assertParserOutput(
        new ExpressionStatement(
            new IncrementExpression(
                new Identifier("foo"), +1, true
            )
        ),
        "foo++;"
    );
    assertParserOutput(
        new ExpressionStatement(
            new IncrementExpression(
                new PropertyExpression(
                    new Identifier("foo"),
                    new StringLiteral("bar")
                ),
                1,
View Full Code Here

Examples of com.google.minijoe.compiler.ast.IncrementExpression

  }

  public void testPostfixDecrementExpression() throws CompilerException {
    assertParserOutput(
        new ExpressionStatement(
            new IncrementExpression(
                new Identifier("foo"), -1, true
            )
        ),
        "foo--;"
    );
    assertParserOutput(
        new ExpressionStatement(
            new IncrementExpression(
                new PropertyExpression(
                    new Identifier("foo"),
                    new StringLiteral("bar")
                ),
                -1,
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.