/** * Make pattern-tree tips point to same object if they are equal. */ private void fixIdentities(List<Pattern> uniq) { // >>> if not hasattr(self, 'children') if (!(this instanceof BranchPattern)) { return; } if (uniq == null) { uniq = list(set(flat())); } final List<Pattern> children = ((BranchPattern) this).getChildren(); for (int i = 0; i < children.size(); i++) { final Pattern child = children.get(i); if (!(child instanceof BranchPattern)) { assert uniq.contains(child); children.set(i, uniq.get(uniq.indexOf(child))); } else { child.fixIdentities(uniq); } } }
/** * Make pattern-tree tips point to same object if they are equal. */ private void fixIdentities(List<Pattern> uniq) { // >>> if not hasattr(self, 'children') if (!(this instanceof BranchPattern)) { return; } if (uniq == null) { uniq = list(set(flat())); } final List<Pattern> children = ((BranchPattern) this).getChildren(); for (int i = 0; i < children.size(); i++) { final Pattern child = children.get(i); if (!(child instanceof BranchPattern)) { assert uniq.contains(child); children.set(i, uniq.get(uniq.indexOf(child))); } else { child.fixIdentities(uniq); } } }
for (final Pattern c : child.getChildren()) { final List<Pattern> group = list(child.getChildren()); group.addAll(child.getChildren()); group.addAll(children); groups.add(group); final List<Pattern> group = list(child.getChildren()); group.addAll(children); groups.add(group);
for (final Pattern c : child.getChildren()) { final List<Pattern> group = list(child.getChildren()); group.addAll(child.getChildren()); group.addAll(children); groups.add(group); final List<Pattern> group = list(child.getChildren()); group.addAll(children); groups.add(group);
.getChildren(); u.clear(); u.addAll(set(options));
.getChildren(); u.clear(); u.addAll(set(options));