class ExternExportsPass {
@Override
public void process(Node externs, Node root) {
new NodeTraversal(compiler, this).traverse(root);
// Sort by path length to ensure that the longer
// paths (which may depend on the shorter ones)
// come later.
Set<Export> sorted =
new TreeSet<Export>(new Comparator<Export>() {
@Override
public int compare(Export e1, Export e2) {
return e1.getExportedPath().compareTo(e2.getExportedPath());
}
});
sorted.addAll(exports);
for (Export export : sorted) {
export.generateExterns();
}
}
}