PreSequence ret = new PreSequence(o3, s);
ret.drops[o1.length] = o3.length>1;
return ret;
- } else if ("[".equals(head) || "[~".equals(head)) {
- boolean positive = "[".equals(head);
+ } else if ("[".equals(head)) {
Range[] rr = (Range[])walk(tree, 0);
- Range.Set ret = positive ? new Range.Set() : new Range.Set(new Range(true, true));
- if (rr != null)
- for(Range r : rr)
- if (positive) ret.add(r);
- else ret.remove(r);
+ Range.Set ret = new Range.Set();
+ if (rr!=null) for(Range r : rr) ret.add(r);
return set(ret);
}
else return super.walk(tree);
}
-
public Object walk(String tag, Object[] argo) {
if (argo.length==0) return super.walk(tag, argo);
if (argo==null) return tag;