Merge branch 'master' of https://source.jalview.org/git/jalviewjs.git
[jalviewjs.git] / site / swingjs / j2s / java / util / IdentityHashMap.js
index 58416a8..0402afe 100644 (file)
-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(){\r
-c$=Clazz.decorateAsClass(function(){\r
-this.elementData=null;\r
-this.$size=0;\r
-this.threshold=0;\r
-this.modCount=0;\r
-Clazz.instantialize(this,arguments);\r
-},java.util,"IdentityHashMap",java.util.AbstractMap,[java.util.Map,java.io.Serializable,Cloneable]);\r
-Clazz.makeConstructor(c$,\r
-function(){\r
-this.construct(21);\r
-});\r
-Clazz.makeConstructor(c$,\r
-function(maxSize){\r
-Clazz.superConstructor(this,java.util.IdentityHashMap,[]);\r
-if(maxSize>=0){\r
-this.$size=0;\r
-this.threshold=this.getThreshold(maxSize);\r
-this.elementData=this.newElementArray(this.computeElementArraySize());\r
-}else{\r
-throw new IllegalArgumentException();\r
-}},"~N");\r
-Clazz.defineMethod(c$,"getThreshold",\r
-($fz=function(maxSize){\r
-return maxSize>3?maxSize:3;\r
-},$fz.isPrivate=true,$fz),"~N");\r
-Clazz.defineMethod(c$,"computeElementArraySize",\r
-($fz=function(){\r
-return(Math.floor((this.threshold*10000)/7500))*2;\r
-},$fz.isPrivate=true,$fz));\r
-Clazz.defineMethod(c$,"newElementArray",\r
-($fz=function(s){\r
-return new Array(s);\r
-},$fz.isPrivate=true,$fz),"~N");\r
-Clazz.makeConstructor(c$,\r
-function(map){\r
-this.construct(map.size()<6?11:map.size()*2);\r
-this.putAllImpl(map);\r
-},"java.util.Map");\r
-Clazz.defineMethod(c$,"massageValue",\r
-($fz=function(value){\r
-return((value===java.util.IdentityHashMap.NULL_OBJECT)?null:value);\r
-},$fz.isPrivate=true,$fz),"~O");\r
-Clazz.overrideMethod(c$,"clear",\r
-function(){\r
-this.$size=0;\r
-for(var i=0;i<this.elementData.length;i++){\r
-this.elementData[i]=null;\r
-}\r
-this.modCount++;\r
-});\r
-Clazz.overrideMethod(c$,"containsKey",\r
-function(key){\r
-if(key==null){\r
-key=java.util.IdentityHashMap.NULL_OBJECT;\r
-}var index=this.findIndex(key,this.elementData);\r
-return this.elementData[index]===key;\r
-},"~O");\r
-Clazz.overrideMethod(c$,"containsValue",\r
-function(value){\r
-if(value==null){\r
-value=java.util.IdentityHashMap.NULL_OBJECT;\r
-}for(var i=1;i<this.elementData.length;i=i+2){\r
-if(this.elementData[i]===value){\r
-return true;\r
-}}\r
-return false;\r
-},"~O");\r
-Clazz.overrideMethod(c$,"get",\r
-function(key){\r
-if(key==null){\r
-key=java.util.IdentityHashMap.NULL_OBJECT;\r
-}var index=this.findIndex(key,this.elementData);\r
-if(this.elementData[index]===key){\r
-var result=this.elementData[index+1];\r
-return this.massageValue(result);\r
-}return null;\r
-},"~O");\r
-Clazz.defineMethod(c$,"getEntry",\r
-($fz=function(key){\r
-if(key==null){\r
-key=java.util.IdentityHashMap.NULL_OBJECT;\r
-}var index=this.findIndex(key,this.elementData);\r
-if(this.elementData[index]===key){\r
-return this.getEntry(index);\r
-}return null;\r
-},$fz.isPrivate=true,$fz),"~O");\r
-Clazz.defineMethod(c$,"getEntry",\r
-($fz=function(index){\r
-var key=this.elementData[index];\r
-var value=this.elementData[index+1];\r
-if(key===java.util.IdentityHashMap.NULL_OBJECT){\r
-key=null;\r
-}if(value===java.util.IdentityHashMap.NULL_OBJECT){\r
-value=null;\r
-}return new java.util.IdentityHashMap.IdentityHashMapEntry(key,value);\r
-},$fz.isPrivate=true,$fz),"~N");\r
-Clazz.defineMethod(c$,"findIndex",\r
-($fz=function(key,array){\r
-var length=array.length;\r
-var index=this.getModuloHash(key,length);\r
-var last=(index+length-2)%length;\r
-while(index!=last){\r
-if(array[index]===key||(array[index]==null)){\r
-break;\r
-}index=(index+2)%length;\r
-}\r
-return index;\r
-},$fz.isPrivate=true,$fz),"~O,~A");\r
-Clazz.defineMethod(c$,"getModuloHash",\r
-($fz=function(key,length){\r
-return((System.identityHashCode(key)&0x7FFFFFFF)%(Math.floor(length/2)))*2;\r
-},$fz.isPrivate=true,$fz),"~O,~N");\r
-Clazz.overrideMethod(c$,"put",\r
-function(key,value){\r
-var _key=key;\r
-var _value=value;\r
-if(_key==null){\r
-_key=java.util.IdentityHashMap.NULL_OBJECT;\r
-}if(_value==null){\r
-_value=java.util.IdentityHashMap.NULL_OBJECT;\r
-}var index=this.findIndex(_key,this.elementData);\r
-if(this.elementData[index]!==_key){\r
-this.modCount++;\r
-if(++this.$size>this.threshold){\r
-this.rehash();\r
-index=this.findIndex(_key,this.elementData);\r
-}this.elementData[index]=_key;\r
-this.elementData[index+1]=null;\r
-}var result=this.elementData[index+1];\r
-this.elementData[index+1]=_value;\r
-return this.massageValue(result);\r
-},"~O,~O");\r
-Clazz.overrideMethod(c$,"putAll",\r
-function(map){\r
-this.putAllImpl(map);\r
-},"java.util.Map");\r
-Clazz.defineMethod(c$,"rehash",\r
-($fz=function(){\r
-var newlength=this.elementData.length<<1;\r
-if(newlength==0){\r
-newlength=1;\r
-}var newData=this.newElementArray(newlength);\r
-for(var i=0;i<this.elementData.length;i=i+2){\r
-var key=this.elementData[i];\r
-if(key!=null){\r
-var index=this.findIndex(key,newData);\r
-newData[index]=key;\r
-newData[index+1]=this.elementData[i+1];\r
-}}\r
-this.elementData=newData;\r
-this.computeMaxSize();\r
-},$fz.isPrivate=true,$fz));\r
-Clazz.defineMethod(c$,"computeMaxSize",\r
-($fz=function(){\r
-this.threshold=(Math.floor((Math.floor(this.elementData.length/ 2)) * 7500 /10000));\r
-},$fz.isPrivate=true,$fz));\r
-Clazz.overrideMethod(c$,"remove",\r
-function(key){\r
-if(key==null){\r
-key=java.util.IdentityHashMap.NULL_OBJECT;\r
-}var hashedOk;\r
-var index;\r
-var next;\r
-var hash;\r
-var result;\r
-var object;\r
-index=next=this.findIndex(key,this.elementData);\r
-if(this.elementData[index]!==key){\r
-return null;\r
-}result=this.elementData[index+1];\r
-var length=this.elementData.length;\r
-while(true){\r
-next=(next+2)%length;\r
-object=this.elementData[next];\r
-if(object==null){\r
-break;\r
-}hash=this.getModuloHash(object,length);\r
-hashedOk=hash>index;\r
-if(next<index){\r
-hashedOk=hashedOk||(hash<=next);\r
-}else{\r
-hashedOk=hashedOk&&(hash<=next);\r
-}if(!hashedOk){\r
-this.elementData[index]=object;\r
-this.elementData[index+1]=this.elementData[next+1];\r
-index=next;\r
-}}\r
-this.$size--;\r
-this.modCount++;\r
-this.elementData[index]=null;\r
-this.elementData[index+1]=null;\r
-return this.massageValue(result);\r
-},"~O");\r
-Clazz.overrideMethod(c$,"entrySet",\r
-function(){\r
-return new java.util.IdentityHashMap.IdentityHashMapEntrySet(this);\r
-});\r
-Clazz.overrideMethod(c$,"keySet",\r
-function(){\r
-if(this.$keySet==null){\r
-this.$keySet=((Clazz.isClassDefined("java.util.IdentityHashMap$1")?0:java.util.IdentityHashMap.$IdentityHashMap$1$()),Clazz.innerTypeInstance(java.util.IdentityHashMap$1,this,null));\r
-}return this.$keySet;\r
-});\r
-Clazz.overrideMethod(c$,"values",\r
-function(){\r
-if(this.valuesCollection==null){\r
-this.valuesCollection=((Clazz.isClassDefined("java.util.IdentityHashMap$2")?0:java.util.IdentityHashMap.$IdentityHashMap$2$()),Clazz.innerTypeInstance(java.util.IdentityHashMap$2,this,null));\r
-}return this.valuesCollection;\r
-});\r
-Clazz.overrideMethod(c$,"equals",\r
-function(object){\r
-if(this===object){\r
-return true;\r
-}if(Clazz.instanceOf(object,java.util.Map)){\r
-var map=object;\r
-if(this.size()!=map.size()){\r
-return false;\r
-}var set=this.entrySet();\r
-return set.equals(map.entrySet());\r
-}return false;\r
-},"~O");\r
-Clazz.defineMethod(c$,"clone",\r
-function(){\r
-try{\r
-return Clazz.superCall(this,java.util.IdentityHashMap,"clone",[]);\r
-}catch(e){\r
-if(Clazz.instanceOf(e,CloneNotSupportedException)){\r
-return null;\r
-}else{\r
-throw e;\r
-}\r
-}\r
-});\r
-Clazz.overrideMethod(c$,"isEmpty",\r
-function(){\r
-return this.$size==0;\r
-});\r
-Clazz.overrideMethod(c$,"size",\r
-function(){\r
-return this.$size;\r
-});\r
-Clazz.defineMethod(c$,"putAllImpl",\r
-($fz=function(map){\r
-if(map.entrySet()!=null){\r
-Clazz.superCall(this,java.util.IdentityHashMap,"putAll",[map]);\r
-}},$fz.isPrivate=true,$fz),"java.util.Map");\r
-c$.$IdentityHashMap$1$=function(){\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.declareAnonymous(java.util,"IdentityHashMap$1",java.util.AbstractSet);\r
-Clazz.overrideMethod(c$,"contains",\r
-function(object){\r
-return this.b$["java.util.IdentityHashMap"].containsKey(object);\r
-},"~O");\r
-Clazz.overrideMethod(c$,"size",\r
-function(){\r
-return this.b$["java.util.IdentityHashMap"].size();\r
-});\r
-Clazz.overrideMethod(c$,"clear",\r
-function(){\r
-this.b$["java.util.IdentityHashMap"].clear();\r
-});\r
-Clazz.overrideMethod(c$,"remove",\r
-function(key){\r
-if(this.b$["java.util.IdentityHashMap"].containsKey(key)){\r
-this.b$["java.util.IdentityHashMap"].remove(key);\r
-return true;\r
-}return false;\r
-},"~O");\r
-Clazz.overrideMethod(c$,"iterator",\r
-function(){\r
-return new java.util.IdentityHashMap.IdentityHashMapIterator(((Clazz.isClassDefined("java.util.IdentityHashMap$1$1")?0:java.util.IdentityHashMap.$IdentityHashMap$1$1$()),Clazz.innerTypeInstance(java.util.IdentityHashMap$1$1,this,null)),this.b$["java.util.IdentityHashMap"]);\r
-});\r
-c$=Clazz.p0p();\r
-};\r
-c$.$IdentityHashMap$1$1$=function(){\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.declareAnonymous(java.util,"IdentityHashMap$1$1",null,java.util.MapEntry.Type);\r
-Clazz.overrideMethod(c$,"get",\r
-function(entry){\r
-return entry.key;\r
-},"java.util.MapEntry");\r
-c$=Clazz.p0p();\r
-};\r
-c$.$IdentityHashMap$2$=function(){\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.declareAnonymous(java.util,"IdentityHashMap$2",java.util.AbstractCollection);\r
-Clazz.overrideMethod(c$,"contains",\r
-function(object){\r
-return this.b$["java.util.IdentityHashMap"].containsValue(object);\r
-},"~O");\r
-Clazz.overrideMethod(c$,"size",\r
-function(){\r
-return this.b$["java.util.IdentityHashMap"].size();\r
-});\r
-Clazz.overrideMethod(c$,"clear",\r
-function(){\r
-this.b$["java.util.IdentityHashMap"].clear();\r
-});\r
-Clazz.overrideMethod(c$,"iterator",\r
-function(){\r
-return new java.util.IdentityHashMap.IdentityHashMapIterator(((Clazz.isClassDefined("java.util.IdentityHashMap$2$1")?0:java.util.IdentityHashMap.$IdentityHashMap$2$1$()),Clazz.innerTypeInstance(java.util.IdentityHashMap$2$1,this,null)),this.b$["java.util.IdentityHashMap"]);\r
-});\r
-Clazz.overrideMethod(c$,"remove",\r
-function(object){\r
-var it=this.iterator();\r
-while(it.hasNext()){\r
-if(object===it.next()){\r
-it.remove();\r
-return true;\r
-}}\r
-return false;\r
-},"~O");\r
-c$=Clazz.p0p();\r
-};\r
-c$.$IdentityHashMap$2$1$=function(){\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.declareAnonymous(java.util,"IdentityHashMap$2$1",null,java.util.MapEntry.Type);\r
-Clazz.overrideMethod(c$,"get",\r
-function(entry){\r
-return entry.value;\r
-},"java.util.MapEntry");\r
-c$=Clazz.p0p();\r
-};\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.declareType(java.util.IdentityHashMap,"IdentityHashMapEntry",java.util.MapEntry);\r
-Clazz.overrideMethod(c$,"equals",\r
-function(a){\r
-if(this===a){\r
-return true;\r
-}if(Clazz.instanceOf(a,java.util.Map.Entry)){\r
-var b=a;\r
-return(this.key===b.getKey())&&(this.value===b.getValue());\r
-}return false;\r
-},"~O");\r
-Clazz.overrideMethod(c$,"hashCode",\r
-function(){\r
-return System.identityHashCode(this.key)^System.identityHashCode(this.value);\r
-});\r
-Clazz.overrideMethod(c$,"toString",\r
-function(){\r
-return this.key+"="+this.value;\r
-});\r
-c$=Clazz.p0p();\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.decorateAsClass(function(){\r
-this.position=0;\r
-this.lastPosition=0;\r
-this.associatedMap=null;\r
-this.expectedModCount=0;\r
-this.type=null;\r
-this.canRemove=false;\r
-Clazz.instantialize(this,arguments);\r
-},java.util.IdentityHashMap,"IdentityHashMapIterator",null,java.util.Iterator);\r
-Clazz.makeConstructor(c$,\r
-function(a,b){\r
-this.associatedMap=b;\r
-this.type=a;\r
-this.expectedModCount=b.modCount;\r
-},"java.util.MapEntry.Type,java.util.IdentityHashMap");\r
-Clazz.overrideMethod(c$,"hasNext",\r
-function(){\r
-while(this.position<this.associatedMap.elementData.length){\r
-if(this.associatedMap.elementData[this.position]==null){\r
-this.position+=2;\r
-}else{\r
-return true;\r
-}}\r
-return false;\r
-});\r
-Clazz.defineMethod(c$,"checkConcurrentMod",\r
-function(){\r
-if(this.expectedModCount!=this.associatedMap.modCount){\r
-throw new java.util.ConcurrentModificationException();\r
-}});\r
-Clazz.overrideMethod(c$,"next",\r
-function(){\r
-this.checkConcurrentMod();\r
-if(!this.hasNext()){\r
-throw new java.util.NoSuchElementException();\r
-}var a=this.associatedMap.getEntry(this.position);\r
-this.lastPosition=this.position;\r
-this.position+=2;\r
-this.canRemove=true;\r
-return this.type.get(a);\r
-});\r
-Clazz.overrideMethod(c$,"remove",\r
-function(){\r
-this.checkConcurrentMod();\r
-if(!this.canRemove){\r
-throw new IllegalStateException();\r
-}this.canRemove=false;\r
-this.associatedMap.remove(this.associatedMap.elementData[this.lastPosition]);\r
-this.position=this.lastPosition;\r
-this.expectedModCount++;\r
-});\r
-c$=Clazz.p0p();\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.decorateAsClass(function(){\r
-this.associatedMap=null;\r
-Clazz.instantialize(this,arguments);\r
-},java.util.IdentityHashMap,"IdentityHashMapEntrySet",java.util.AbstractSet);\r
-Clazz.makeConstructor(c$,\r
-function(a){\r
-Clazz.superConstructor(this,java.util.IdentityHashMap.IdentityHashMapEntrySet,[]);\r
-this.associatedMap=a;\r
-},"java.util.IdentityHashMap");\r
-Clazz.defineMethod(c$,"hashMap",\r
-function(){\r
-return this.associatedMap;\r
-});\r
-Clazz.overrideMethod(c$,"size",\r
-function(){\r
-return this.associatedMap.$size;\r
-});\r
-Clazz.overrideMethod(c$,"clear",\r
-function(){\r
-this.associatedMap.clear();\r
-});\r
-Clazz.overrideMethod(c$,"remove",\r
-function(a){\r
-if(this.contains(a)){\r
-this.associatedMap.remove((a).getKey());\r
-return true;\r
-}return false;\r
-},"~O");\r
-Clazz.overrideMethod(c$,"contains",\r
-function(a){\r
-if(Clazz.instanceOf(a,java.util.Map.Entry)){\r
-var b=this.associatedMap.getEntry((a).getKey());\r
-return b!=null&&b.equals(a);\r
-}return false;\r
-},"~O");\r
-Clazz.overrideMethod(c$,"iterator",\r
-function(){\r
-return new java.util.IdentityHashMap.IdentityHashMapIterator(((Clazz.isClassDefined("java.util.IdentityHashMap$IdentityHashMapEntrySet$1")?0:java.util.IdentityHashMap.IdentityHashMapEntrySet.$IdentityHashMap$IdentityHashMapEntrySet$1$()),Clazz.innerTypeInstance(java.util.IdentityHashMap$IdentityHashMapEntrySet$1,this,null)),this.associatedMap);\r
-});\r
-c$.$IdentityHashMap$IdentityHashMapEntrySet$1$=function(){\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.declareAnonymous(java.util,"IdentityHashMap$IdentityHashMapEntrySet$1",null,java.util.MapEntry.Type);\r
-Clazz.overrideMethod(c$,"get",\r
-function(a){\r
-return a;\r
-},"java.util.MapEntry");\r
-c$=Clazz.p0p();\r
-};\r
-c$=Clazz.p0p();\r
-Clazz.defineStatics(c$,\r
-"DEFAULT_MAX_SIZE",21,\r
-"loadFactor",7500);\r
-c$.NULL_OBJECT=c$.prototype.NULL_OBJECT=new Clazz._O();\r
-});\r
+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;i<this.elementData.length;i++){
+this.elementData[i]=null;
+}
+this.modCount++;
+});
+Clazz.overrideMethod(c$,"containsKey",
+function(key){
+if(key==null){
+key=java.util.IdentityHashMap.NULL_OBJECT;
+}var index=this.findIndex(key,this.elementData);
+return this.elementData[index]===key;
+},"~O");
+Clazz.overrideMethod(c$,"containsValue",
+function(value){
+if(value==null){
+value=java.util.IdentityHashMap.NULL_OBJECT;
+}for(var i=1;i<this.elementData.length;i=i+2){
+if(this.elementData[i]===value){
+return true;
+}}
+return false;
+},"~O");
+Clazz.overrideMethod(c$,"get",
+function(key){
+if(key==null){
+key=java.util.IdentityHashMap.NULL_OBJECT;
+}var index=this.findIndex(key,this.elementData);
+if(this.elementData[index]===key){
+var result=this.elementData[index+1];
+return this.massageValue(result);
+}return null;
+},"~O");
+Clazz.defineMethod(c$,"getEntry",
+($fz=function(key){
+if(key==null){
+key=java.util.IdentityHashMap.NULL_OBJECT;
+}var index=this.findIndex(key,this.elementData);
+if(this.elementData[index]===key){
+return this.getEntry(index);
+}return null;
+},$fz.isPrivate=true,$fz),"~O");
+Clazz.defineMethod(c$,"getEntry",
+($fz=function(index){
+var key=this.elementData[index];
+var value=this.elementData[index+1];
+if(key===java.util.IdentityHashMap.NULL_OBJECT){
+key=null;
+}if(value===java.util.IdentityHashMap.NULL_OBJECT){
+value=null;
+}return new java.util.IdentityHashMap.IdentityHashMapEntry(key,value);
+},$fz.isPrivate=true,$fz),"~N");
+Clazz.defineMethod(c$,"findIndex",
+($fz=function(key,array){
+var length=array.length;
+var index=this.getModuloHash(key,length);
+var last=(index+length-2)%length;
+while(index!=last){
+if(array[index]===key||(array[index]==null)){
+break;
+}index=(index+2)%length;
+}
+return index;
+},$fz.isPrivate=true,$fz),"~O,~A");
+Clazz.defineMethod(c$,"getModuloHash",
+($fz=function(key,length){
+return((System.identityHashCode(key)&0x7FFFFFFF)%(Math.floor(length/2)))*2;
+},$fz.isPrivate=true,$fz),"~O,~N");
+Clazz.overrideMethod(c$,"put",
+function(key,value){
+var _key=key;
+var _value=value;
+if(_key==null){
+_key=java.util.IdentityHashMap.NULL_OBJECT;
+}if(_value==null){
+_value=java.util.IdentityHashMap.NULL_OBJECT;
+}var index=this.findIndex(_key,this.elementData);
+if(this.elementData[index]!==_key){
+this.modCount++;
+if(++this.$size>this.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;i<this.elementData.length;i=i+2){
+var key=this.elementData[i];
+if(key!=null){
+var index=this.findIndex(key,newData);
+newData[index]=key;
+newData[index+1]=this.elementData[i+1];
+}}
+this.elementData=newData;
+this.computeMaxSize();
+},$fz.isPrivate=true,$fz));
+Clazz.defineMethod(c$,"computeMaxSize",
+($fz=function(){
+this.threshold=(Math.floor((Math.floor(this.elementData.length/ 2)) * 7500 /10000));
+},$fz.isPrivate=true,$fz));
+Clazz.overrideMethod(c$,"remove",
+function(key){
+if(key==null){
+key=java.util.IdentityHashMap.NULL_OBJECT;
+}var hashedOk;
+var index;
+var next;
+var hash;
+var result;
+var object;
+index=next=this.findIndex(key,this.elementData);
+if(this.elementData[index]!==key){
+return null;
+}result=this.elementData[index+1];
+var length=this.elementData.length;
+while(true){
+next=(next+2)%length;
+object=this.elementData[next];
+if(object==null){
+break;
+}hash=this.getModuloHash(object,length);
+hashedOk=hash>index;
+if(next<index){
+hashedOk=hashedOk||(hash<=next);
+}else{
+hashedOk=hashedOk&&(hash<=next);
+}if(!hashedOk){
+this.elementData[index]=object;
+this.elementData[index+1]=this.elementData[next+1];
+index=next;
+}}
+this.$size--;
+this.modCount++;
+this.elementData[index]=null;
+this.elementData[index+1]=null;
+return this.massageValue(result);
+},"~O");
+Clazz.overrideMethod(c$,"entrySet",
+function(){
+return new java.util.IdentityHashMap.IdentityHashMapEntrySet(this);
+});
+Clazz.overrideMethod(c$,"keySet",
+function(){
+if(this.$keySet==null){
+this.$keySet=((Clazz.isClassDefined("java.util.IdentityHashMap$1")?0:java.util.IdentityHashMap.$IdentityHashMap$1$()),Clazz.innerTypeInstance(java.util.IdentityHashMap$1,this,null));
+}return this.$keySet;
+});
+Clazz.overrideMethod(c$,"values",
+function(){
+if(this.valuesCollection==null){
+this.valuesCollection=((Clazz.isClassDefined("java.util.IdentityHashMap$2")?0:java.util.IdentityHashMap.$IdentityHashMap$2$()),Clazz.innerTypeInstance(java.util.IdentityHashMap$2,this,null));
+}return this.valuesCollection;
+});
+Clazz.overrideMethod(c$,"equals",
+function(object){
+if(this===object){
+return true;
+}if(Clazz.instanceOf(object,java.util.Map)){
+var map=object;
+if(this.size()!=map.size()){
+return false;
+}var set=this.entrySet();
+return set.equals(map.entrySet());
+}return false;
+},"~O");
+Clazz.defineMethod(c$,"clone",
+function(){
+try{
+return Clazz.superCall(this,java.util.IdentityHashMap,"clone",[]);
+}catch(e){
+if(Clazz.instanceOf(e,CloneNotSupportedException)){
+return null;
+}else{
+throw e;
+}
+}
+});
+Clazz.overrideMethod(c$,"isEmpty",
+function(){
+return this.$size==0;
+});
+Clazz.overrideMethod(c$,"size",
+function(){
+return this.$size;
+});
+Clazz.defineMethod(c$,"putAllImpl",
+($fz=function(map){
+if(map.entrySet()!=null){
+Clazz.superCall(this,java.util.IdentityHashMap,"putAll",[map]);
+}},$fz.isPrivate=true,$fz),"java.util.Map");
+c$.$IdentityHashMap$1$=function(){
+Clazz.pu$h(self.c$);
+c$=Clazz.declareAnonymous(java.util,"IdentityHashMap$1",java.util.AbstractSet);
+Clazz.overrideMethod(c$,"contains",
+function(object){
+return this.b$["java.util.IdentityHashMap"].containsKey(object);
+},"~O");
+Clazz.overrideMethod(c$,"size",
+function(){
+return this.b$["java.util.IdentityHashMap"].size();
+});
+Clazz.overrideMethod(c$,"clear",
+function(){
+this.b$["java.util.IdentityHashMap"].clear();
+});
+Clazz.overrideMethod(c$,"remove",
+function(key){
+if(this.b$["java.util.IdentityHashMap"].containsKey(key)){
+this.b$["java.util.IdentityHashMap"].remove(key);
+return true;
+}return false;
+},"~O");
+Clazz.overrideMethod(c$,"iterator",
+function(){
+return new java.util.IdentityHashMap.IdentityHashMapIterator(((Clazz.isClassDefined("java.util.IdentityHashMap$1$1")?0:java.util.IdentityHashMap.$IdentityHashMap$1$1$()),Clazz.innerTypeInstance(java.util.IdentityHashMap$1$1,this,null)),this.b$["java.util.IdentityHashMap"]);
+});
+c$=Clazz.p0p();
+};
+c$.$IdentityHashMap$1$1$=function(){
+Clazz.pu$h(self.c$);
+c$=Clazz.declareAnonymous(java.util,"IdentityHashMap$1$1",null,java.util.MapEntry.Type);
+Clazz.overrideMethod(c$,"get",
+function(entry){
+return entry.key;
+},"java.util.MapEntry");
+c$=Clazz.p0p();
+};
+c$.$IdentityHashMap$2$=function(){
+Clazz.pu$h(self.c$);
+c$=Clazz.declareAnonymous(java.util,"IdentityHashMap$2",java.util.AbstractCollection);
+Clazz.overrideMethod(c$,"contains",
+function(object){
+return this.b$["java.util.IdentityHashMap"].containsValue(object);
+},"~O");
+Clazz.overrideMethod(c$,"size",
+function(){
+return this.b$["java.util.IdentityHashMap"].size();
+});
+Clazz.overrideMethod(c$,"clear",
+function(){
+this.b$["java.util.IdentityHashMap"].clear();
+});
+Clazz.overrideMethod(c$,"iterator",
+function(){
+return new java.util.IdentityHashMap.IdentityHashMapIterator(((Clazz.isClassDefined("java.util.IdentityHashMap$2$1")?0:java.util.IdentityHashMap.$IdentityHashMap$2$1$()),Clazz.innerTypeInstance(java.util.IdentityHashMap$2$1,this,null)),this.b$["java.util.IdentityHashMap"]);
+});
+Clazz.overrideMethod(c$,"remove",
+function(object){
+var it=this.iterator();
+while(it.hasNext()){
+if(object===it.next()){
+it.remove();
+return true;
+}}
+return false;
+},"~O");
+c$=Clazz.p0p();
+};
+c$.$IdentityHashMap$2$1$=function(){
+Clazz.pu$h(self.c$);
+c$=Clazz.declareAnonymous(java.util,"IdentityHashMap$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.IdentityHashMap,"IdentityHashMapEntry",java.util.MapEntry);
+Clazz.overrideMethod(c$,"equals",
+function(a){
+if(this===a){
+return true;
+}if(Clazz.instanceOf(a,java.util.Map.Entry)){
+var b=a;
+return(this.key===b.getKey())&&(this.value===b.getValue());
+}return false;
+},"~O");
+Clazz.overrideMethod(c$,"hashCode",
+function(){
+return System.identityHashCode(this.key)^System.identityHashCode(this.value);
+});
+Clazz.overrideMethod(c$,"toString",
+function(){
+return this.key+"="+this.value;
+});
+c$=Clazz.p0p();
+Clazz.pu$h(self.c$);
+c$=Clazz.decorateAsClass(function(){
+this.position=0;
+this.lastPosition=0;
+this.associatedMap=null;
+this.expectedModCount=0;
+this.type=null;
+this.canRemove=false;
+Clazz.instantialize(this,arguments);
+},java.util.IdentityHashMap,"IdentityHashMapIterator",null,java.util.Iterator);
+Clazz.makeConstructor(c$,
+function(a,b){
+this.associatedMap=b;
+this.type=a;
+this.expectedModCount=b.modCount;
+},"java.util.MapEntry.Type,java.util.IdentityHashMap");
+Clazz.overrideMethod(c$,"hasNext",
+function(){
+while(this.position<this.associatedMap.elementData.length){
+if(this.associatedMap.elementData[this.position]==null){
+this.position+=2;
+}else{
+return true;
+}}
+return false;
+});
+Clazz.defineMethod(c$,"checkConcurrentMod",
+function(){
+if(this.expectedModCount!=this.associatedMap.modCount){
+throw new java.util.ConcurrentModificationException();
+}});
+Clazz.overrideMethod(c$,"next",
+function(){
+this.checkConcurrentMod();
+if(!this.hasNext()){
+throw new java.util.NoSuchElementException();
+}var a=this.associatedMap.getEntry(this.position);
+this.lastPosition=this.position;
+this.position+=2;
+this.canRemove=true;
+return this.type.get(a);
+});
+Clazz.overrideMethod(c$,"remove",
+function(){
+this.checkConcurrentMod();
+if(!this.canRemove){
+throw new IllegalStateException();
+}this.canRemove=false;
+this.associatedMap.remove(this.associatedMap.elementData[this.lastPosition]);
+this.position=this.lastPosition;
+this.expectedModCount++;
+});
+c$=Clazz.p0p();
+Clazz.pu$h(self.c$);
+c$=Clazz.decorateAsClass(function(){
+this.associatedMap=null;
+Clazz.instantialize(this,arguments);
+},java.util.IdentityHashMap,"IdentityHashMapEntrySet",java.util.AbstractSet);
+Clazz.makeConstructor(c$,
+function(a){
+Clazz.superConstructor(this,java.util.IdentityHashMap.IdentityHashMapEntrySet,[]);
+this.associatedMap=a;
+},"java.util.IdentityHashMap");
+Clazz.defineMethod(c$,"hashMap",
+function(){
+return this.associatedMap;
+});
+Clazz.overrideMethod(c$,"size",
+function(){
+return this.associatedMap.$size;
+});
+Clazz.overrideMethod(c$,"clear",
+function(){
+this.associatedMap.clear();
+});
+Clazz.overrideMethod(c$,"remove",
+function(a){
+if(this.contains(a)){
+this.associatedMap.remove((a).getKey());
+return true;
+}return false;
+},"~O");
+Clazz.overrideMethod(c$,"contains",
+function(a){
+if(Clazz.instanceOf(a,java.util.Map.Entry)){
+var b=this.associatedMap.getEntry((a).getKey());
+return b!=null&&b.equals(a);
+}return false;
+},"~O");
+Clazz.overrideMethod(c$,"iterator",
+function(){
+return new java.util.IdentityHashMap.IdentityHashMapIterator(((Clazz.isClassDefined("java.util.IdentityHashMap$IdentityHashMapEntrySet$1")?0:java.util.IdentityHashMap.IdentityHashMapEntrySet.$IdentityHashMap$IdentityHashMapEntrySet$1$()),Clazz.innerTypeInstance(java.util.IdentityHashMap$IdentityHashMapEntrySet$1,this,null)),this.associatedMap);
+});
+c$.$IdentityHashMap$IdentityHashMapEntrySet$1$=function(){
+Clazz.pu$h(self.c$);
+c$=Clazz.declareAnonymous(java.util,"IdentityHashMap$IdentityHashMapEntrySet$1",null,java.util.MapEntry.Type);
+Clazz.overrideMethod(c$,"get",
+function(a){
+return a;
+},"java.util.MapEntry");
+c$=Clazz.p0p();
+};
+c$=Clazz.p0p();
+Clazz.defineStatics(c$,
+"DEFAULT_MAX_SIZE",21,
+"loadFactor",7500);
+c$.NULL_OBJECT=c$.prototype.NULL_OBJECT=new Clazz._O();
+});