Exemplo n.º 1
0
  private DOMASTNodeLeaf createNode(DOMASTNodeParent parent, IASTNode node) {
    DOMASTNodeParent tree = new DOMASTNodeParent(node);
    parent.addChild(tree);

    // set filter flags
    if (node instanceof IASTProblemHolder || node instanceof IASTProblem) {
      tree.setFiltersFlag(DOMASTNodeLeaf.FLAG_PROBLEM);

      if (node instanceof IASTProblemHolder)
        astProblems =
            (IASTProblem[])
                ArrayUtil.append(
                    IASTProblem.class, astProblems, ((IASTProblemHolder) node).getProblem());
      else astProblems = (IASTProblem[]) ArrayUtil.append(IASTProblem.class, astProblems, node);
    }
    if (node instanceof IASTPreprocessorStatement)
      tree.setFiltersFlag(DOMASTNodeLeaf.FLAG_PREPROCESSOR);
    if (node instanceof IASTPreprocessorIncludeStatement)
      tree.setFiltersFlag(DOMASTNodeLeaf.FLAG_INCLUDE_STATEMENTS);

    return tree;
  }