Merge branch 'master' of https://source.jalview.org/git/jalviewjs.git
[jalviewjs.git] / site / j2s / java / util / LinkedList.js
index 5c93ef2..4919686 100644 (file)
-Clazz.load(["java.util.AbstractSequentialList","$.List","$.ListIterator","$.Queue"],"java.util.LinkedList",["java.lang.IllegalStateException","$.IndexOutOfBoundsException","java.lang.reflect.Array","java.util.ConcurrentModificationException","$.NoSuchElementException"],function(){\r
-c$=Clazz.decorateAsClass(function(){\r
-this.$size=0;\r
-this.voidLink=null;\r
-Clazz.instantialize(this,arguments);\r
-},java.util,"LinkedList",java.util.AbstractSequentialList,[java.util.List,java.util.Queue,Cloneable,java.io.Serializable]);\r
-Clazz.makeConstructor(c$,\r
-function(){\r
-Clazz.superConstructor(this,java.util.LinkedList,[]);\r
-this.voidLink=new java.util.LinkedList.Link(null,null,null);\r
-this.voidLink.previous=this.voidLink;\r
-this.voidLink.next=this.voidLink;\r
-});\r
-Clazz.makeConstructor(c$,\r
-function(collection){\r
-this.construct();\r
-this.addAll(collection);\r
-},"java.util.Collection");\r
-Clazz.defineMethod(c$,"add",\r
-function(location,object){\r
-if(0<=location&&location<=this.$size){\r
-var link=this.voidLink;\r
-if(location<(Math.floor(this.$size/2))){\r
-for(var i=0;i<=location;i++){\r
-link=link.next;\r
-}\r
-}else{\r
-for(var i=this.$size;i>location;i--){\r
-link=link.previous;\r
-}\r
-}var previous=link.previous;\r
-var newLink=new java.util.LinkedList.Link(object,previous,link);\r
-previous.next=newLink;\r
-link.previous=newLink;\r
-this.$size++;\r
-this.modCount++;\r
-}else{\r
-throw new IndexOutOfBoundsException();\r
-}},"~N,~O");\r
-Clazz.defineMethod(c$,"add",\r
-function(object){\r
-var oldLast=this.voidLink.previous;\r
-var newLink=new java.util.LinkedList.Link(object,oldLast,this.voidLink);\r
-this.voidLink.previous=newLink;\r
-oldLast.next=newLink;\r
-this.$size++;\r
-this.modCount++;\r
-return true;\r
-},"~O");\r
-Clazz.defineMethod(c$,"addAll",\r
-function(location,collection){\r
-if(location<0||location>this.$size){\r
-throw new IndexOutOfBoundsException();\r
-}var adding=collection.size();\r
-if(adding==0){\r
-return false;\r
-}var previous=this.voidLink;\r
-if(location<(Math.floor(this.$size/2))){\r
-for(var i=0;i<location;i++){\r
-previous=previous.next;\r
-}\r
-}else{\r
-for(var i=this.$size;i>=location;i--){\r
-previous=previous.previous;\r
-}\r
-}var next=previous.next;\r
-for(var e,$e=collection.iterator();$e.hasNext()&&((e=$e.next())||true);){\r
-var newLink=new java.util.LinkedList.Link(e,previous,null);\r
-previous.next=newLink;\r
-previous=newLink;\r
-}\r
-previous.next=next;\r
-next.previous=previous;\r
-this.$size+=adding;\r
-this.modCount++;\r
-return true;\r
-},"~N,java.util.Collection");\r
-Clazz.defineMethod(c$,"addAll",\r
-function(collection){\r
-var adding=collection.size();\r
-if(adding==0){\r
-return false;\r
-}var previous=this.voidLink.previous;\r
-for(var e,$e=collection.iterator();$e.hasNext()&&((e=$e.next())||true);){\r
-var newLink=new java.util.LinkedList.Link(e,previous,null);\r
-previous.next=newLink;\r
-previous=newLink;\r
-}\r
-previous.next=this.voidLink;\r
-this.voidLink.previous=previous;\r
-this.$size+=adding;\r
-this.modCount++;\r
-return true;\r
-},"java.util.Collection");\r
-Clazz.defineMethod(c$,"addFirst",\r
-function(object){\r
-var oldFirst=this.voidLink.next;\r
-var newLink=new java.util.LinkedList.Link(object,this.voidLink,oldFirst);\r
-this.voidLink.next=newLink;\r
-oldFirst.previous=newLink;\r
-this.$size++;\r
-this.modCount++;\r
-},"~O");\r
-Clazz.defineMethod(c$,"addLast",\r
-function(object){\r
-var oldLast=this.voidLink.previous;\r
-var newLink=new java.util.LinkedList.Link(object,oldLast,this.voidLink);\r
-this.voidLink.previous=newLink;\r
-oldLast.next=newLink;\r
-this.$size++;\r
-this.modCount++;\r
-},"~O");\r
-Clazz.overrideMethod(c$,"clear",\r
-function(){\r
-if(this.$size>0){\r
-this.$size=0;\r
-this.voidLink.next=this.voidLink;\r
-this.voidLink.previous=this.voidLink;\r
-this.modCount++;\r
-}});\r
-Clazz.overrideMethod(c$,"clone",\r
-function(){\r
-return new java.util.LinkedList(this);\r
-});\r
-Clazz.overrideMethod(c$,"contains",\r
-function(object){\r
-var link=this.voidLink.next;\r
-if(object!=null){\r
-while(link!==this.voidLink){\r
-if(object.equals(link.data)){\r
-return true;\r
-}link=link.next;\r
-}\r
-}else{\r
-while(link!==this.voidLink){\r
-if(link.data==null){\r
-return true;\r
-}link=link.next;\r
-}\r
-}return false;\r
-},"~O");\r
-Clazz.overrideMethod(c$,"get",\r
-function(location){\r
-if(0<=location&&location<this.$size){\r
-var link=this.voidLink;\r
-if(location<(Math.floor(this.$size/2))){\r
-for(var i=0;i<=location;i++){\r
-link=link.next;\r
-}\r
-}else{\r
-for(var i=this.$size;i>location;i--){\r
-link=link.previous;\r
-}\r
-}return link.data;\r
-}throw new IndexOutOfBoundsException();\r
-},"~N");\r
-Clazz.defineMethod(c$,"getFirst",\r
-function(){\r
-var first=this.voidLink.next;\r
-if(first!==this.voidLink){\r
-return first.data;\r
-}throw new java.util.NoSuchElementException();\r
-});\r
-Clazz.defineMethod(c$,"getLast",\r
-function(){\r
-var last=this.voidLink.previous;\r
-if(last!==this.voidLink){\r
-return last.data;\r
-}throw new java.util.NoSuchElementException();\r
-});\r
-Clazz.overrideMethod(c$,"indexOf",\r
-function(object){\r
-var pos=0;\r
-var link=this.voidLink.next;\r
-if(object!=null){\r
-while(link!==this.voidLink){\r
-if(object.equals(link.data)){\r
-return pos;\r
-}link=link.next;\r
-pos++;\r
-}\r
-}else{\r
-while(link!==this.voidLink){\r
-if(link.data==null){\r
-return pos;\r
-}link=link.next;\r
-pos++;\r
-}\r
-}return-1;\r
-},"~O");\r
-Clazz.overrideMethod(c$,"lastIndexOf",\r
-function(object){\r
-var pos=this.$size;\r
-var link=this.voidLink.previous;\r
-if(object!=null){\r
-while(link!==this.voidLink){\r
-pos--;\r
-if(object.equals(link.data)){\r
-return pos;\r
-}link=link.previous;\r
-}\r
-}else{\r
-while(link!==this.voidLink){\r
-pos--;\r
-if(link.data==null){\r
-return pos;\r
-}link=link.previous;\r
-}\r
-}return-1;\r
-},"~O");\r
-Clazz.defineMethod(c$,"listIterator",\r
-function(location){\r
-return new java.util.LinkedList.LinkIterator(this,location);\r
-},"~N");\r
-Clazz.defineMethod(c$,"remove",\r
-function(location){\r
-if(0<=location&&location<this.$size){\r
-var link=this.voidLink;\r
-if(location<(Math.floor(this.$size/2))){\r
-for(var i=0;i<=location;i++){\r
-link=link.next;\r
-}\r
-}else{\r
-for(var i=this.$size;i>location;i--){\r
-link=link.previous;\r
-}\r
-}var previous=link.previous;\r
-var next=link.next;\r
-previous.next=next;\r
-next.previous=previous;\r
-this.$size--;\r
-this.modCount++;\r
-return link.data;\r
-}throw new IndexOutOfBoundsException();\r
-},"~N");\r
-Clazz.defineMethod(c$,"remove",\r
-function(object){\r
-var link=this.voidLink.next;\r
-if(object!=null){\r
-while(link!==this.voidLink&&!object.equals(link.data)){\r
-link=link.next;\r
-}\r
-}else{\r
-while(link!==this.voidLink&&link.data!=null){\r
-link=link.next;\r
-}\r
-}if(link===this.voidLink){\r
-return false;\r
-}var next=link.next;\r
-var previous=link.previous;\r
-previous.next=next;\r
-next.previous=previous;\r
-this.$size--;\r
-this.modCount++;\r
-return true;\r
-},"~O");\r
-Clazz.defineMethod(c$,"removeFirst",\r
-function(){\r
-var first=this.voidLink.next;\r
-if(first!==this.voidLink){\r
-var next=first.next;\r
-this.voidLink.next=next;\r
-next.previous=this.voidLink;\r
-this.$size--;\r
-this.modCount++;\r
-return first.data;\r
-}throw new java.util.NoSuchElementException();\r
-});\r
-Clazz.defineMethod(c$,"removeLast",\r
-function(){\r
-var last=this.voidLink.previous;\r
-if(last!==this.voidLink){\r
-var previous=last.previous;\r
-this.voidLink.previous=previous;\r
-previous.next=this.voidLink;\r
-this.$size--;\r
-this.modCount++;\r
-return last.data;\r
-}throw new java.util.NoSuchElementException();\r
-});\r
-Clazz.overrideMethod(c$,"set",\r
-function(location,object){\r
-if(0<=location&&location<this.$size){\r
-var link=this.voidLink;\r
-if(location<(Math.floor(this.$size/2))){\r
-for(var i=0;i<=location;i++){\r
-link=link.next;\r
-}\r
-}else{\r
-for(var i=this.$size;i>location;i--){\r
-link=link.previous;\r
-}\r
-}var result=link.data;\r
-link.data=object;\r
-return result;\r
-}throw new IndexOutOfBoundsException();\r
-},"~N,~O");\r
-Clazz.overrideMethod(c$,"size",\r
-function(){\r
-return this.$size;\r
-});\r
-Clazz.overrideMethod(c$,"offer",\r
-function(o){\r
-this.add(o);\r
-return true;\r
-},"~O");\r
-Clazz.overrideMethod(c$,"poll",\r
-function(){\r
-return this.$size==0?null:this.removeFirst();\r
-});\r
-Clazz.defineMethod(c$,"remove",\r
-function(){\r
-return this.removeFirst();\r
-});\r
-Clazz.overrideMethod(c$,"peek",\r
-function(){\r
-var first=this.voidLink.next;\r
-return first===this.voidLink?null:first.data;\r
-});\r
-Clazz.overrideMethod(c$,"element",\r
-function(){\r
-return this.getFirst();\r
-});\r
-Clazz.defineMethod(c$,"toArray",\r
-function(){\r
-var index=0;\r
-var contents=new Array(this.$size);\r
-var link=this.voidLink.next;\r
-while(link!==this.voidLink){\r
-contents[index++]=link.data;\r
-link=link.next;\r
-}\r
-return contents;\r
-});\r
-Clazz.defineMethod(c$,"toArray",\r
-function(contents){\r
-var index=0;\r
-if(this.$size>contents.length){\r
-var ct=contents.getClass().getComponentType();\r
-contents=java.lang.reflect.Array.newInstance(ct,this.$size);\r
-}var link=this.voidLink.next;\r
-while(link!==this.voidLink){\r
-contents[index++]=link.data;\r
-link=link.next;\r
-}\r
-if(index<contents.length){\r
-contents[index]=null;\r
-}return contents;\r
-},"~A");\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.decorateAsClass(function(){\r
-this.data=null;\r
-this.previous=null;\r
-this.next=null;\r
-Clazz.instantialize(this,arguments);\r
-},java.util.LinkedList,"Link");\r
-Clazz.makeConstructor(c$,\r
-function(a,b,c){\r
-this.data=a;\r
-this.previous=b;\r
-this.next=c;\r
-},"~O,java.util.LinkedList.Link,java.util.LinkedList.Link");\r
-c$=Clazz.p0p();\r
-Clazz.pu$h(self.c$);\r
-c$=Clazz.decorateAsClass(function(){\r
-this.pos=0;\r
-this.expectedModCount=0;\r
-this.list=null;\r
-this.link=null;\r
-this.lastLink=null;\r
-Clazz.instantialize(this,arguments);\r
-},java.util.LinkedList,"LinkIterator",null,java.util.ListIterator);\r
-Clazz.makeConstructor(c$,\r
-function(a,b){\r
-this.list=a;\r
-this.expectedModCount=this.list.modCount;\r
-if(0<=b&&b<=this.list.$size){\r
-this.link=this.list.voidLink;\r
-if(b<Math.floor(this.list.$size/2)){\r
-for(this.pos=-1;this.pos+1<b;this.pos++){\r
-this.link=this.link.next;\r
-}\r
-}else{\r
-for(this.pos=this.list.$size;this.pos>=b;this.pos--){\r
-this.link=this.link.previous;\r
-}\r
-}}else{\r
-throw new IndexOutOfBoundsException();\r
-}},"java.util.LinkedList,~N");\r
-Clazz.overrideMethod(c$,"add",\r
-function(a){\r
-if(this.expectedModCount==this.list.modCount){\r
-var b=this.link.next;\r
-var c=new java.util.LinkedList.Link(a,this.link,b);\r
-this.link.next=c;\r
-b.previous=c;\r
-this.link=c;\r
-this.lastLink=null;\r
-this.pos++;\r
-this.expectedModCount++;\r
-this.list.$size++;\r
-this.list.modCount++;\r
-}else{\r
-throw new java.util.ConcurrentModificationException();\r
-}},"~O");\r
-Clazz.overrideMethod(c$,"hasNext",\r
-function(){\r
-return this.link.next!==this.list.voidLink;\r
-});\r
-Clazz.overrideMethod(c$,"hasPrevious",\r
-function(){\r
-return this.link!==this.list.voidLink;\r
-});\r
-Clazz.overrideMethod(c$,"next",\r
-function(){\r
-if(this.expectedModCount==this.list.modCount){\r
-var a=this.link.next;\r
-if(a!==this.list.voidLink){\r
-this.lastLink=this.link=a;\r
-this.pos++;\r
-return this.link.data;\r
-}throw new java.util.NoSuchElementException();\r
-}throw new java.util.ConcurrentModificationException();\r
-});\r
-Clazz.overrideMethod(c$,"nextIndex",\r
-function(){\r
-return this.pos+1;\r
-});\r
-Clazz.overrideMethod(c$,"previous",\r
-function(){\r
-if(this.expectedModCount==this.list.modCount){\r
-if(this.link!==this.list.voidLink){\r
-this.lastLink=this.link;\r
-this.link=this.link.previous;\r
-this.pos--;\r
-return this.lastLink.data;\r
-}throw new java.util.NoSuchElementException();\r
-}throw new java.util.ConcurrentModificationException();\r
-});\r
-Clazz.overrideMethod(c$,"previousIndex",\r
-function(){\r
-return this.pos;\r
-});\r
-Clazz.overrideMethod(c$,"remove",\r
-function(){\r
-if(this.expectedModCount==this.list.modCount){\r
-if(this.lastLink!=null){\r
-var a=this.lastLink.next;\r
-var b=this.lastLink.previous;\r
-a.previous=b;\r
-b.next=a;\r
-if(this.lastLink===this.link){\r
-this.pos--;\r
-}this.link=b;\r
-this.lastLink=null;\r
-this.expectedModCount++;\r
-this.list.$size--;\r
-this.list.modCount++;\r
-}else{\r
-throw new IllegalStateException();\r
-}}else{\r
-throw new java.util.ConcurrentModificationException();\r
-}});\r
-Clazz.overrideMethod(c$,"set",\r
-function(a){\r
-if(this.expectedModCount==this.list.modCount){\r
-if(this.lastLink!=null){\r
-this.lastLink.data=a;\r
-}else{\r
-throw new IllegalStateException();\r
-}}else{\r
-throw new java.util.ConcurrentModificationException();\r
-}},"~O");\r
-c$=Clazz.p0p();\r
-});\r
+Clazz.load(["java.util.AbstractSequentialList","$.List","$.ListIterator","$.Queue"],"java.util.LinkedList",["java.lang.IllegalStateException","$.IndexOutOfBoundsException","java.lang.reflect.Array","java.util.ConcurrentModificationException","$.NoSuchElementException"],function(){
+c$=Clazz.decorateAsClass(function(){
+this.$size=0;
+this.voidLink=null;
+Clazz.instantialize(this,arguments);
+},java.util,"LinkedList",java.util.AbstractSequentialList,[java.util.List,java.util.Queue,Cloneable,java.io.Serializable]);
+Clazz.makeConstructor(c$,
+function(){
+Clazz.superConstructor(this,java.util.LinkedList,[]);
+this.voidLink=new java.util.LinkedList.Link(null,null,null);
+this.voidLink.previous=this.voidLink;
+this.voidLink.next=this.voidLink;
+});
+Clazz.makeConstructor(c$,
+function(collection){
+this.construct();
+this.addAll(collection);
+},"java.util.Collection");
+Clazz.defineMethod(c$,"add",
+function(location,object){
+if(0<=location&&location<=this.$size){
+var link=this.voidLink;
+if(location<(Math.floor(this.$size/2))){
+for(var i=0;i<=location;i++){
+link=link.next;
+}
+}else{
+for(var i=this.$size;i>location;i--){
+link=link.previous;
+}
+}var previous=link.previous;
+var newLink=new java.util.LinkedList.Link(object,previous,link);
+previous.next=newLink;
+link.previous=newLink;
+this.$size++;
+this.modCount++;
+}else{
+throw new IndexOutOfBoundsException();
+}},"~N,~O");
+Clazz.defineMethod(c$,"add",
+function(object){
+var oldLast=this.voidLink.previous;
+var newLink=new java.util.LinkedList.Link(object,oldLast,this.voidLink);
+this.voidLink.previous=newLink;
+oldLast.next=newLink;
+this.$size++;
+this.modCount++;
+return true;
+},"~O");
+Clazz.defineMethod(c$,"addAll",
+function(location,collection){
+if(location<0||location>this.$size){
+throw new IndexOutOfBoundsException();
+}var adding=collection.size();
+if(adding==0){
+return false;
+}var previous=this.voidLink;
+if(location<(Math.floor(this.$size/2))){
+for(var i=0;i<location;i++){
+previous=previous.next;
+}
+}else{
+for(var i=this.$size;i>=location;i--){
+previous=previous.previous;
+}
+}var next=previous.next;
+for(var e,$e=collection.iterator();$e.hasNext()&&((e=$e.next())||true);){
+var newLink=new java.util.LinkedList.Link(e,previous,null);
+previous.next=newLink;
+previous=newLink;
+}
+previous.next=next;
+next.previous=previous;
+this.$size+=adding;
+this.modCount++;
+return true;
+},"~N,java.util.Collection");
+Clazz.defineMethod(c$,"addAll",
+function(collection){
+var adding=collection.size();
+if(adding==0){
+return false;
+}var previous=this.voidLink.previous;
+for(var e,$e=collection.iterator();$e.hasNext()&&((e=$e.next())||true);){
+var newLink=new java.util.LinkedList.Link(e,previous,null);
+previous.next=newLink;
+previous=newLink;
+}
+previous.next=this.voidLink;
+this.voidLink.previous=previous;
+this.$size+=adding;
+this.modCount++;
+return true;
+},"java.util.Collection");
+Clazz.defineMethod(c$,"addFirst",
+function(object){
+var oldFirst=this.voidLink.next;
+var newLink=new java.util.LinkedList.Link(object,this.voidLink,oldFirst);
+this.voidLink.next=newLink;
+oldFirst.previous=newLink;
+this.$size++;
+this.modCount++;
+},"~O");
+Clazz.defineMethod(c$,"addLast",
+function(object){
+var oldLast=this.voidLink.previous;
+var newLink=new java.util.LinkedList.Link(object,oldLast,this.voidLink);
+this.voidLink.previous=newLink;
+oldLast.next=newLink;
+this.$size++;
+this.modCount++;
+},"~O");
+Clazz.overrideMethod(c$,"clear",
+function(){
+if(this.$size>0){
+this.$size=0;
+this.voidLink.next=this.voidLink;
+this.voidLink.previous=this.voidLink;
+this.modCount++;
+}});
+Clazz.overrideMethod(c$,"clone",
+function(){
+return new java.util.LinkedList(this);
+});
+Clazz.overrideMethod(c$,"contains",
+function(object){
+var link=this.voidLink.next;
+if(object!=null){
+while(link!==this.voidLink){
+if(object.equals(link.data)){
+return true;
+}link=link.next;
+}
+}else{
+while(link!==this.voidLink){
+if(link.data==null){
+return true;
+}link=link.next;
+}
+}return false;
+},"~O");
+Clazz.overrideMethod(c$,"get",
+function(location){
+if(0<=location&&location<this.$size){
+var link=this.voidLink;
+if(location<(Math.floor(this.$size/2))){
+for(var i=0;i<=location;i++){
+link=link.next;
+}
+}else{
+for(var i=this.$size;i>location;i--){
+link=link.previous;
+}
+}return link.data;
+}throw new IndexOutOfBoundsException();
+},"~N");
+Clazz.defineMethod(c$,"getFirst",
+function(){
+var first=this.voidLink.next;
+if(first!==this.voidLink){
+return first.data;
+}throw new java.util.NoSuchElementException();
+});
+Clazz.defineMethod(c$,"getLast",
+function(){
+var last=this.voidLink.previous;
+if(last!==this.voidLink){
+return last.data;
+}throw new java.util.NoSuchElementException();
+});
+Clazz.overrideMethod(c$,"indexOf",
+function(object){
+var pos=0;
+var link=this.voidLink.next;
+if(object!=null){
+while(link!==this.voidLink){
+if(object.equals(link.data)){
+return pos;
+}link=link.next;
+pos++;
+}
+}else{
+while(link!==this.voidLink){
+if(link.data==null){
+return pos;
+}link=link.next;
+pos++;
+}
+}return-1;
+},"~O");
+Clazz.overrideMethod(c$,"lastIndexOf",
+function(object){
+var pos=this.$size;
+var link=this.voidLink.previous;
+if(object!=null){
+while(link!==this.voidLink){
+pos--;
+if(object.equals(link.data)){
+return pos;
+}link=link.previous;
+}
+}else{
+while(link!==this.voidLink){
+pos--;
+if(link.data==null){
+return pos;
+}link=link.previous;
+}
+}return-1;
+},"~O");
+Clazz.defineMethod(c$,"listIterator",
+function(location){
+return new java.util.LinkedList.LinkIterator(this,location);
+},"~N");
+Clazz.defineMethod(c$,"remove",
+function(location){
+if(0<=location&&location<this.$size){
+var link=this.voidLink;
+if(location<(Math.floor(this.$size/2))){
+for(var i=0;i<=location;i++){
+link=link.next;
+}
+}else{
+for(var i=this.$size;i>location;i--){
+link=link.previous;
+}
+}var previous=link.previous;
+var next=link.next;
+previous.next=next;
+next.previous=previous;
+this.$size--;
+this.modCount++;
+return link.data;
+}throw new IndexOutOfBoundsException();
+},"~N");
+Clazz.defineMethod(c$,"remove",
+function(object){
+var link=this.voidLink.next;
+if(object!=null){
+while(link!==this.voidLink&&!object.equals(link.data)){
+link=link.next;
+}
+}else{
+while(link!==this.voidLink&&link.data!=null){
+link=link.next;
+}
+}if(link===this.voidLink){
+return false;
+}var next=link.next;
+var previous=link.previous;
+previous.next=next;
+next.previous=previous;
+this.$size--;
+this.modCount++;
+return true;
+},"~O");
+Clazz.defineMethod(c$,"removeFirst",
+function(){
+var first=this.voidLink.next;
+if(first!==this.voidLink){
+var next=first.next;
+this.voidLink.next=next;
+next.previous=this.voidLink;
+this.$size--;
+this.modCount++;
+return first.data;
+}throw new java.util.NoSuchElementException();
+});
+Clazz.defineMethod(c$,"removeLast",
+function(){
+var last=this.voidLink.previous;
+if(last!==this.voidLink){
+var previous=last.previous;
+this.voidLink.previous=previous;
+previous.next=this.voidLink;
+this.$size--;
+this.modCount++;
+return last.data;
+}throw new java.util.NoSuchElementException();
+});
+Clazz.overrideMethod(c$,"set",
+function(location,object){
+if(0<=location&&location<this.$size){
+var link=this.voidLink;
+if(location<(Math.floor(this.$size/2))){
+for(var i=0;i<=location;i++){
+link=link.next;
+}
+}else{
+for(var i=this.$size;i>location;i--){
+link=link.previous;
+}
+}var result=link.data;
+link.data=object;
+return result;
+}throw new IndexOutOfBoundsException();
+},"~N,~O");
+Clazz.overrideMethod(c$,"size",
+function(){
+return this.$size;
+});
+Clazz.overrideMethod(c$,"offer",
+function(o){
+this.add(o);
+return true;
+},"~O");
+Clazz.overrideMethod(c$,"poll",
+function(){
+return this.$size==0?null:this.removeFirst();
+});
+Clazz.defineMethod(c$,"remove",
+function(){
+return this.removeFirst();
+});
+Clazz.overrideMethod(c$,"peek",
+function(){
+var first=this.voidLink.next;
+return first===this.voidLink?null:first.data;
+});
+Clazz.overrideMethod(c$,"element",
+function(){
+return this.getFirst();
+});
+Clazz.defineMethod(c$,"toArray",
+function(){
+var index=0;
+var contents=new Array(this.$size);
+var link=this.voidLink.next;
+while(link!==this.voidLink){
+contents[index++]=link.data;
+link=link.next;
+}
+return contents;
+});
+Clazz.defineMethod(c$,"toArray",
+function(contents){
+var index=0;
+if(this.$size>contents.length){
+var ct=contents.getClass().getComponentType();
+contents=java.lang.reflect.Array.newInstance(ct,this.$size);
+}var link=this.voidLink.next;
+while(link!==this.voidLink){
+contents[index++]=link.data;
+link=link.next;
+}
+if(index<contents.length){
+contents[index]=null;
+}return contents;
+},"~A");
+Clazz.pu$h(self.c$);
+c$=Clazz.decorateAsClass(function(){
+this.data=null;
+this.previous=null;
+this.next=null;
+Clazz.instantialize(this,arguments);
+},java.util.LinkedList,"Link");
+Clazz.makeConstructor(c$,
+function(a,b,c){
+this.data=a;
+this.previous=b;
+this.next=c;
+},"~O,java.util.LinkedList.Link,java.util.LinkedList.Link");
+c$=Clazz.p0p();
+Clazz.pu$h(self.c$);
+c$=Clazz.decorateAsClass(function(){
+this.pos=0;
+this.expectedModCount=0;
+this.list=null;
+this.link=null;
+this.lastLink=null;
+Clazz.instantialize(this,arguments);
+},java.util.LinkedList,"LinkIterator",null,java.util.ListIterator);
+Clazz.makeConstructor(c$,
+function(a,b){
+this.list=a;
+this.expectedModCount=this.list.modCount;
+if(0<=b&&b<=this.list.$size){
+this.link=this.list.voidLink;
+if(b<Math.floor(this.list.$size/2)){
+for(this.pos=-1;this.pos+1<b;this.pos++){
+this.link=this.link.next;
+}
+}else{
+for(this.pos=this.list.$size;this.pos>=b;this.pos--){
+this.link=this.link.previous;
+}
+}}else{
+throw new IndexOutOfBoundsException();
+}},"java.util.LinkedList,~N");
+Clazz.overrideMethod(c$,"add",
+function(a){
+if(this.expectedModCount==this.list.modCount){
+var b=this.link.next;
+var c=new java.util.LinkedList.Link(a,this.link,b);
+this.link.next=c;
+b.previous=c;
+this.link=c;
+this.lastLink=null;
+this.pos++;
+this.expectedModCount++;
+this.list.$size++;
+this.list.modCount++;
+}else{
+throw new java.util.ConcurrentModificationException();
+}},"~O");
+Clazz.overrideMethod(c$,"hasNext",
+function(){
+return this.link.next!==this.list.voidLink;
+});
+Clazz.overrideMethod(c$,"hasPrevious",
+function(){
+return this.link!==this.list.voidLink;
+});
+Clazz.overrideMethod(c$,"next",
+function(){
+if(this.expectedModCount==this.list.modCount){
+var a=this.link.next;
+if(a!==this.list.voidLink){
+this.lastLink=this.link=a;
+this.pos++;
+return this.link.data;
+}throw new java.util.NoSuchElementException();
+}throw new java.util.ConcurrentModificationException();
+});
+Clazz.overrideMethod(c$,"nextIndex",
+function(){
+return this.pos+1;
+});
+Clazz.overrideMethod(c$,"previous",
+function(){
+if(this.expectedModCount==this.list.modCount){
+if(this.link!==this.list.voidLink){
+this.lastLink=this.link;
+this.link=this.link.previous;
+this.pos--;
+return this.lastLink.data;
+}throw new java.util.NoSuchElementException();
+}throw new java.util.ConcurrentModificationException();
+});
+Clazz.overrideMethod(c$,"previousIndex",
+function(){
+return this.pos;
+});
+Clazz.overrideMethod(c$,"remove",
+function(){
+if(this.expectedModCount==this.list.modCount){
+if(this.lastLink!=null){
+var a=this.lastLink.next;
+var b=this.lastLink.previous;
+a.previous=b;
+b.next=a;
+if(this.lastLink===this.link){
+this.pos--;
+}this.link=b;
+this.lastLink=null;
+this.expectedModCount++;
+this.list.$size--;
+this.list.modCount++;
+}else{
+throw new IllegalStateException();
+}}else{
+throw new java.util.ConcurrentModificationException();
+}});
+Clazz.overrideMethod(c$,"set",
+function(a){
+if(this.expectedModCount==this.list.modCount){
+if(this.lastLink!=null){
+this.lastLink.data=a;
+}else{
+throw new IllegalStateException();
+}}else{
+throw new java.util.ConcurrentModificationException();
+}},"~O");
+c$=Clazz.p0p();
+});