1 Clazz.load(["java.util.AbstractCollection","$.AbstractMap","$.AbstractSet","$.Iterator","$.MapEntry","$.Set","$.SortedMap"],"java.util.TreeMap",["java.lang.IllegalArgumentException","$.IllegalStateException","java.util.ConcurrentModificationException","$.NoSuchElementException"],function(){
\r
2 c$=Clazz.decorateAsClass(function(){
\r
5 this.$comparator=null;
\r
8 Clazz.instantialize(this,arguments);
\r
9 },java.util,"TreeMap",java.util.AbstractMap,[java.util.SortedMap,Cloneable,java.io.Serializable]);
\r
10 c$.toComparable=Clazz.defineMethod(c$,"toComparable",
\r
13 },$fz.isPrivate=true,$fz),"~O");
\r
14 Clazz.makeConstructor(c$,
\r
15 function(comparator){
\r
16 Clazz.superConstructor(this,java.util.TreeMap,[]);
\r
17 this.$comparator=comparator;
\r
18 },"java.util.Comparator");
\r
19 Clazz.makeConstructor(c$,
\r
24 Clazz.makeConstructor(c$,
\r
26 this.construct(map.comparator());
\r
27 var it=map.entrySet().iterator();
\r
29 var entry=it.next();
\r
30 var last=new java.util.TreeMap.Entry(entry.getKey(),entry.getValue());
\r
33 while(it.hasNext()){
\r
35 var x=new java.util.TreeMap.Entry(entry.getKey(),entry.getValue());
\r
42 }},"java.util.SortedMap");
\r
43 Clazz.defineMethod(c$,"balance",
\r
47 while(x!==this.root&&x.parent.color){
\r
48 if(x.parent===x.parent.parent.left){
\r
49 y=x.parent.parent.right;
\r
50 if(y!=null&&y.color){
\r
51 x.parent.color=false;
\r
53 x.parent.parent.color=true;
\r
56 if(x===x.parent.right){
\r
59 }x.parent.color=false;
\r
60 x.parent.parent.color=true;
\r
61 this.rightRotate(x.parent.parent);
\r
63 y=x.parent.parent.left;
\r
64 if(y!=null&&y.color){
\r
65 x.parent.color=false;
\r
67 x.parent.parent.color=true;
\r
70 if(x===x.parent.left){
\r
72 this.rightRotate(x);
\r
73 }x.parent.color=false;
\r
74 x.parent.parent.color=true;
\r
75 this.leftRotate(x.parent.parent);
\r
77 this.root.color=false;
\r
78 },"java.util.TreeMap.Entry");
\r
79 Clazz.overrideMethod(c$,"clear",
\r
85 Clazz.defineMethod(c$,"clone",
\r
88 var clone=Clazz.superCall(this,java.util.TreeMap,"clone",[]);
\r
89 clone.$entrySet=null;
\r
90 if(this.root!=null){
\r
91 clone.root=this.root.clone(null);
\r
94 if(Clazz.instanceOf(e,CloneNotSupportedException)){
\r
101 Clazz.overrideMethod(c$,"comparator",
\r
103 return this.$comparator;
\r
105 Clazz.overrideMethod(c$,"containsKey",
\r
107 return this.find(key)!=null;
\r
109 Clazz.defineMethod(c$,"containsValue",
\r
111 if(this.root!=null){
\r
112 return this.containsValue(this.root,value);
\r
115 Clazz.defineMethod(c$,"containsValue",
\r
116 ($fz=function(node,value){
\r
117 if(value==null?node.value==null:value.equals(node.value)){
\r
119 }if(node.left!=null){
\r
120 if(this.containsValue(node.left,value)){
\r
122 }}if(node.right!=null){
\r
123 if(this.containsValue(node.right,value)){
\r
126 },$fz.isPrivate=true,$fz),"java.util.TreeMap.Entry,~O");
\r
127 Clazz.overrideMethod(c$,"entrySet",
\r
129 if(this.$entrySet==null){
\r
130 this.$entrySet=((Clazz.isClassDefined("java.util.TreeMap$1")?0:java.util.TreeMap.$TreeMap$1$()),Clazz.innerTypeInstance(java.util.TreeMap$1,this,null));
\r
131 }return this.$entrySet;
\r
133 Clazz.defineMethod(c$,"find",
\r
134 ($fz=function(keyObj){
\r
138 if(this.$comparator==null){
\r
139 object=java.util.TreeMap.toComparable(key);
\r
142 result=object!=null?object.compareTo(x.key):this.$comparator.compare(key,x.key);
\r
145 }x=result<0?x.left:x.right;
\r
148 },$fz.isPrivate=true,$fz),"~O");
\r
149 Clazz.defineMethod(c$,"findAfter",
\r
154 if(this.$comparator==null){
\r
155 object=java.util.TreeMap.toComparable(key);
\r
159 result=object!=null?object.compareTo(x.key):this.$comparator.compare(key,x.key);
\r
170 Clazz.defineMethod(c$,"findBefore",
\r
174 if(this.$comparator==null){
\r
175 object=java.util.TreeMap.toComparable(key);
\r
179 result=object!=null?object.compareTo(x.key):this.$comparator.compare(key,x.key);
\r
188 Clazz.overrideMethod(c$,"firstKey",
\r
190 if(this.root!=null){
\r
191 return java.util.TreeMap.minimum(this.root).key;
\r
192 }throw new java.util.NoSuchElementException();
\r
194 Clazz.defineMethod(c$,"fixup",
\r
197 while(x!==this.root&&!x.color){
\r
198 if(x===x.parent.left){
\r
202 continue;}if(w.color){
\r
204 x.parent.color=true;
\r
205 this.leftRotate(x.parent);
\r
209 continue;}}if((w.left==null||!w.left.color)&&(w.right==null||!w.right.color)){
\r
213 if(w.right==null||!w.right.color){
\r
214 w.left.color=false;
\r
216 this.rightRotate(w);
\r
218 }w.color=x.parent.color;
\r
219 x.parent.color=false;
\r
220 w.right.color=false;
\r
221 this.leftRotate(x.parent);
\r
227 continue;}if(w.color){
\r
229 x.parent.color=true;
\r
230 this.rightRotate(x.parent);
\r
234 continue;}}if((w.left==null||!w.left.color)&&(w.right==null||!w.right.color)){
\r
238 if(w.left==null||!w.left.color){
\r
239 w.right.color=false;
\r
241 this.leftRotate(w);
\r
243 }w.color=x.parent.color;
\r
244 x.parent.color=false;
\r
245 w.left.color=false;
\r
246 this.rightRotate(x.parent);
\r
250 },$fz.isPrivate=true,$fz),"java.util.TreeMap.Entry");
\r
251 Clazz.overrideMethod(c$,"get",
\r
253 var node=this.find(key);
\r
258 Clazz.overrideMethod(c$,"headMap",
\r
260 if(this.$comparator==null){
\r
261 java.util.TreeMap.toComparable(endKey).compareTo(endKey);
\r
263 this.$comparator.compare(endKey,endKey);
\r
264 }return new java.util.TreeMap.SubMap(this,endKey);
\r
266 Clazz.overrideMethod(c$,"keySet",
\r
268 if(this.$keySet==null){
\r
269 this.$keySet=((Clazz.isClassDefined("java.util.TreeMap$2")?0:java.util.TreeMap.$TreeMap$2$()),Clazz.innerTypeInstance(java.util.TreeMap$2,this,null));
\r
270 }return this.$keySet;
\r
272 Clazz.overrideMethod(c$,"lastKey",
\r
274 if(this.root!=null){
\r
275 return java.util.TreeMap.maximum(this.root).key;
\r
276 }throw new java.util.NoSuchElementException();
\r
278 Clazz.defineMethod(c$,"leftRotate",
\r
284 }y.parent=x.parent;
\r
285 if(x.parent==null){
\r
288 if(x===x.parent.left){
\r
294 },$fz.isPrivate=true,$fz),"java.util.TreeMap.Entry");
\r
295 c$.maximum=Clazz.defineMethod(c$,"maximum",
\r
297 while(x.right!=null){
\r
301 },"java.util.TreeMap.Entry");
\r
302 c$.minimum=Clazz.defineMethod(c$,"minimum",
\r
304 while(x.left!=null){
\r
308 },"java.util.TreeMap.Entry");
\r
309 c$.predecessor=Clazz.defineMethod(c$,"predecessor",
\r
312 return java.util.TreeMap.maximum(x.left);
\r
314 while(y!=null&&x===y.left){
\r
319 },"java.util.TreeMap.Entry");
\r
320 Clazz.overrideMethod(c$,"put",
\r
321 function(key,value){
\r
322 var entry=this.rbInsert(key);
\r
323 var result=entry.value;
\r
327 Clazz.defineMethod(c$,"rbDelete",
\r
329 var y=z.left==null||z.right==null?z:java.util.TreeMap.successor(z);
\r
330 var x=y.left!=null?y.left:y.right;
\r
333 }if(y.parent==null){
\r
335 }else if(y===y.parent.left){
\r
343 }if(!y.color&&this.root!=null){
\r
345 this.fixup(y.parent);
\r
349 },"java.util.TreeMap.Entry");
\r
350 Clazz.defineMethod(c$,"rbInsert",
\r
351 ($fz=function(object){
\r
356 if(this.$comparator==null){
\r
357 key=java.util.TreeMap.toComparable(object);
\r
361 result=key!=null?key.compareTo(x.key):this.$comparator.compare(object,x.key);
\r
364 }x=result<0?x.left:x.right;
\r
368 var z=new java.util.TreeMap.Entry(object);
\r
370 return this.root=z;
\r
378 },$fz.isPrivate=true,$fz),"~O");
\r
379 Clazz.overrideMethod(c$,"remove",
\r
381 var node=this.find(key);
\r
384 }var result=node.value;
\r
385 this.rbDelete(node);
\r
388 Clazz.defineMethod(c$,"rightRotate",
\r
394 }y.parent=x.parent;
\r
395 if(x.parent==null){
\r
398 if(x===x.parent.right){
\r
404 },$fz.isPrivate=true,$fz),"java.util.TreeMap.Entry");
\r
405 Clazz.overrideMethod(c$,"size",
\r
409 Clazz.overrideMethod(c$,"subMap",
\r
410 function(startKey,endKey){
\r
411 if(this.$comparator==null){
\r
412 if(java.util.TreeMap.toComparable(startKey).compareTo(endKey)<=0){
\r
413 return new java.util.TreeMap.SubMap(startKey,this,endKey);
\r
415 if(this.$comparator.compare(startKey,endKey)<=0){
\r
416 return new java.util.TreeMap.SubMap(startKey,this,endKey);
\r
417 }}throw new IllegalArgumentException();
\r
419 c$.successor=Clazz.defineMethod(c$,"successor",
\r
422 return java.util.TreeMap.minimum(x.right);
\r
424 while(y!=null&&x===y.right){
\r
429 },"java.util.TreeMap.Entry");
\r
430 Clazz.overrideMethod(c$,"tailMap",
\r
431 function(startKey){
\r
432 if(this.$comparator==null){
\r
433 java.util.TreeMap.toComparable(startKey).compareTo(startKey);
\r
435 this.$comparator.compare(startKey,startKey);
\r
436 }return new java.util.TreeMap.SubMap(startKey,this);
\r
438 Clazz.overrideMethod(c$,"values",
\r
440 if(this.valuesCollection==null){
\r
441 this.valuesCollection=((Clazz.isClassDefined("java.util.TreeMap$3")?0:java.util.TreeMap.$TreeMap$3$()),Clazz.innerTypeInstance(java.util.TreeMap$3,this,null));
\r
442 }return this.valuesCollection;
\r
444 c$.$TreeMap$1$=function(){
\r
445 Clazz.pu$h(self.c$);
\r
446 c$=Clazz.declareAnonymous(java.util,"TreeMap$1",java.util.AbstractSet);
\r
447 Clazz.overrideMethod(c$,"size",
\r
449 return this.b$["java.util.TreeMap"].$size;
\r
451 Clazz.overrideMethod(c$,"clear",
\r
453 this.b$["java.util.TreeMap"].clear();
\r
455 Clazz.overrideMethod(c$,"contains",
\r
457 if(Clazz.instanceOf(object,java.util.Map.Entry)){
\r
459 var v1=this.b$["java.util.TreeMap"].get(entry.getKey());
\r
460 var v2=entry.getValue();
\r
461 return v1==null?v2==null:v1.equals(v2);
\r
464 Clazz.defineMethod(c$,"iterator",
\r
466 return new java.util.TreeMap.UnboundedEntryIterator(this.b$["java.util.TreeMap"]);
\r
470 c$.$TreeMap$2$=function(){
\r
471 Clazz.pu$h(self.c$);
\r
472 c$=Clazz.declareAnonymous(java.util,"TreeMap$2",java.util.AbstractSet);
\r
473 Clazz.overrideMethod(c$,"contains",
\r
475 return this.b$["java.util.TreeMap"].containsKey(object);
\r
477 Clazz.overrideMethod(c$,"size",
\r
479 return this.b$["java.util.TreeMap"].$size;
\r
481 Clazz.overrideMethod(c$,"clear",
\r
483 this.b$["java.util.TreeMap"].clear();
\r
485 Clazz.overrideMethod(c$,"iterator",
\r
487 return new java.util.TreeMap.UnboundedKeyIterator(this.b$["java.util.TreeMap"]);
\r
491 c$.$TreeMap$3$=function(){
\r
492 Clazz.pu$h(self.c$);
\r
493 c$=Clazz.declareAnonymous(java.util,"TreeMap$3",java.util.AbstractCollection);
\r
494 Clazz.overrideMethod(c$,"contains",
\r
496 return this.b$["java.util.TreeMap"].containsValue(object);
\r
498 Clazz.overrideMethod(c$,"size",
\r
500 return this.b$["java.util.TreeMap"].$size;
\r
502 Clazz.overrideMethod(c$,"clear",
\r
504 this.b$["java.util.TreeMap"].clear();
\r
506 Clazz.overrideMethod(c$,"iterator",
\r
508 return new java.util.TreeMap.UnboundedValueIterator(this.b$["java.util.TreeMap"]);
\r
512 Clazz.pu$h(self.c$);
\r
513 c$=Clazz.decorateAsClass(function(){
\r
518 Clazz.instantialize(this,arguments);
\r
519 },java.util.TreeMap,"Entry",java.util.MapEntry);
\r
520 Clazz.defineMethod(c$,"clone",
\r
522 var b=Clazz.superCall(this,java.util.TreeMap.Entry,"clone",[]);
\r
524 if(this.left!=null){
\r
525 b.left=this.left.clone(b);
\r
526 }if(this.right!=null){
\r
527 b.right=this.right.clone(b);
\r
529 },"java.util.TreeMap.Entry");
\r
531 Clazz.pu$h(self.c$);
\r
532 c$=Clazz.decorateAsClass(function(){
\r
533 this.backingMap=null;
\r
534 this.expectedModCount=0;
\r
536 this.lastNode=null;
\r
537 Clazz.instantialize(this,arguments);
\r
538 },java.util.TreeMap,"AbstractMapIterator");
\r
539 Clazz.makeConstructor(c$,
\r
542 this.expectedModCount=a.modCount;
\r
544 },"java.util.TreeMap,java.util.TreeMap.Entry");
\r
545 Clazz.defineMethod(c$,"hasNext",
\r
547 return this.node!=null;
\r
549 Clazz.defineMethod(c$,"remove",
\r
551 if(this.expectedModCount==this.backingMap.modCount){
\r
552 if(this.lastNode!=null){
\r
553 this.backingMap.rbDelete(this.lastNode);
\r
554 this.lastNode=null;
\r
555 this.expectedModCount++;
\r
557 throw new IllegalStateException();
\r
559 throw new java.util.ConcurrentModificationException();
\r
561 Clazz.defineMethod(c$,"makeNext",
\r
563 if(this.expectedModCount!=this.backingMap.modCount){
\r
564 throw new java.util.ConcurrentModificationException();
\r
565 }else if(this.node==null){
\r
566 throw new java.util.NoSuchElementException();
\r
567 }this.lastNode=this.node;
\r
568 this.node=java.util.TreeMap.successor(this.node);
\r
571 Clazz.pu$h(self.c$);
\r
572 c$=Clazz.declareType(java.util.TreeMap,"UnboundedEntryIterator",java.util.TreeMap.AbstractMapIterator,java.util.Iterator);
\r
573 Clazz.makeConstructor(c$,
\r
575 Clazz.superConstructor(this,java.util.TreeMap.UnboundedEntryIterator,[a,a.root==null?null:java.util.TreeMap.minimum(a.root)]);
\r
576 },"java.util.TreeMap");
\r
577 Clazz.overrideMethod(c$,"next",
\r
580 return this.lastNode;
\r
583 Clazz.pu$h(self.c$);
\r
584 c$=Clazz.declareType(java.util.TreeMap,"UnboundedKeyIterator",java.util.TreeMap.AbstractMapIterator,java.util.Iterator);
\r
585 Clazz.makeConstructor(c$,
\r
587 Clazz.superConstructor(this,java.util.TreeMap.UnboundedKeyIterator,[a,a.root==null?null:java.util.TreeMap.minimum(a.root)]);
\r
588 },"java.util.TreeMap");
\r
589 Clazz.overrideMethod(c$,"next",
\r
592 return this.lastNode.key;
\r
595 Clazz.pu$h(self.c$);
\r
596 c$=Clazz.declareType(java.util.TreeMap,"UnboundedValueIterator",java.util.TreeMap.AbstractMapIterator,java.util.Iterator);
\r
597 Clazz.makeConstructor(c$,
\r
599 Clazz.superConstructor(this,java.util.TreeMap.UnboundedValueIterator,[a,a.root==null?null:java.util.TreeMap.minimum(a.root)]);
\r
600 },"java.util.TreeMap");
\r
601 Clazz.overrideMethod(c$,"next",
\r
604 return this.lastNode.value;
\r
607 Clazz.pu$h(self.c$);
\r
608 c$=Clazz.decorateAsClass(function(){
\r
611 Clazz.instantialize(this,arguments);
\r
612 },java.util.TreeMap,"ComparatorBoundedIterator",java.util.TreeMap.AbstractMapIterator);
\r
613 Clazz.makeConstructor(c$,
\r
615 Clazz.superConstructor(this,java.util.TreeMap.ComparatorBoundedIterator,[a,b]);
\r
617 this.cmp=a.comparator();
\r
618 },"java.util.TreeMap,java.util.TreeMap.Entry,~O");
\r
619 Clazz.defineMethod(c$,"cleanNext",
\r
621 if(this.node!=null&&this.cmp.compare(this.endKey,this.node.key)<=0){
\r
624 Clazz.overrideMethod(c$,"hasNext",
\r
626 return(this.node!=null&&this.endKey!=null)&&(this.cmp.compare(this.node.key,this.endKey)<0);
\r
629 Clazz.pu$h(self.c$);
\r
630 c$=Clazz.declareType(java.util.TreeMap,"ComparatorBoundedEntryIterator",java.util.TreeMap.ComparatorBoundedIterator,java.util.Iterator);
\r
631 Clazz.overrideMethod(c$,"next",
\r
635 return this.lastNode;
\r
638 Clazz.pu$h(self.c$);
\r
639 c$=Clazz.declareType(java.util.TreeMap,"ComparatorBoundedKeyIterator",java.util.TreeMap.ComparatorBoundedIterator,java.util.Iterator);
\r
640 Clazz.overrideMethod(c$,"next",
\r
644 return this.lastNode.key;
\r
647 Clazz.pu$h(self.c$);
\r
648 c$=Clazz.declareType(java.util.TreeMap,"ComparatorBoundedValueIterator",java.util.TreeMap.ComparatorBoundedIterator,java.util.Iterator);
\r
649 Clazz.overrideMethod(c$,"next",
\r
653 return this.lastNode.value;
\r
656 Clazz.pu$h(self.c$);
\r
657 c$=Clazz.decorateAsClass(function(){
\r
659 Clazz.instantialize(this,arguments);
\r
660 },java.util.TreeMap,"ComparableBoundedIterator",java.util.TreeMap.AbstractMapIterator);
\r
661 Clazz.makeConstructor(c$,
\r
663 Clazz.superConstructor(this,java.util.TreeMap.ComparableBoundedIterator,[a,b]);
\r
665 },"java.util.TreeMap,java.util.TreeMap.Entry,Comparable");
\r
666 Clazz.defineMethod(c$,"cleanNext",
\r
668 if((this.node!=null)&&(this.endKey.compareTo(this.node.key)<=0)){
\r
671 Clazz.overrideMethod(c$,"hasNext",
\r
673 return(this.node!=null)&&(this.endKey.compareTo(this.node.key)>0);
\r
676 Clazz.pu$h(self.c$);
\r
677 c$=Clazz.declareType(java.util.TreeMap,"ComparableBoundedEntryIterator",java.util.TreeMap.ComparableBoundedIterator,java.util.Iterator);
\r
678 Clazz.overrideMethod(c$,"next",
\r
682 return this.lastNode;
\r
685 Clazz.pu$h(self.c$);
\r
686 c$=Clazz.declareType(java.util.TreeMap,"ComparableBoundedKeyIterator",java.util.TreeMap.ComparableBoundedIterator,java.util.Iterator);
\r
687 Clazz.overrideMethod(c$,"next",
\r
691 return this.lastNode.key;
\r
694 Clazz.pu$h(self.c$);
\r
695 c$=Clazz.declareType(java.util.TreeMap,"ComparableBoundedValueIterator",java.util.TreeMap.ComparableBoundedIterator,java.util.Iterator);
\r
696 Clazz.overrideMethod(c$,"next",
\r
700 return this.lastNode.value;
\r
703 Clazz.pu$h(self.c$);
\r
704 c$=Clazz.decorateAsClass(function(){
\r
705 this.backingMap=null;
\r
706 this.hasStart=false;
\r
708 this.startKey=null;
\r
710 this.$entrySet=null;
\r
711 Clazz.instantialize(this,arguments);
\r
712 },java.util.TreeMap,"SubMap",java.util.AbstractMap,[java.util.SortedMap,java.io.Serializable]);
\r
713 Clazz.makeConstructor(c$,
\r
715 Clazz.superConstructor(this,java.util.TreeMap.SubMap,[]);
\r
717 this.hasStart=true;
\r
719 },"~O,java.util.TreeMap");
\r
720 Clazz.makeConstructor(c$,
\r
722 Clazz.superConstructor(this,java.util.TreeMap.SubMap,[]);
\r
724 this.hasStart=this.hasEnd=true;
\r
727 },"~O,java.util.TreeMap,~O");
\r
728 Clazz.makeConstructor(c$,
\r
730 Clazz.superConstructor(this,java.util.TreeMap.SubMap,[]);
\r
734 },"java.util.TreeMap,~O");
\r
735 Clazz.overrideMethod(c$,"comparator",
\r
737 return this.backingMap.comparator();
\r
739 Clazz.overrideMethod(c$,"containsKey",
\r
741 if(this.isInRange(a)){
\r
742 return this.backingMap.containsKey(a);
\r
745 Clazz.overrideMethod(c$,"entrySet",
\r
747 if(this.$entrySet==null){
\r
748 this.$entrySet=new java.util.TreeMap.SubMapEntrySet(this);
\r
749 }return this.$entrySet;
\r
751 Clazz.overrideMethod(c$,"firstKey",
\r
753 var a=this.firstEntry();
\r
756 }throw new java.util.NoSuchElementException();
\r
758 Clazz.defineMethod(c$,"firstEntry",
\r
760 if(!this.hasStart){
\r
761 var a=this.backingMap.root;
\r
762 return(a==null)?null:java.util.TreeMap.minimum(this.backingMap.root);
\r
763 }var a=this.backingMap.findAfter(this.startKey);
\r
764 if(a!=null&&this.checkUpperBound(a.key)){
\r
768 Clazz.overrideMethod(c$,"get",
\r
770 if(this.isInRange(a)){
\r
771 return this.backingMap.get(a);
\r
774 Clazz.overrideMethod(c$,"headMap",
\r
776 this.checkRange(a);
\r
778 return new java.util.TreeMap.SubMap(this.startKey,this.backingMap,a);
\r
779 }return new java.util.TreeMap.SubMap(this.backingMap,a);
\r
781 Clazz.overrideMethod(c$,"isEmpty",
\r
784 var a=this.backingMap.findAfter(this.startKey);
\r
785 return a==null||!this.checkUpperBound(a.key);
\r
786 }return this.backingMap.findBefore(this.endKey)==null;
\r
788 Clazz.overrideMethod(c$,"keySet",
\r
790 if(this.$keySet==null){
\r
791 this.$keySet=new java.util.TreeMap.SubMapKeySet(this);
\r
792 }return this.$keySet;
\r
794 Clazz.overrideMethod(c$,"lastKey",
\r
797 return this.backingMap.lastKey();
\r
798 }var a=this.backingMap.findBefore(this.endKey);
\r
799 if(a!=null&&this.checkLowerBound(a.key)){
\r
801 }throw new java.util.NoSuchElementException();
\r
803 Clazz.overrideMethod(c$,"put",
\r
805 if(this.isInRange(a)){
\r
806 return this.backingMap.put(a,b);
\r
807 }throw new IllegalArgumentException();
\r
809 Clazz.overrideMethod(c$,"remove",
\r
811 if(this.isInRange(a)){
\r
812 return this.backingMap.remove(a);
\r
815 Clazz.overrideMethod(c$,"subMap",
\r
817 this.checkRange(a);
\r
818 this.checkRange(b);
\r
819 var c=this.backingMap.comparator();
\r
821 if(java.util.TreeMap.toComparable(a).compareTo(b)<=0){
\r
822 return new java.util.TreeMap.SubMap(a,this.backingMap,b);
\r
824 if(c.compare(a,b)<=0){
\r
825 return new java.util.TreeMap.SubMap(a,this.backingMap,b);
\r
826 }}throw new IllegalArgumentException();
\r
828 Clazz.overrideMethod(c$,"tailMap",
\r
830 this.checkRange(a);
\r
832 return new java.util.TreeMap.SubMap(a,this.backingMap,this.endKey);
\r
833 }return new java.util.TreeMap.SubMap(a,this.backingMap);
\r
835 Clazz.overrideMethod(c$,"values",
\r
837 if(this.valuesCollection==null){
\r
838 this.valuesCollection=new java.util.TreeMap.SubMapValuesCollection(this);
\r
839 }return this.valuesCollection;
\r
842 Clazz.pu$h(self.c$);
\r
843 c$=Clazz.decorateAsClass(function(){
\r
845 Clazz.instantialize(this,arguments);
\r
846 },java.util.TreeMap,"SubMapEntrySet",java.util.AbstractSet,java.util.Set);
\r
847 Clazz.makeConstructor(c$,
\r
849 Clazz.superConstructor(this,java.util.TreeMap.SubMapEntrySet,[]);
\r
851 },"java.util.TreeMap.SubMap");
\r
852 Clazz.overrideMethod(c$,"isEmpty",
\r
854 return this.subMap.isEmpty();
\r
856 Clazz.overrideMethod(c$,"iterator",
\r
858 var a=this.subMap.firstEntry();
\r
859 if(this.subMap.hasEnd){
\r
860 var b=this.subMap.comparator();
\r
862 return new java.util.TreeMap.ComparableBoundedEntryIterator(this.subMap.backingMap,a,java.util.TreeMap.toComparable(this.subMap.endKey));
\r
863 }return new java.util.TreeMap.ComparatorBoundedEntryIterator(this.subMap.backingMap,a,this.subMap.endKey);
\r
864 }return new java.util.TreeMap.UnboundedEntryIterator(this.subMap.backingMap,a);
\r
866 Clazz.overrideMethod(c$,"size",
\r
869 var b=this.iterator();
\r
870 while(b.hasNext()){
\r
876 Clazz.overrideMethod(c$,"contains",
\r
878 if(Clazz.instanceOf(a,java.util.Map.Entry)){
\r
881 if(this.subMap.isInRange(c)){
\r
882 var d=this.subMap.get(c);
\r
883 var e=b.getValue();
\r
884 return d==null?e==null:d.equals(e);
\r
888 Clazz.pu$h(self.c$);
\r
889 c$=Clazz.decorateAsClass(function(){
\r
891 Clazz.instantialize(this,arguments);
\r
892 },java.util.TreeMap,"SubMapKeySet",java.util.AbstractSet,java.util.Set);
\r
893 Clazz.makeConstructor(c$,
\r
895 Clazz.superConstructor(this,java.util.TreeMap.SubMapKeySet,[]);
\r
897 },"java.util.TreeMap.SubMap");
\r
898 Clazz.overrideMethod(c$,"contains",
\r
900 return this.subMap.containsKey(a);
\r
902 Clazz.overrideMethod(c$,"isEmpty",
\r
904 return this.subMap.isEmpty();
\r
906 Clazz.overrideMethod(c$,"size",
\r
909 var b=this.iterator();
\r
910 while(b.hasNext()){
\r
916 Clazz.overrideMethod(c$,"iterator",
\r
918 var a=this.subMap.firstEntry();
\r
919 if(this.subMap.hasEnd){
\r
920 var b=this.subMap.comparator();
\r
922 return new java.util.TreeMap.ComparableBoundedKeyIterator(this.subMap.backingMap,a,java.util.TreeMap.toComparable(this.subMap.endKey));
\r
923 }return new java.util.TreeMap.ComparatorBoundedKeyIterator(this.subMap.backingMap,a,this.subMap.endKey);
\r
924 }return new java.util.TreeMap.UnboundedKeyIterator(this.subMap.backingMap,a);
\r
927 Clazz.pu$h(self.c$);
\r
928 c$=Clazz.decorateAsClass(function(){
\r
930 Clazz.instantialize(this,arguments);
\r
931 },java.util.TreeMap,"SubMapValuesCollection",java.util.AbstractCollection);
\r
932 Clazz.makeConstructor(c$,
\r
934 Clazz.superConstructor(this,java.util.TreeMap.SubMapValuesCollection,[]);
\r
936 },"java.util.TreeMap.SubMap");
\r
937 Clazz.overrideMethod(c$,"isEmpty",
\r
939 return this.subMap.isEmpty();
\r
941 Clazz.overrideMethod(c$,"iterator",
\r
943 var a=this.subMap.firstEntry();
\r
944 if(this.subMap.hasEnd){
\r
945 var b=this.subMap.comparator();
\r
947 return new java.util.TreeMap.ComparableBoundedValueIterator(this.subMap.backingMap,a,java.util.TreeMap.toComparable(this.subMap.endKey));
\r
948 }return new java.util.TreeMap.ComparatorBoundedValueIterator(this.subMap.backingMap,a,this.subMap.endKey);
\r
949 }return new java.util.TreeMap.UnboundedValueIterator(this.subMap.backingMap,a);
\r
951 Clazz.overrideMethod(c$,"size",
\r
954 for(var b=this.iterator();b.hasNext();){
\r