Package com.google.caja.parser.js

Examples of com.google.caja.parser.js.Operation.children()


            && use.parent.node == gp.node.children().get(0)) {
          Operation operation = gp.cast(Operation.class).node;
          Operator op = operation.getOperator();
          if (op == Operator.ASSIGN) {
            if (!isVisiblePropertyExpr(
                    operation.children().get(1), scopeTree,
                    identifiersExpanding)) {
              return false;
            }
          } else if (op.getAssignmentDelegate() != null) {
            if (!isNumberOrUndefOperator(op.getAssignmentDelegate())) {
View Full Code Here


    if (e instanceof NumberLiteral) { return true; }
    if (e instanceof Operation) {
      Operation op = (Operation) e;
      switch (op.getOperator()) {
        case COMMA:
          Expression last = op.children().get(1);
          return isVisiblePropertyExpr(last, scopeTree, identifiersExpanding);
        // || and && pass through one of their operands unchanged.
        // The addition operator works as follows:
        // 11.6.1 Additive Operator
        //   ...
View Full Code Here

        // which means that (undefined + undefined) is a number, and so if both
        // operands are undefined or numeric, the result is guaranteed to be
        // numeric.
        case LOGICAL_OR: case LOGICAL_AND: case ADDITION:
          return isVisiblePropertyExpr(
              op.children().get(0), scopeTree, identifiersExpanding)
              && isVisiblePropertyExpr(
              op.children().get(1), scopeTree, identifiersExpanding);
        case TERNARY:
          return isVisiblePropertyExpr(
              op.children().get(1), scopeTree, identifiersExpanding)
View Full Code Here

        // numeric.
        case LOGICAL_OR: case LOGICAL_AND: case ADDITION:
          return isVisiblePropertyExpr(
              op.children().get(0), scopeTree, identifiersExpanding)
              && isVisiblePropertyExpr(
              op.children().get(1), scopeTree, identifiersExpanding);
        case TERNARY:
          return isVisiblePropertyExpr(
              op.children().get(1), scopeTree, identifiersExpanding)
              && isVisiblePropertyExpr(
              op.children().get(2), scopeTree, identifiersExpanding);
View Full Code Here

              op.children().get(0), scopeTree, identifiersExpanding)
              && isVisiblePropertyExpr(
              op.children().get(1), scopeTree, identifiersExpanding);
        case TERNARY:
          return isVisiblePropertyExpr(
              op.children().get(1), scopeTree, identifiersExpanding)
              && isVisiblePropertyExpr(
              op.children().get(2), scopeTree, identifiersExpanding);
        case ASSIGN:
          return isVisiblePropertyExpr(
              op.children().get(1), scopeTree, identifiersExpanding);
View Full Code Here

              op.children().get(1), scopeTree, identifiersExpanding);
        case TERNARY:
          return isVisiblePropertyExpr(
              op.children().get(1), scopeTree, identifiersExpanding)
              && isVisiblePropertyExpr(
              op.children().get(2), scopeTree, identifiersExpanding);
        case ASSIGN:
          return isVisiblePropertyExpr(
              op.children().get(1), scopeTree, identifiersExpanding);
        default:
          if (isNumberOrUndefOperator(op.getOperator())) {
View Full Code Here

              op.children().get(1), scopeTree, identifiersExpanding)
              && isVisiblePropertyExpr(
              op.children().get(2), scopeTree, identifiersExpanding);
        case ASSIGN:
          return isVisiblePropertyExpr(
              op.children().get(1), scopeTree, identifiersExpanding);
        default:
          if (isNumberOrUndefOperator(op.getOperator())) {
            return true;
          }
          break;
View Full Code Here

    } else if (operand instanceof Operation) {
      Operation op = (Operation) operand;
      switch (op.getOperator()) {
        case SQUARE_BRACKET:
          return sideEffectingReadAssignOperand(
              op.children().get(0), op.children().get(1), scope);
        case MEMBER_ACCESS:
          return sideEffectingReadAssignOperand(
              op.children().get(0), toStringLiteral(op.children().get(1)),
              scope);
        default: break;
View Full Code Here

    } else if (operand instanceof Operation) {
      Operation op = (Operation) operand;
      switch (op.getOperator()) {
        case SQUARE_BRACKET:
          return sideEffectingReadAssignOperand(
              op.children().get(0), op.children().get(1), scope);
        case MEMBER_ACCESS:
          return sideEffectingReadAssignOperand(
              op.children().get(0), toStringLiteral(op.children().get(1)),
              scope);
        default: break;
View Full Code Here

        case SQUARE_BRACKET:
          return sideEffectingReadAssignOperand(
              op.children().get(0), op.children().get(1), scope);
        case MEMBER_ACCESS:
          return sideEffectingReadAssignOperand(
              op.children().get(0), toStringLiteral(op.children().get(1)),
              scope);
        default: break;
      }
    }
    throw new IllegalArgumentException("Not an lvalue : " + operand);
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.