Clazz.load(["java.util.AbstractMap","$.AbstractSet","$.Iterator","$.Map","$.MapEntry"],"java.util.IdentityHashMap",["java.lang.IllegalArgumentException","$.IllegalStateException","java.util.AbstractCollection","$.ConcurrentModificationException","java.util.MapEntry.Type","java.util.NoSuchElementException"],function(){ c$=Clazz.decorateAsClass(function(){ this.elementData=null; this.$size=0; this.threshold=0; this.modCount=0; Clazz.instantialize(this,arguments); },java.util,"IdentityHashMap",java.util.AbstractMap,[java.util.Map,java.io.Serializable,Cloneable]); Clazz.makeConstructor(c$, function(){ this.construct(21); }); Clazz.makeConstructor(c$, function(maxSize){ Clazz.superConstructor(this,java.util.IdentityHashMap,[]); if(maxSize>=0){ this.$size=0; this.threshold=this.getThreshold(maxSize); this.elementData=this.newElementArray(this.computeElementArraySize()); }else{ throw new IllegalArgumentException(); }},"~N"); Clazz.defineMethod(c$,"getThreshold", ($fz=function(maxSize){ return maxSize>3?maxSize:3; },$fz.isPrivate=true,$fz),"~N"); Clazz.defineMethod(c$,"computeElementArraySize", ($fz=function(){ return(Math.floor((this.threshold*10000)/7500))*2; },$fz.isPrivate=true,$fz)); Clazz.defineMethod(c$,"newElementArray", ($fz=function(s){ return new Array(s); },$fz.isPrivate=true,$fz),"~N"); Clazz.makeConstructor(c$, function(map){ this.construct(map.size()<6?11:map.size()*2); this.putAllImpl(map); },"java.util.Map"); Clazz.defineMethod(c$,"massageValue", ($fz=function(value){ return((value===java.util.IdentityHashMap.NULL_OBJECT)?null:value); },$fz.isPrivate=true,$fz),"~O"); Clazz.overrideMethod(c$,"clear", function(){ this.$size=0; for(var i=0;ithis.threshold){ this.rehash(); index=this.findIndex(_key,this.elementData); }this.elementData[index]=_key; this.elementData[index+1]=null; }var result=this.elementData[index+1]; this.elementData[index+1]=_value; return this.massageValue(result); },"~O,~O"); Clazz.overrideMethod(c$,"putAll", function(map){ this.putAllImpl(map); },"java.util.Map"); Clazz.defineMethod(c$,"rehash", ($fz=function(){ var newlength=this.elementData.length<<1; if(newlength==0){ newlength=1; }var newData=this.newElementArray(newlength); for(var i=0;iindex; if(next