Exemplo n.º 1
0
  public void groupIncludes(DOMASTNodeLeaf[] treeIncludes) {
    // loop through the includes and make sure that all of the nodes
    // that are children of the TU are in the proper include (based on offset)
    for (int i = treeIncludes.length - 1; i >= 0; i--) {
      final DOMASTNodeLeaf nodeLeaf = treeIncludes[i];
      if (nodeLeaf == null || !(nodeLeaf.getNode() instanceof IASTPreprocessorIncludeStatement))
        continue;

      final String path = ((IASTPreprocessorIncludeStatement) nodeLeaf.getNode()).getPath();
      final DOMASTNodeLeaf[] children = root.getChildren(false);
      for (final DOMASTNodeLeaf child : children) {
        if (child != null
            && child != nodeLeaf
            && child.getNode().getContainingFilename().equals(path)) {
          root.removeChild(child);
          ((DOMASTNodeParent) nodeLeaf).addChild(child);
        }
      }
    }
  }