Package com.google.javascript.jscomp.NodeTraversal

Examples of com.google.javascript.jscomp.NodeTraversal.AbstractPostOrderCallback


  }

  private Set<Node> findNodesWithProperty(Node root, final int prop) {
    final Set<Node> set = Sets.newHashSet();
    NodeTraversal.traverse(
        getLastCompiler(), root, new AbstractPostOrderCallback() {
        @Override
        public void visit(NodeTraversal t, Node node, Node parent) {
          if (node.getBooleanProp(prop)) {
            set.add(node);
          }
View Full Code Here


    }

    @Override
    public void process(Node externs, Node root) {
      NodeTraversal.traverseRoots(compiler, Lists.newArrayList(externs, root),
          new AbstractPostOrderCallback() {
        @Override
        public void visit(NodeTraversal t, Node n, Node parent) {
          if (n.isName() && !parent.isFunction()
              && !parent.isLabel()) {
            assertTrue("Variable " + n.getString() + " should have be declared",
View Full Code Here

      // TODO(tbreisacher): Add a warning if the param is shadowed or reassigned.
      Node argList = cls.classModifier.getFirstChild().getNext();
      Node arg = argList.getFirstChild();
      final String argName = arg.getString();
      NodeTraversal.traverse(compiler, cls.classModifier.getLastChild(),
          new AbstractPostOrderCallback() {
            @Override
            public void visit(NodeTraversal t, Node n, Node parent) {
              if (n.isName() && n.getString().equals(argName)) {
                parent.replaceChild(n, cls.name.cloneTree());
              }
View Full Code Here

   * does not kill <i>foo</i> in the dataflow.</li>
   */
  static void computeEscaped(final Scope jsScope, final Set<Var> escaped,
      AbstractCompiler compiler) {
    // TODO(user): Very good place to store this information somewhere.
    AbstractPostOrderCallback finder = new AbstractPostOrderCallback() {
      @Override
      public void visit(NodeTraversal t, Node n, Node parent) {
        if (jsScope == t.getScope() || !n.isName()
            || parent.isFunction()) {
          return;
View Full Code Here

    if (nameMap.isEmpty()) {
      // Don't traverse if there is nothing to do.
      return;
    }

    new NodeTraversal(compiler, new AbstractPostOrderCallback() {
      @Override
      public void visit(NodeTraversal t, Node n, Node parent) {
        if (n.isName()) {
          String rename = nameMap.get(n.getString());
          if (rename != null) {
View Full Code Here

  private Node searchForParameter(final String parameterName) {
    Preconditions.checkArgument(parameterName != null);

    final Node[] foundNode = new Node[1];

    AbstractPostOrderCallback findParameter = new AbstractPostOrderCallback() {

      @Override
      public void visit(NodeTraversal t, Node n, Node parent) {
        if (n.getParent().isParamList()
            && parameterName.equals(n.getString())) {
View Full Code Here

  private Node searchForFunction(final String functionName) {
    Preconditions.checkArgument(functionName != null);

    final Node[] foundNode = new Node[1];

    AbstractPostOrderCallback findFunction = new AbstractPostOrderCallback() {

      @Override
      public void visit(NodeTraversal t, Node n, Node parent) {
        if (n.isFunction()
            && functionName.equals(NodeUtil.getFunctionName(n))) {
View Full Code Here

  private void createFunctionsAndCallsites(Node jsRoot,
      final DefinitionProvider provider) {
    // Create fake function representing global execution
    mainFunction = createFunction(jsRoot);

    NodeTraversal.traverse(compiler, jsRoot, new AbstractPostOrderCallback() {
      @Override
      public void visit(NodeTraversal t, Node n, Node parent) {
        int nodeType = n.getType();

        if (nodeType == Token.CALL || nodeType == Token.NEW) {
View Full Code Here

  }

  private Set<Node> findNodesWithProperty(Node root, final int prop) {
    final Set<Node> set = Sets.newHashSet();
    NodeTraversal.traverse(
        getLastCompiler(), root, new AbstractPostOrderCallback() {
        @Override
        public void visit(NodeTraversal t, Node node, Node parent) {
          if (node.getBooleanProp(prop)) {
            set.add(node);
          }
View Full Code Here

    }

    @Override
    public void process(Node externs, Node root) {
      NodeTraversal.traverseRoots(compiler, Lists.newArrayList(externs, root),
          new AbstractPostOrderCallback() {
        @Override
        public void visit(NodeTraversal t, Node n, Node parent) {
          if (NodeUtil.isName(n) && !NodeUtil.isFunction(parent)
              && parent.getType() != Token.LABEL) {
            assertTrue("Variable " + n.getString() + " should have be declared",
View Full Code Here

TOP

Related Classes of com.google.javascript.jscomp.NodeTraversal.AbstractPostOrderCallback

Copyright © 2018 www.massapicom. 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.