Package com.google.javascript.rhino

Examples of com.google.javascript.rhino.Node.cloneTree()


      case Token.COMMA: {
        Node lhs = n.getFirstChild();
        MinimizedCondition rhsSubtree =
            computeMinimizedCondition(lhs.getNext().detachFromParent());
        MeasuredNode posTree = MeasuredNode.addNode(
            new Node(Token.COMMA, lhs.cloneTree()).srcref(n),
            rhsSubtree.positive);
        MeasuredNode negTree = MeasuredNode.addNode(
            new Node(Token.COMMA, lhs.cloneTree()).srcref(n),
            rhsSubtree.negative);
        return new MinimizedCondition(posTree, negTree);
View Full Code Here


            computeMinimizedCondition(lhs.getNext().detachFromParent());
        MeasuredNode posTree = MeasuredNode.addNode(
            new Node(Token.COMMA, lhs.cloneTree()).srcref(n),
            rhsSubtree.positive);
        MeasuredNode negTree = MeasuredNode.addNode(
            new Node(Token.COMMA, lhs.cloneTree()).srcref(n),
            rhsSubtree.negative);
        return new MinimizedCondition(posTree, negTree);
      }
      default: {
        MeasuredNode pos = new MeasuredNode(n, 0, false);
View Full Code Here

    if (variable.isVar()) {
      variable = variable.removeFirstChild();
    }
    body.addChildToFront(IR.ifNode(
        IR.not(IR.in(variable.cloneTree(), iterableName.cloneTree())),
        IR.block(IR.continueNode())));
    body.addChildToFront(IR.var(variable.cloneTree(),
        IR.getelem(arrayName.cloneTree(), varName.cloneTree())));
    hoistRoot.getParent().addChildAfter(IR.var(arrayName.cloneTree()), hoistRoot);
    hoistRoot.getParent().addChildAfter(IR.var(varName.cloneTree()), hoistRoot);
View Full Code Here

        IR.block(IR.continueNode())));
    body.addChildToFront(IR.var(variable.cloneTree(),
        IR.getelem(arrayName.cloneTree(), varName.cloneTree())));
    hoistRoot.getParent().addChildAfter(IR.var(arrayName.cloneTree()), hoistRoot);
    hoistRoot.getParent().addChildAfter(IR.var(varName.cloneTree()), hoistRoot);
    hoistRoot.getParent().addChildAfter(IR.var(iterableName.cloneTree()), hoistRoot);

    Node arrayDef = IR.exprResult(IR.assign(arrayName.cloneTree(), IR.arraylit()));
    Node iterDef = IR.exprResult(IR.assign(iterableName.cloneTree(), iterable));
    Node newForIn = IR.forIn(variable.cloneTree(), iterableName,
        IR.block(IR.exprResult(
View Full Code Here

      incr = currentStatement.removeFirstChild();
      body = currentStatement.removeFirstChild();
    } else {
      Preconditions.checkState(currentStatement.isDo());
      firstEntry = IR.name(GENERATOR_DO_WHILE_INITIAL);
      initializer = IR.var(firstEntry.cloneTree(), IR.trueNode());
      incr = IR.assign(firstEntry.cloneTree(), IR.falseNode());

      body = currentStatement.removeFirstChild();
      guard = currentStatement.removeFirstChild();
    }
View Full Code Here

      body = currentStatement.removeFirstChild();
    } else {
      Preconditions.checkState(currentStatement.isDo());
      firstEntry = IR.name(GENERATOR_DO_WHILE_INITIAL);
      initializer = IR.var(firstEntry.cloneTree(), IR.trueNode());
      incr = IR.assign(firstEntry.cloneTree(), IR.falseNode());

      body = currentStatement.removeFirstChild();
      guard = currentStatement.removeFirstChild();
    }
View Full Code Here

    while (name != null) {
      if (name.hasChildren()) {
        enclosingBlock.addChildToBack(
            IR.exprResult(IR.assign(name, name.removeFirstChild())));
      }
      hoistRoot.getParent().addChildAfter(IR.var(name.cloneTree()), hoistRoot);
      name = currentStatement.removeFirstChild();
    }
  }

  /**
 
View Full Code Here

    String m0_after = f;
    String m1_after = g;
    Node nodeG = mainRoot.getFirstChild().getLastChild();
    mainRoot.getFirstChild().removeChild(nodeG);
    mainRoot.getLastChild().addChildrenToBack(nodeG.cloneTree());

    FunctionInformationMap.Builder expected =
      FunctionInformationMap.newBuilder();
    expected.addEntry(
        FunctionInformationMap.Entry.newBuilder()
View Full Code Here

      Node inputValue = dominantReplacements.get(defineName);
      Node finalValue = inputValue != null ?
          inputValue : info.getLastValue();
      if (finalValue != info.initialValue) {
        info.initialValueParent.replaceChild(
            info.initialValue, finalValue.cloneTree());
        compiler.addToDebugLog("Overriding @define variable " + defineName);
        changed = changed ||
            finalValue.getType() != info.initialValue.getType() ||
            !finalValue.isEquivalentTo(info.initialValue);
      }
View Full Code Here

      for (Node key = objLitNode.getFirstChild(); key != null;
           key = key.getNext()) {
        if (key.getString().equals(phRef.getName())) {
          Node valueNode = key.getFirstChild();
          partNode = valueNode.cloneTree();
        }
      }

      if (partNode == null) {
        throw new MalformedException(
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.