MCPcopy Create free account
hub / github.com/antlr/codebuff / aggregateAboveRange

Method aggregateAboveRange

output/java_guava/1.4.17/TreeMultiset.java:207–227  ·  view source on GitHub ↗
(Aggregate aggr, @Nullable AvlNode<E> node)

Source from the content-addressed store, hash-verified

205 }
206
207 private long aggregateAboveRange(Aggregate aggr, @Nullable AvlNode<E> node) {
208 if (node == null) {
209 return 0;
210 }
211 int cmp = comparator().compare(range.getUpperEndpoint(), node.elem);
212 if (cmp > 0) {
213 return aggregateAboveRange(aggr, node.right);
214 } else if (cmp == 0) {
215 switch (range.getUpperBoundType()) {
216 case OPEN:
217 return aggr.nodeAggregate(node) + aggr.treeAggregate(node.right);
218 case CLOSED:
219 return aggr.treeAggregate(node.right);
220 default:
221 throw new AssertionError();
222 }
223 } else {
224 return aggr.treeAggregate(node.right) + aggr.nodeAggregate(node)
225 + aggregateAboveRange(aggr, node.left);
226 }
227 }
228
229 @Override
230 public int size() {

Callers 1

aggregateForEntriesMethod · 0.95

Calls 6

comparatorMethod · 0.65
compareMethod · 0.45
getUpperEndpointMethod · 0.45
getUpperBoundTypeMethod · 0.45
nodeAggregateMethod · 0.45
treeAggregateMethod · 0.45

Tested by

no test coverage detected