| Clazz.load(["java.util.HashMap"],"java.util.LinkedHashMap",["java.lang.IllegalStateException","java.util.AbstractCollection","$.AbstractSet","java.util.MapEntry.Type","java.util.NoSuchElementException"],function(){ | |
| c$=Clazz.decorateAsClass(function(){ | |
| this.accessOrder=false; | |
| this.head=null; | |
| this.tail=null; | |
| Clazz.instantialize(this,arguments); | |
| },java.util,"LinkedHashMap",java.util.HashMap); | |
| Clazz.makeConstructor(c$, | |
| function(){ | |
| Clazz.superConstructor(this,java.util.LinkedHashMap); | |
| this.accessOrder=false; | |
| this.head=null; | |
| }); | |
| Clazz.makeConstructor(c$, | |
| function(s){ | |
| Clazz.superConstructor(this,java.util.LinkedHashMap,[s]); | |
| this.accessOrder=false; | |
| this.head=null; | |
| },"~N"); | |
| Clazz.makeConstructor(c$, | |
| function(s,lf){ | |
| Clazz.superConstructor(this,java.util.LinkedHashMap,[s,lf]); | |
| this.accessOrder=false; | |
| this.head=null; | |
| this.tail=null; | |
| },"~N,~N"); | |
| Clazz.makeConstructor(c$, | |
| function(s,lf,order){ | |
| Clazz.superConstructor(this,java.util.LinkedHashMap,[s,lf]); | |
| this.accessOrder=order; | |
| this.head=null; | |
| this.tail=null; | |
| },"~N,~N,~B"); | |
| Clazz.makeConstructor(c$, | |
| function(m){ | |
| Clazz.superConstructor(this,java.util.LinkedHashMap,[]); | |
| this.accessOrder=false; | |
| this.head=null; | |
| this.tail=null; | |
| this.putAll(m); | |
| },"java.util.Map"); | |
| Clazz.overrideMethod(c$,"newElementArray", | |
| function(s){ | |
| return new Array(s); | |
| },"~N"); | |
| Clazz.overrideMethod(c$,"get", | |
| function(key){ | |
| var m=this.getEntry(key); | |
| if(m==null){ | |
| return null; | |
| }if(this.accessOrder&&this.tail!==m){ | |
| var p=m.chainBackward; | |
| var n=m.chainForward; | |
| n.chainBackward=p; | |
| if(p!=null){ | |
| p.chainForward=n; | |
| }else{ | |
| this.head=n; | |
| }m.chainForward=null; | |
| m.chainBackward=this.tail; | |
| this.tail.chainForward=m; | |
| this.tail=m; | |
| }return m.value; | |
| },"~O"); | |
| Clazz.overrideMethod(c$,"createEntry", | |
| function(key,index,value){ | |
| var m=new java.util.LinkedHashMap.LinkedHashMapEntry(key,value); | |
| m.next=this.elementData[index]; | |
| this.elementData[index]=m; | |
| this.linkEntry(m); | |
| return m; | |
| },"~O,~N,~O"); | |
| Clazz.overrideMethod(c$,"put", | |
| function(key,value){ | |
| var index=this.getModuloHash(key); | |
| var m=this.findEntry(key,index); | |
| if(m==null){ | |
| this.modCount++; | |
| if(++this.elementCount>this.threshold){ | |
| this.rehash(); | |
| index=key==null?0:(key.hashCode()&0x7FFFFFFF)%this.elementData.length; | |
| }m=this.createEntry(key,index,null); | |
| }else{ | |
| this.linkEntry(m); | |
| }var result=m.value; | |
| m.value=value; | |
| if(this.removeEldestEntry(this.head)){ | |
| this.remove(this.head.key); | |
| }return result; | |
| },"~O,~O"); | |
| Clazz.defineMethod(c$,"linkEntry", | |
| function(m){ | |
| if(this.tail===m){ | |
| return; | |
| }if(this.head==null){ | |
| this.head=this.tail=m; | |
| return; | |
| }var p=m.chainBackward; | |
| var n=m.chainForward; | |
| if(p==null){ | |
| if(n!=null){ | |
| if(this.accessOrder){ | |
| this.head=n; | |
| n.chainBackward=null; | |
| m.chainBackward=this.tail; | |
| m.chainForward=null; | |
| this.tail.chainForward=m; | |
| this.tail=m; | |
| }}else{ | |
| m.chainBackward=this.tail; | |
| m.chainForward=null; | |
| this.tail.chainForward=m; | |
| this.tail=m; | |
| }return; | |
| }if(n==null){ | |
| return; | |
| }if(this.accessOrder){ | |
| p.chainForward=n; | |
| n.chainBackward=p; | |
| m.chainForward=null; | |
| m.chainBackward=this.tail; | |
| this.tail.chainForward=m; | |
| this.tail=m; | |
| }},"java.util.LinkedHashMap.LinkedHashMapEntry"); | |
| Clazz.overrideMethod(c$,"entrySet", | |
| function(){ | |
| return new java.util.LinkedHashMap.LinkedHashMapEntrySet(this); | |
| }); | |
| Clazz.overrideMethod(c$,"keySet", | |
| function(){ | |
| if(this.$keySet==null){ | |
| this.$keySet=((Clazz.isClassDefined("java.util.LinkedHashMap$1")?0:java.util.LinkedHashMap.$LinkedHashMap$1$()),Clazz.innerTypeInstance(java.util.LinkedHashMap$1,this,null)); | |
| }return this.$keySet; | |
| }); | |
| Clazz.overrideMethod(c$,"values", | |
| function(){ | |
| if(this.valuesCollection==null){ | |
| this.valuesCollection=((Clazz.isClassDefined("java.util.LinkedHashMap$2")?0:java.util.LinkedHashMap.$LinkedHashMap$2$()),Clazz.innerTypeInstance(java.util.LinkedHashMap$2,this,null)); | |
| }return this.valuesCollection; | |
| }); | |
| Clazz.overrideMethod(c$,"remove", | |
| function(key){ | |
| var m=this.removeEntry(key); | |
| if(m==null){ | |
| return null; | |
| }var p=m.chainBackward; | |
| var n=m.chainForward; | |
| if(p!=null){ | |
| p.chainForward=n; | |
| }else{ | |
| this.head=n; | |
| }if(n!=null){ | |
| n.chainBackward=p; | |
| }else{ | |
| this.tail=p; | |
| }return m.value; | |
| },"~O"); | |
| Clazz.defineMethod(c$,"removeEldestEntry", | |
| function(eldest){ | |
| return false; | |
| },"java.util.Map.Entry"); | |
| Clazz.defineMethod(c$,"clear", | |
| function(){ | |
| Clazz.superCall(this,java.util.LinkedHashMap,"clear",[]); | |
| this.head=this.tail=null; | |
| }); | |
| Clazz.defineMethod(c$,"clone", | |
| function(){ | |
| var map=Clazz.superCall(this,java.util.LinkedHashMap,"clone",[]); | |
| map.clear(); | |
| for(var entry,$entry=this.entrySet().iterator();$entry.hasNext()&&((entry=$entry.next())||true);){ | |
| map.put(entry.getKey(),entry.getValue()); | |
| } | |
| return map; | |
| }); | |
| c$.$LinkedHashMap$1$=function(){ | |
| Clazz.pu$h(self.c$); | |
| c$=Clazz.declareAnonymous(java.util,"LinkedHashMap$1",java.util.AbstractSet); | |
| Clazz.overrideMethod(c$,"contains", | |
| function(object){ | |
| return this.b$["java.util.LinkedHashMap"].containsKey(object); | |
| },"~O"); | |
| Clazz.overrideMethod(c$,"size", | |
| function(){ | |
| return this.b$["java.util.LinkedHashMap"].size(); | |
| }); | |
| Clazz.overrideMethod(c$,"clear", | |
| function(){ | |
| this.b$["java.util.LinkedHashMap"].clear(); | |
| }); | |
| Clazz.overrideMethod(c$,"remove", | |
| function(key){ | |
| if(this.b$["java.util.LinkedHashMap"].containsKey(key)){ | |
| this.b$["java.util.LinkedHashMap"].remove(key); | |
| return true; | |
| }return false; | |
| },"~O"); | |
| Clazz.overrideMethod(c$,"iterator", | |
| function(){ | |
| return new java.util.LinkedHashMap.LinkedHashIterator(((Clazz.isClassDefined("java.util.LinkedHashMap$1$1")?0:java.util.LinkedHashMap.$LinkedHashMap$1$1$()),Clazz.innerTypeInstance(java.util.LinkedHashMap$1$1,this,null)),this.b$["java.util.LinkedHashMap"]); | |
| }); | |
| c$=Clazz.p0p(); | |
| }; | |
| c$.$LinkedHashMap$1$1$=function(){ | |
| Clazz.pu$h(self.c$); | |
| c$=Clazz.declareAnonymous(java.util,"LinkedHashMap$1$1",null,java.util.MapEntry.Type); | |
| Clazz.overrideMethod(c$,"get", | |
| function(entry){ | |
| return entry.key; | |
| },"java.util.MapEntry"); | |
| c$=Clazz.p0p(); | |
| }; | |
| c$.$LinkedHashMap$2$=function(){ | |
| Clazz.pu$h(self.c$); | |
| c$=Clazz.declareAnonymous(java.util,"LinkedHashMap$2",java.util.AbstractCollection); | |
| Clazz.overrideMethod(c$,"contains", | |
| function(object){ | |
| return this.b$["java.util.LinkedHashMap"].containsValue(object); | |
| },"~O"); | |
| Clazz.overrideMethod(c$,"size", | |
| function(){ | |
| return this.b$["java.util.LinkedHashMap"].size(); | |
| }); | |
| Clazz.overrideMethod(c$,"clear", | |
| function(){ | |
| this.b$["java.util.LinkedHashMap"].clear(); | |
| }); | |
| Clazz.overrideMethod(c$,"iterator", | |
| function(){ | |
| return new java.util.LinkedHashMap.LinkedHashIterator(((Clazz.isClassDefined("java.util.LinkedHashMap$2$1")?0:java.util.LinkedHashMap.$LinkedHashMap$2$1$()),Clazz.innerTypeInstance(java.util.LinkedHashMap$2$1,this,null)),this.b$["java.util.LinkedHashMap"]); | |
| }); | |
| c$=Clazz.p0p(); | |
| }; | |
| c$.$LinkedHashMap$2$1$=function(){ | |
| Clazz.pu$h(self.c$); | |
| c$=Clazz.declareAnonymous(java.util,"LinkedHashMap$2$1",null,java.util.MapEntry.Type); | |
| Clazz.overrideMethod(c$,"get", | |
| function(entry){ | |
| return entry.value; | |
| },"java.util.MapEntry"); | |
| c$=Clazz.p0p(); | |
| }; | |
| Clazz.pu$h(self.c$); | |
| c$=Clazz.declareType(java.util.LinkedHashMap,"LinkedHashIterator",java.util.HashMap.HashMapIterator); | |
| Clazz.makeConstructor(c$, | |
| function(a,b){ | |
| Clazz.superConstructor(this,java.util.LinkedHashMap.LinkedHashIterator,[a,b]); | |
| this.entry=b.head; | |
| },"java.util.MapEntry.Type,java.util.LinkedHashMap"); | |
| Clazz.overrideMethod(c$,"hasNext", | |
| function(){ | |
| return(this.entry!=null); | |
| }); | |
| Clazz.overrideMethod(c$,"next", | |
| function(){ | |
| this.checkConcurrentMod(); | |
| if(!this.hasNext()){ | |
| throw new java.util.NoSuchElementException(); | |
| }var a=this.type.get(this.entry); | |
| this.lastEntry=this.entry; | |
| this.entry=(this.entry).chainForward; | |
| this.canRemove=true; | |
| return a; | |
| }); | |
| Clazz.overrideMethod(c$,"remove", | |
| function(){ | |
| this.checkConcurrentMod(); | |
| if(!this.canRemove){ | |
| throw new IllegalStateException(); | |
| }this.canRemove=false; | |
| this.associatedMap.modCount++; | |
| var a=this.associatedMap.getModuloHash(this.lastEntry.key); | |
| var b=this.associatedMap.elementData[a]; | |
| if(b===this.lastEntry){ | |
| this.associatedMap.elementData[a]=this.lastEntry.next; | |
| }else{ | |
| while(b.next!=null){ | |
| if(b.next===this.lastEntry){ | |
| break; | |
| }b=b.next; | |
| } | |
| b.next=this.lastEntry.next; | |
| }var c=this.lastEntry; | |
| var d=c.chainBackward; | |
| var e=c.chainForward; | |
| var f=this.associatedMap; | |
| if(d!=null){ | |
| d.chainForward=e; | |
| if(e!=null){ | |
| e.chainBackward=d; | |
| }else{ | |
| f.tail=d; | |
| }}else{ | |
| f.head=e; | |
| if(e!=null){ | |
| e.chainBackward=null; | |
| }else{ | |
| f.tail=null; | |
| }}this.associatedMap.elementCount--; | |
| this.expectedModCount++; | |
| }); | |
| c$=Clazz.p0p(); | |
| Clazz.pu$h(self.c$); | |
| c$=Clazz.declareType(java.util.LinkedHashMap,"LinkedHashMapEntrySet",java.util.HashMap.HashMapEntrySet); | |
| Clazz.overrideMethod(c$,"iterator", | |
| function(){ | |
| return new java.util.LinkedHashMap.LinkedHashIterator(((Clazz.isClassDefined("java.util.LinkedHashMap$LinkedHashMapEntrySet$1")?0:java.util.LinkedHashMap.LinkedHashMapEntrySet.$LinkedHashMap$LinkedHashMapEntrySet$1$()),Clazz.innerTypeInstance(java.util.LinkedHashMap$LinkedHashMapEntrySet$1,this,null)),this.hashMap()); | |
| }); | |
| c$.$LinkedHashMap$LinkedHashMapEntrySet$1$=function(){ | |
| Clazz.pu$h(self.c$); | |
| c$=Clazz.declareAnonymous(java.util,"LinkedHashMap$LinkedHashMapEntrySet$1",null,java.util.MapEntry.Type); | |
| Clazz.overrideMethod(c$,"get", | |
| function(a){ | |
| return a; | |
| },"java.util.MapEntry"); | |
| c$=Clazz.p0p(); | |
| }; | |
| c$=Clazz.p0p(); | |
| Clazz.pu$h(self.c$); | |
| c$=Clazz.decorateAsClass(function(){ | |
| this.chainForward=null; | |
| this.chainBackward=null; | |
| Clazz.instantialize(this,arguments); | |
| },java.util.LinkedHashMap,"LinkedHashMapEntry",java.util.HashMap.Entry); | |
| Clazz.makeConstructor(c$, | |
| function(a,b){ | |
| Clazz.superConstructor(this,java.util.LinkedHashMap.LinkedHashMapEntry,[a,b]); | |
| this.chainForward=null; | |
| this.chainBackward=null; | |
| },"~O,~O"); | |
| Clazz.defineMethod(c$,"clone", | |
| function(){ | |
| var a=Clazz.superCall(this,java.util.LinkedHashMap.LinkedHashMapEntry,"clone",[]); | |
| a.chainBackward=this.chainBackward; | |
| a.chainForward=this.chainForward; | |
| var b=a.next; | |
| if(b!=null){ | |
| a.next=b.clone(); | |
| }return a; | |
| }); | |
| c$=Clazz.p0p(); | |
| }); | |