Merge branch 'master' of https://source.jalview.org/git/jalviewjs.git
[jalviewjs.git] / site / j2s / java / lang / StringBuilder.z.js
index 4873928..f12aa0e 100644 (file)
-/* http://j2s.sf.net/ */Clazz.load(null,"java.lang.AbstractStringBuilder",["java.io.InvalidObjectException","java.lang.ArrayIndexOutOfBoundsException","$.IndexOutOfBoundsException","$.NegativeArraySizeException","$.NullPointerException","$.StringIndexOutOfBoundsException"],function(){\r
-c$=Clazz.decorateAsClass(function(){\r
-this.value=null;\r
-this.count=0;\r
-this.shared=false;\r
-Clazz.instantialize(this,arguments);\r
-},java.lang,"AbstractStringBuilder");\r
-Clazz.defineMethod(c$,"getValue",\r
-function(){\r
-return this.value;\r
-});\r
-Clazz.defineMethod(c$,"shareValue",\r
-function(){\r
-this.shared=true;\r
-return this.value;\r
-});\r
-Clazz.defineMethod(c$,"set",\r
-function(val,len){\r
-if(val==null)val=Clazz.newArray(0,'\0');\r
-if(val.length<len)throw new java.io.InvalidObjectException(("K0199"));\r
-this.shared=false;\r
-this.value=val;\r
-this.count=len;\r
-},"~A,~N");\r
-Clazz.makeConstructor(c$,\r
-function(){\r
-this.value=Clazz.newArray(16,'\0');\r
-});\r
-Clazz.makeConstructor(c$,\r
-function(capacity){\r
-if(capacity<0)throw new NegativeArraySizeException();\r
-this.value=Clazz.newArray(capacity,'\0');\r
-},"~N");\r
-Clazz.makeConstructor(c$,\r
-function(string){\r
-this.count=string.length;\r
-this.shared=false;\r
-this.value=Clazz.newArray(this.count+16,'\0');\r
-string.getChars(0,this.count,this.value,0);\r
-},"~S");\r
-Clazz.defineMethod(c$,"enlargeBuffer",\r
-($fz=function(min){\r
-var twice=(this.value.length<<1)+2;\r
-var newData=Clazz.newArray(min>twice?min:twice,'\0');\r
-System.arraycopy(this.value,0,newData,0,this.count);\r
-this.value=newData;\r
-this.shared=false;\r
-},$fz.isPrivate=true,$fz),"~N");\r
-Clazz.defineMethod(c$,"appendNull",\r
-function(){\r
-var newSize=this.count+4;\r
-if(newSize>this.value.length){\r
-this.enlargeBuffer(newSize);\r
-}else if(this.shared){\r
-this.value=this.value.clone();\r
-this.shared=false;\r
-}this.value[this.count++]='n';\r
-this.value[this.count++]='u';\r
-this.value[this.count++]='l';\r
-this.value[this.count++]='l';\r
-});\r
-Clazz.defineMethod(c$,"append0",\r
-function(chars){\r
-var newSize=this.count+chars.length;\r
-if(newSize>this.value.length){\r
-this.enlargeBuffer(newSize);\r
-}else if(this.shared){\r
-this.value=this.value.clone();\r
-this.shared=false;\r
-}System.arraycopy(chars,0,this.value,this.count,chars.length);\r
-this.count=newSize;\r
-},"~A");\r
-Clazz.defineMethod(c$,"append0",\r
-function(chars,start,length){\r
-if(chars==null){\r
-throw new NullPointerException();\r
-}if(start>=0&&0<=length&&length<=chars.length-start){\r
-var newSize=this.count+length;\r
-if(newSize>this.value.length){\r
-this.enlargeBuffer(newSize);\r
-}else if(this.shared){\r
-this.value=this.value.clone();\r
-this.shared=false;\r
-}System.arraycopy(chars,start,this.value,this.count,length);\r
-this.count=newSize;\r
-}else{\r
-throw new ArrayIndexOutOfBoundsException();\r
-}},"~A,~N,~N");\r
-Clazz.defineMethod(c$,"append0",\r
-function(ch){\r
-if(this.count==this.value.length){\r
-this.enlargeBuffer(this.count+1);\r
-}if(this.shared){\r
-this.value=this.value.clone();\r
-this.shared=false;\r
-}this.value[this.count++]=ch;\r
-},"~N");\r
-Clazz.defineMethod(c$,"append0",\r
-function(string){\r
-if(string==null){\r
-this.appendNull();\r
-return;\r
-}var adding=string.length;\r
-var newSize=this.count+adding;\r
-if(newSize>this.value.length){\r
-this.enlargeBuffer(newSize);\r
-}else if(this.shared){\r
-this.value=this.value.clone();\r
-this.shared=false;\r
-}string.getChars(0,adding,this.value,this.count);\r
-this.count=newSize;\r
-},"~S");\r
-Clazz.defineMethod(c$,"append0",\r
-function(s,start,end){\r
-if(s==null)s="null";\r
-if(start<0||end<0||start>end||end>s.length())throw new IndexOutOfBoundsException();\r
-this.append0(s.subSequence(start,end).toString());\r
-},"CharSequence,~N,~N");\r
-Clazz.defineMethod(c$,"capacity",\r
-function(){\r
-return this.value.length;\r
-});\r
-Clazz.defineMethod(c$,"charAt",\r
-function(index){\r
-if(index<0||index>=this.count)throw new StringIndexOutOfBoundsException(index);\r
-return this.value[index];\r
-},"~N");\r
-Clazz.defineMethod(c$,"delete0",\r
-function(start,end){\r
-if(start>=0){\r
-if(end>this.count){\r
-end=this.count;\r
-}if(end==start){\r
-return;\r
-}if(end>start){\r
-var length=this.count-end;\r
-if(length>0){\r
-if(!this.shared){\r
-System.arraycopy(this.value,end,this.value,start,length);\r
-}else{\r
-var newData=Clazz.newArray(this.value.length,'\0');\r
-System.arraycopy(this.value,0,newData,0,start);\r
-System.arraycopy(this.value,end,newData,start,length);\r
-this.value=newData;\r
-this.shared=false;\r
-}}this.count-=end-start;\r
-return;\r
-}}throw new StringIndexOutOfBoundsException();\r
-},"~N,~N");\r
-Clazz.defineMethod(c$,"deleteCharAt0",\r
-function(location){\r
-if(0>location||location>=this.count)throw new StringIndexOutOfBoundsException(location);\r
-var length=this.count-location-1;\r
-if(length>0){\r
-if(!this.shared){\r
-System.arraycopy(this.value,location+1,this.value,location,length);\r
-}else{\r
-var newData=Clazz.newArray(this.value.length,'\0');\r
-System.arraycopy(this.value,0,newData,0,location);\r
-System.arraycopy(this.value,location+1,newData,location,length);\r
-this.value=newData;\r
-this.shared=false;\r
-}}this.count--;\r
-},"~N");\r
-Clazz.defineMethod(c$,"ensureCapacity",\r
-function(min){\r
-if(min>this.value.length){\r
-this.enlargeBuffer(min);\r
-}},"~N");\r
-Clazz.defineMethod(c$,"getChars",\r
-function(start,end,dest,destStart){\r
-if(start>this.count||end>this.count||start>end){\r
-throw new StringIndexOutOfBoundsException();\r
-}System.arraycopy(this.value,start,dest,destStart,end-start);\r
-},"~N,~N,~A,~N");\r
-Clazz.defineMethod(c$,"insert0",\r
-function(index,chars){\r
-if(0>index||index>this.count){\r
-throw new StringIndexOutOfBoundsException(index);\r
-}if(chars.length!=0){\r
-this.move(chars.length,index);\r
-System.arraycopy(chars,0,this.value,index,chars.length);\r
-this.count+=chars.length;\r
-}},"~N,~A");\r
-Clazz.defineMethod(c$,"insert0",\r
-function(index,chars,start,length){\r
-if(0<=index&&index<=this.count){\r
-if(start>=0&&0<=length&&length<=chars.length-start){\r
-if(length!=0){\r
-this.move(length,index);\r
-System.arraycopy(chars,start,this.value,index,length);\r
-this.count+=length;\r
-}return;\r
-}throw new StringIndexOutOfBoundsException("offset "+start+", len "+length+", array.length "+chars.length);\r
-}throw new StringIndexOutOfBoundsException(index);\r
-},"~N,~A,~N,~N");\r
-Clazz.defineMethod(c$,"insert0",\r
-function(index,ch){\r
-if(0>index||index>this.count){\r
-throw new ArrayIndexOutOfBoundsException(index);\r
-}this.move(1,index);\r
-this.value[index]=ch;\r
-this.count++;\r
-},"~N,~N");\r
-Clazz.defineMethod(c$,"insert0",\r
-function(index,string){\r
-if(0<=index&&index<=this.count){\r
-if(string==null)string="null";\r
-var min=string.length;\r
-if(min!=0){\r
-this.move(min,index);\r
-string.getChars(0,min,this.value,index);\r
-this.count+=min;\r
-}}else{\r
-throw new StringIndexOutOfBoundsException(index);\r
-}},"~N,~S");\r
-Clazz.defineMethod(c$,"insert0",\r
-function(index,s,start,end){\r
-if(s==null)s="null";\r
-if(index<0||index>this.count||start<0||end<0||start>end||end>s.length())throw new IndexOutOfBoundsException();\r
-this.insert0(index,s.subSequence(start,end).toString());\r
-},"~N,CharSequence,~N,~N");\r
-Clazz.defineMethod(c$,"length",\r
-function(){\r
-return this.count;\r
-});\r
-Clazz.defineMethod(c$,"move",\r
-($fz=function(size,index){\r
-var newSize;\r
-if(this.value.length-this.count>=size){\r
-if(!this.shared){\r
-System.arraycopy(this.value,index,this.value,index+size,this.count-index);\r
-return;\r
-}newSize=this.value.length;\r
-}else{\r
-var a=this.count+size;\r
-var b=(this.value.length<<1)+2;\r
-newSize=a>b?a:b;\r
-}var newData=Clazz.newArray(newSize,'\0');\r
-System.arraycopy(this.value,0,newData,0,index);\r
-System.arraycopy(this.value,index,newData,index+size,this.count-index);\r
-this.value=newData;\r
-this.shared=false;\r
-},$fz.isPrivate=true,$fz),"~N,~N");\r
-Clazz.defineMethod(c$,"replace0",\r
-function(start,end,string){\r
-if(start>=0){\r
-if(end>this.count)end=this.count;\r
-if(end>start){\r
-var stringLength=string.length;\r
-var diff=end-start-stringLength;\r
-if(diff>0){\r
-if(!this.shared){\r
-System.arraycopy(this.value,end,this.value,start+stringLength,this.count-end);\r
-}else{\r
-var newData=Clazz.newArray(this.value.length,'\0');\r
-System.arraycopy(this.value,0,newData,0,start);\r
-System.arraycopy(this.value,end,newData,start+stringLength,this.count-end);\r
-this.value=newData;\r
-this.shared=false;\r
-}}else if(diff<0){\r
-this.move(-diff,end);\r
-}else if(this.shared){\r
-this.value=this.value.clone();\r
-this.shared=false;\r
-}string.getChars(0,stringLength,this.value,start);\r
-this.count-=diff;\r
-return;\r
-}if(start==end){\r
-if(string==null)throw new NullPointerException();\r
-this.insert0(start,string);\r
-return;\r
-}}throw new StringIndexOutOfBoundsException();\r
-},"~N,~N,~S");\r
-Clazz.defineMethod(c$,"reverse0",\r
-function(){\r
-if(this.count<2){\r
-return;\r
-}if(!this.shared){\r
-for(var i=0,end=this.count,mid=Math.floor(this.count/2);i<mid;i++){\r
-var temp=this.value[--end];\r
-this.value[end]=this.value[i];\r
-this.value[i]=temp;\r
-}\r
-}else{\r
-var newData=Clazz.newArray(this.value.length,'\0');\r
-for(var i=0,end=this.count;i<this.count;i++){\r
-newData[--end]=this.value[i];\r
-}\r
-this.value=newData;\r
-this.shared=false;\r
-}});\r
-Clazz.defineMethod(c$,"setCharAt",\r
-function(index,ch){\r
-if(0>index||index>=this.count){\r
-throw new StringIndexOutOfBoundsException(index);\r
-}if(this.shared){\r
-this.value=this.value.clone();\r
-this.shared=false;\r
-}this.value[index]=ch;\r
-},"~N,~N");\r
-Clazz.defineMethod(c$,"setLength",\r
-function(length){\r
-if(length<0)throw new StringIndexOutOfBoundsException(length);\r
-if(this.count<length){\r
-if(length>this.value.length){\r
-this.enlargeBuffer(length);\r
-}else{\r
-if(this.shared){\r
-var newData=Clazz.newArray(this.value.length,'\0');\r
-System.arraycopy(this.value,0,newData,0,this.count);\r
-this.value=newData;\r
-this.shared=false;\r
-}else{\r
-for(var i=this.count;i<length;i++){\r
-this.value[i]=String.fromCharCode(0);\r
-}\r
-}}}this.count=length;\r
-},"~N");\r
-Clazz.defineMethod(c$,"substring",\r
-function(start){\r
-if(0<=start&&start<=this.count){\r
-if(start==this.count)return"";\r
-this.shared=true;\r
-return String.instantialize(start,this.count-start,this.value);\r
-}throw new StringIndexOutOfBoundsException(start);\r
-},"~N");\r
-Clazz.defineMethod(c$,"substring",\r
-function(start,end){\r
-if(0<=start&&start<=end&&end<=this.count){\r
-if(start==end)return"";\r
-this.shared=true;\r
-return String.instantialize(this.value,start,end-start);\r
-}throw new StringIndexOutOfBoundsException();\r
-},"~N,~N");\r
-Clazz.overrideMethod(c$,"toString",\r
-function(){\r
-if(this.count==0)return"";\r
-if(this.count>=256&&this.count<=(this.value.length>>1))return String.instantialize(this.value,0,this.count);\r
-this.shared=true;\r
-return String.instantialize(0,this.count,this.value);\r
-});\r
-Clazz.defineMethod(c$,"subSequence",\r
-function(start,end){\r
-return this.substring(start,end);\r
-},"~N,~N");\r
-Clazz.defineMethod(c$,"indexOf",\r
-function(string){\r
-return this.indexOf(string,0);\r
-},"~S");\r
-Clazz.defineMethod(c$,"indexOf",\r
-function(subString,start){\r
-if(start<0)start=0;\r
-var subCount=subString.length;\r
-if(subCount>0){\r
-if(subCount+start>this.count)return-1;\r
-var firstChar=subString.charAt(0);\r
-while(true){\r
-var i=start;\r
-var found=false;\r
-for(;i<this.count;i++)if((this.value[i]).charCodeAt(0)==(firstChar).charCodeAt(0)){\r
-found=true;\r
-break;\r
-}\r
-if(!found||subCount+i>this.count)return-1;\r
-var o1=i;\r
-var o2=0;\r
-while(++o2<subCount&&(this.value[++o1]).charCodeAt(0)==(subString.charAt(o2)).charCodeAt(0)){\r
-}\r
-if(o2==subCount)return i;\r
-start=i+1;\r
-}\r
-}return(start<this.count||start==0)?start:this.count;\r
-},"~S,~N");\r
-Clazz.defineMethod(c$,"lastIndexOf",\r
-function(string){\r
-return this.lastIndexOf(string,this.count);\r
-},"~S");\r
-Clazz.defineMethod(c$,"lastIndexOf",\r
-function(subString,start){\r
-var subCount=subString.length;\r
-if(subCount<=this.count&&start>=0){\r
-if(subCount>0){\r
-if(start>this.count-subCount)start=this.count-subCount;\r
-var firstChar=subString.charAt(0);\r
-while(true){\r
-var i=start;\r
-var found=false;\r
-for(;i>=0;--i)if((this.value[i]).charCodeAt(0)==(firstChar).charCodeAt(0)){\r
-found=true;\r
-break;\r
-}\r
-if(!found)return-1;\r
-var o1=i;\r
-var o2=0;\r
-while(++o2<subCount&&(this.value[++o1]).charCodeAt(0)==(subString.charAt(o2)).charCodeAt(0)){\r
-}\r
-if(o2==subCount)return i;\r
-start=i-1;\r
-}\r
-}return start<this.count?start:this.count;\r
-}return-1;\r
-},"~S,~N");\r
-Clazz.defineMethod(c$,"trimToSize",\r
-function(){\r
-if(this.count<this.value.length){\r
-var newValue=Clazz.newArray(this.count,'\0');\r
-System.arraycopy(this.value,0,newValue,0,this.count);\r
-this.value=newValue;\r
-this.shared=false;\r
-}});\r
-Clazz.defineStatics(c$,\r
-"INITIAL_CAPACITY",16);\r
-});\r
-Clazz.load(["java.lang.AbstractStringBuilder","$.Appendable"],"java.lang.StringBuilder",["java.lang.Double","$.Float","$.Long"],function(){\r
-c$=Clazz.declareType(java.lang,"StringBuilder",AbstractStringBuilder,[Appendable,CharSequence,java.io.Serializable]);\r
-Clazz.makeConstructor(c$,\r
-function(seq){\r
-Clazz.superConstructor(this,StringBuilder,[seq.toString()]);\r
-},"CharSequence");\r
-Clazz.defineMethod(c$,"append",\r
-function(b){\r
-this.append0(b?"true":"false");\r
-return this;\r
-},"~B");\r
-Clazz.defineMethod(c$,"append",\r
-function(c){\r
-this.append0(c);\r
-return this;\r
-},"~N");\r
-Clazz.defineMethod(c$,"append",\r
-function(i){\r
-this.append0(Integer.toString(i));\r
-return this;\r
-},"~N");\r
-Clazz.defineMethod(c$,"append",\r
-function(lng){\r
-this.append0(Long.toString(lng));\r
-return this;\r
-},"~N");\r
-Clazz.defineMethod(c$,"append",\r
-function(f){\r
-this.append0(Float.toString(f));\r
-return this;\r
-},"~N");\r
-Clazz.defineMethod(c$,"append",\r
-function(d){\r
-this.append0(Double.toString(d));\r
-return this;\r
-},"~N");\r
-Clazz.defineMethod(c$,"append",\r
-function(obj){\r
-if(obj==null){\r
-this.appendNull();\r
-}else{\r
-this.append0(obj.toString());\r
-}return this;\r
-},"~O");\r
-Clazz.defineMethod(c$,"append",\r
-function(str){\r
-this.append0(str);\r
-return this;\r
-},"~S");\r
-Clazz.defineMethod(c$,"append",\r
-function(sb){\r
-if(sb==null){\r
-this.appendNull();\r
-}else{\r
-this.append0(sb.getValue(),0,sb.length());\r
-}return this;\r
-},"StringBuffer");\r
-Clazz.defineMethod(c$,"append",\r
-function(ch){\r
-this.append0(ch);\r
-return this;\r
-},"~A");\r
-Clazz.defineMethod(c$,"append",\r
-function(str,offset,len){\r
-this.append0(str,offset,len);\r
-return this;\r
-},"~A,~N,~N");\r
-Clazz.defineMethod(c$,"append",\r
-function(csq){\r
-if(csq==null){\r
-this.appendNull();\r
-}else{\r
-this.append0(csq.toString());\r
-}return this;\r
-},"CharSequence");\r
-Clazz.defineMethod(c$,"append",\r
-function(csq,start,end){\r
-this.append0(csq,start,end);\r
-return this;\r
-},"CharSequence,~N,~N");\r
-Clazz.defineMethod(c$,"$delete",\r
-function(start,end){\r
-this.delete0(start,end);\r
-return this;\r
-},"~N,~N");\r
-Clazz.defineMethod(c$,"deleteCharAt",\r
-function(index){\r
-this.deleteCharAt0(index);\r
-return this;\r
-},"~N");\r
-Clazz.defineMethod(c$,"insert",\r
-function(offset,b){\r
-this.insert0(offset,b?"true":"false");\r
-return this;\r
-},"~N,~B");\r
-Clazz.defineMethod(c$,"insert",\r
-function(offset,c){\r
-this.insert0(offset,c);\r
-return this;\r
-},"~N,~N");\r
-Clazz.defineMethod(c$,"insert",\r
-function(offset,i){\r
-this.insert0(offset,Integer.toString(i));\r
-return this;\r
-},"~N,~N");\r
-Clazz.defineMethod(c$,"insert",\r
-function(offset,l){\r
-this.insert0(offset,Long.toString(l));\r
-return this;\r
-},"~N,~N");\r
-Clazz.defineMethod(c$,"insert",\r
-function(offset,f){\r
-this.insert0(offset,Float.toString(f));\r
-return this;\r
-},"~N,~N");\r
-Clazz.defineMethod(c$,"insert",\r
-function(offset,d){\r
-this.insert0(offset,Double.toString(d));\r
-return this;\r
-},"~N,~N");\r
-Clazz.defineMethod(c$,"insert",\r
-function(offset,obj){\r
-this.insert0(offset,obj==null?"null":obj.toString());\r
-return this;\r
-},"~N,~O");\r
-Clazz.defineMethod(c$,"insert",\r
-function(offset,str){\r
-this.insert0(offset,str);\r
-return this;\r
-},"~N,~S");\r
-Clazz.defineMethod(c$,"insert",\r
-function(offset,ch){\r
-this.insert0(offset,ch);\r
-return this;\r
-},"~N,~A");\r
-Clazz.defineMethod(c$,"insert",\r
-function(offset,str,strOffset,strLen){\r
-this.insert0(offset,str,strOffset,strLen);\r
-return this;\r
-},"~N,~A,~N,~N");\r
-Clazz.defineMethod(c$,"insert",\r
-function(offset,s){\r
-this.insert0(offset,s==null?"null":s.toString());\r
-return this;\r
-},"~N,CharSequence");\r
-Clazz.defineMethod(c$,"insert",\r
-function(offset,s,start,end){\r
-this.insert0(offset,s,start,end);\r
-return this;\r
-},"~N,CharSequence,~N,~N");\r
-Clazz.defineMethod(c$,"replace",\r
-function(start,end,str){\r
-this.replace0(start,end,str);\r
-return this;\r
-},"~N,~N,~S");\r
-Clazz.defineMethod(c$,"reverse",\r
-function(){\r
-this.reverse0();\r
-return this;\r
-});\r
-});\r
+/* http://j2s.sf.net/ */Clazz.load(null,"java.lang.AbstractStringBuilder",["java.io.InvalidObjectException","java.lang.ArrayIndexOutOfBoundsException","$.IndexOutOfBoundsException","$.NegativeArraySizeException","$.NullPointerException","$.StringIndexOutOfBoundsException"],function(){
+c$=Clazz.decorateAsClass(function(){
+this.value=null;
+this.count=0;
+this.shared=false;
+Clazz.instantialize(this,arguments);
+},java.lang,"AbstractStringBuilder");
+Clazz.defineMethod(c$,"getValue",
+function(){
+return this.value;
+});
+Clazz.defineMethod(c$,"shareValue",
+function(){
+this.shared=true;
+return this.value;
+});
+Clazz.defineMethod(c$,"set",
+function(val,len){
+if(val==null)val=Clazz.newArray(0,'\0');
+if(val.length<len)throw new java.io.InvalidObjectException(("K0199"));
+this.shared=false;
+this.value=val;
+this.count=len;
+},"~A,~N");
+Clazz.makeConstructor(c$,
+function(){
+this.value=Clazz.newArray(16,'\0');
+});
+Clazz.makeConstructor(c$,
+function(capacity){
+if(capacity<0)throw new NegativeArraySizeException();
+this.value=Clazz.newArray(capacity,'\0');
+},"~N");
+Clazz.makeConstructor(c$,
+function(string){
+this.count=string.length;
+this.shared=false;
+this.value=Clazz.newArray(this.count+16,'\0');
+string.getChars(0,this.count,this.value,0);
+},"~S");
+Clazz.defineMethod(c$,"enlargeBuffer",
+($fz=function(min){
+var twice=(this.value.length<<1)+2;
+var newData=Clazz.newArray(min>twice?min:twice,'\0');
+System.arraycopy(this.value,0,newData,0,this.count);
+this.value=newData;
+this.shared=false;
+},$fz.isPrivate=true,$fz),"~N");
+Clazz.defineMethod(c$,"appendNull",
+function(){
+var newSize=this.count+4;
+if(newSize>this.value.length){
+this.enlargeBuffer(newSize);
+}else if(this.shared){
+this.value=this.value.clone();
+this.shared=false;
+}this.value[this.count++]='n';
+this.value[this.count++]='u';
+this.value[this.count++]='l';
+this.value[this.count++]='l';
+});
+Clazz.defineMethod(c$,"append0",
+function(chars){
+var newSize=this.count+chars.length;
+if(newSize>this.value.length){
+this.enlargeBuffer(newSize);
+}else if(this.shared){
+this.value=this.value.clone();
+this.shared=false;
+}System.arraycopy(chars,0,this.value,this.count,chars.length);
+this.count=newSize;
+},"~A");
+Clazz.defineMethod(c$,"append0",
+function(chars,start,length){
+if(chars==null){
+throw new NullPointerException();
+}if(start>=0&&0<=length&&length<=chars.length-start){
+var newSize=this.count+length;
+if(newSize>this.value.length){
+this.enlargeBuffer(newSize);
+}else if(this.shared){
+this.value=this.value.clone();
+this.shared=false;
+}System.arraycopy(chars,start,this.value,this.count,length);
+this.count=newSize;
+}else{
+throw new ArrayIndexOutOfBoundsException();
+}},"~A,~N,~N");
+Clazz.defineMethod(c$,"append0",
+function(ch){
+if(this.count==this.value.length){
+this.enlargeBuffer(this.count+1);
+}if(this.shared){
+this.value=this.value.clone();
+this.shared=false;
+}this.value[this.count++]=ch;
+},"~N");
+Clazz.defineMethod(c$,"append0",
+function(string){
+if(string==null){
+this.appendNull();
+return;
+}var adding=string.length;
+var newSize=this.count+adding;
+if(newSize>this.value.length){
+this.enlargeBuffer(newSize);
+}else if(this.shared){
+this.value=this.value.clone();
+this.shared=false;
+}string.getChars(0,adding,this.value,this.count);
+this.count=newSize;
+},"~S");
+Clazz.defineMethod(c$,"append0",
+function(s,start,end){
+if(s==null)s="null";
+if(start<0||end<0||start>end||end>s.length())throw new IndexOutOfBoundsException();
+this.append0(s.subSequence(start,end).toString());
+},"CharSequence,~N,~N");
+Clazz.defineMethod(c$,"capacity",
+function(){
+return this.value.length;
+});
+Clazz.defineMethod(c$,"charAt",
+function(index){
+if(index<0||index>=this.count)throw new StringIndexOutOfBoundsException(index);
+return this.value[index];
+},"~N");
+Clazz.defineMethod(c$,"delete0",
+function(start,end){
+if(start>=0){
+if(end>this.count){
+end=this.count;
+}if(end==start){
+return;
+}if(end>start){
+var length=this.count-end;
+if(length>0){
+if(!this.shared){
+System.arraycopy(this.value,end,this.value,start,length);
+}else{
+var newData=Clazz.newArray(this.value.length,'\0');
+System.arraycopy(this.value,0,newData,0,start);
+System.arraycopy(this.value,end,newData,start,length);
+this.value=newData;
+this.shared=false;
+}}this.count-=end-start;
+return;
+}}throw new StringIndexOutOfBoundsException();
+},"~N,~N");
+Clazz.defineMethod(c$,"deleteCharAt0",
+function(location){
+if(0>location||location>=this.count)throw new StringIndexOutOfBoundsException(location);
+var length=this.count-location-1;
+if(length>0){
+if(!this.shared){
+System.arraycopy(this.value,location+1,this.value,location,length);
+}else{
+var newData=Clazz.newArray(this.value.length,'\0');
+System.arraycopy(this.value,0,newData,0,location);
+System.arraycopy(this.value,location+1,newData,location,length);
+this.value=newData;
+this.shared=false;
+}}this.count--;
+},"~N");
+Clazz.defineMethod(c$,"ensureCapacity",
+function(min){
+if(min>this.value.length){
+this.enlargeBuffer(min);
+}},"~N");
+Clazz.defineMethod(c$,"getChars",
+function(start,end,dest,destStart){
+if(start>this.count||end>this.count||start>end){
+throw new StringIndexOutOfBoundsException();
+}System.arraycopy(this.value,start,dest,destStart,end-start);
+},"~N,~N,~A,~N");
+Clazz.defineMethod(c$,"insert0",
+function(index,chars){
+if(0>index||index>this.count){
+throw new StringIndexOutOfBoundsException(index);
+}if(chars.length!=0){
+this.move(chars.length,index);
+System.arraycopy(chars,0,this.value,index,chars.length);
+this.count+=chars.length;
+}},"~N,~A");
+Clazz.defineMethod(c$,"insert0",
+function(index,chars,start,length){
+if(0<=index&&index<=this.count){
+if(start>=0&&0<=length&&length<=chars.length-start){
+if(length!=0){
+this.move(length,index);
+System.arraycopy(chars,start,this.value,index,length);
+this.count+=length;
+}return;
+}throw new StringIndexOutOfBoundsException("offset "+start+", len "+length+", array.length "+chars.length);
+}throw new StringIndexOutOfBoundsException(index);
+},"~N,~A,~N,~N");
+Clazz.defineMethod(c$,"insert0",
+function(index,ch){
+if(0>index||index>this.count){
+throw new ArrayIndexOutOfBoundsException(index);
+}this.move(1,index);
+this.value[index]=ch;
+this.count++;
+},"~N,~N");
+Clazz.defineMethod(c$,"insert0",
+function(index,string){
+if(0<=index&&index<=this.count){
+if(string==null)string="null";
+var min=string.length;
+if(min!=0){
+this.move(min,index);
+string.getChars(0,min,this.value,index);
+this.count+=min;
+}}else{
+throw new StringIndexOutOfBoundsException(index);
+}},"~N,~S");
+Clazz.defineMethod(c$,"insert0",
+function(index,s,start,end){
+if(s==null)s="null";
+if(index<0||index>this.count||start<0||end<0||start>end||end>s.length())throw new IndexOutOfBoundsException();
+this.insert0(index,s.subSequence(start,end).toString());
+},"~N,CharSequence,~N,~N");
+Clazz.defineMethod(c$,"length",
+function(){
+return this.count;
+});
+Clazz.defineMethod(c$,"move",
+($fz=function(size,index){
+var newSize;
+if(this.value.length-this.count>=size){
+if(!this.shared){
+System.arraycopy(this.value,index,this.value,index+size,this.count-index);
+return;
+}newSize=this.value.length;
+}else{
+var a=this.count+size;
+var b=(this.value.length<<1)+2;
+newSize=a>b?a:b;
+}var newData=Clazz.newArray(newSize,'\0');
+System.arraycopy(this.value,0,newData,0,index);
+System.arraycopy(this.value,index,newData,index+size,this.count-index);
+this.value=newData;
+this.shared=false;
+},$fz.isPrivate=true,$fz),"~N,~N");
+Clazz.defineMethod(c$,"replace0",
+function(start,end,string){
+if(start>=0){
+if(end>this.count)end=this.count;
+if(end>start){
+var stringLength=string.length;
+var diff=end-start-stringLength;
+if(diff>0){
+if(!this.shared){
+System.arraycopy(this.value,end,this.value,start+stringLength,this.count-end);
+}else{
+var newData=Clazz.newArray(this.value.length,'\0');
+System.arraycopy(this.value,0,newData,0,start);
+System.arraycopy(this.value,end,newData,start+stringLength,this.count-end);
+this.value=newData;
+this.shared=false;
+}}else if(diff<0){
+this.move(-diff,end);
+}else if(this.shared){
+this.value=this.value.clone();
+this.shared=false;
+}string.getChars(0,stringLength,this.value,start);
+this.count-=diff;
+return;
+}if(start==end){
+if(string==null)throw new NullPointerException();
+this.insert0(start,string);
+return;
+}}throw new StringIndexOutOfBoundsException();
+},"~N,~N,~S");
+Clazz.defineMethod(c$,"reverse0",
+function(){
+if(this.count<2){
+return;
+}if(!this.shared){
+for(var i=0,end=this.count,mid=Math.floor(this.count/2);i<mid;i++){
+var temp=this.value[--end];
+this.value[end]=this.value[i];
+this.value[i]=temp;
+}
+}else{
+var newData=Clazz.newArray(this.value.length,'\0');
+for(var i=0,end=this.count;i<this.count;i++){
+newData[--end]=this.value[i];
+}
+this.value=newData;
+this.shared=false;
+}});
+Clazz.defineMethod(c$,"setCharAt",
+function(index,ch){
+if(0>index||index>=this.count){
+throw new StringIndexOutOfBoundsException(index);
+}if(this.shared){
+this.value=this.value.clone();
+this.shared=false;
+}this.value[index]=ch;
+},"~N,~N");
+Clazz.defineMethod(c$,"setLength",
+function(length){
+if(length<0)throw new StringIndexOutOfBoundsException(length);
+if(this.count<length){
+if(length>this.value.length){
+this.enlargeBuffer(length);
+}else{
+if(this.shared){
+var newData=Clazz.newArray(this.value.length,'\0');
+System.arraycopy(this.value,0,newData,0,this.count);
+this.value=newData;
+this.shared=false;
+}else{
+for(var i=this.count;i<length;i++){
+this.value[i]=String.fromCharCode(0);
+}
+}}}this.count=length;
+},"~N");
+Clazz.defineMethod(c$,"substring",
+function(start){
+if(0<=start&&start<=this.count){
+if(start==this.count)return"";
+this.shared=true;
+return String.instantialize(start,this.count-start,this.value);
+}throw new StringIndexOutOfBoundsException(start);
+},"~N");
+Clazz.defineMethod(c$,"substring",
+function(start,end){
+if(0<=start&&start<=end&&end<=this.count){
+if(start==end)return"";
+this.shared=true;
+return String.instantialize(this.value,start,end-start);
+}throw new StringIndexOutOfBoundsException();
+},"~N,~N");
+Clazz.overrideMethod(c$,"toString",
+function(){
+if(this.count==0)return"";
+if(this.count>=256&&this.count<=(this.value.length>>1))return String.instantialize(this.value,0,this.count);
+this.shared=true;
+return String.instantialize(0,this.count,this.value);
+});
+Clazz.defineMethod(c$,"subSequence",
+function(start,end){
+return this.substring(start,end);
+},"~N,~N");
+Clazz.defineMethod(c$,"indexOf",
+function(string){
+return this.indexOf(string,0);
+},"~S");
+Clazz.defineMethod(c$,"indexOf",
+function(subString,start){
+if(start<0)start=0;
+var subCount=subString.length;
+if(subCount>0){
+if(subCount+start>this.count)return-1;
+var firstChar=subString.charAt(0);
+while(true){
+var i=start;
+var found=false;
+for(;i<this.count;i++)if((this.value[i]).charCodeAt(0)==(firstChar).charCodeAt(0)){
+found=true;
+break;
+}
+if(!found||subCount+i>this.count)return-1;
+var o1=i;
+var o2=0;
+while(++o2<subCount&&(this.value[++o1]).charCodeAt(0)==(subString.charAt(o2)).charCodeAt(0)){
+}
+if(o2==subCount)return i;
+start=i+1;
+}
+}return(start<this.count||start==0)?start:this.count;
+},"~S,~N");
+Clazz.defineMethod(c$,"lastIndexOf",
+function(string){
+return this.lastIndexOf(string,this.count);
+},"~S");
+Clazz.defineMethod(c$,"lastIndexOf",
+function(subString,start){
+var subCount=subString.length;
+if(subCount<=this.count&&start>=0){
+if(subCount>0){
+if(start>this.count-subCount)start=this.count-subCount;
+var firstChar=subString.charAt(0);
+while(true){
+var i=start;
+var found=false;
+for(;i>=0;--i)if((this.value[i]).charCodeAt(0)==(firstChar).charCodeAt(0)){
+found=true;
+break;
+}
+if(!found)return-1;
+var o1=i;
+var o2=0;
+while(++o2<subCount&&(this.value[++o1]).charCodeAt(0)==(subString.charAt(o2)).charCodeAt(0)){
+}
+if(o2==subCount)return i;
+start=i-1;
+}
+}return start<this.count?start:this.count;
+}return-1;
+},"~S,~N");
+Clazz.defineMethod(c$,"trimToSize",
+function(){
+if(this.count<this.value.length){
+var newValue=Clazz.newArray(this.count,'\0');
+System.arraycopy(this.value,0,newValue,0,this.count);
+this.value=newValue;
+this.shared=false;
+}});
+Clazz.defineStatics(c$,
+"INITIAL_CAPACITY",16);
+});
+Clazz.load(["java.lang.AbstractStringBuilder","$.Appendable"],"java.lang.StringBuilder",["java.lang.Double","$.Float","$.Long"],function(){
+c$=Clazz.declareType(java.lang,"StringBuilder",AbstractStringBuilder,[Appendable,CharSequence,java.io.Serializable]);
+Clazz.makeConstructor(c$,
+function(seq){
+Clazz.superConstructor(this,StringBuilder,[seq.toString()]);
+},"CharSequence");
+Clazz.defineMethod(c$,"append",
+function(b){
+this.append0(b?"true":"false");
+return this;
+},"~B");
+Clazz.defineMethod(c$,"append",
+function(c){
+this.append0(c);
+return this;
+},"~N");
+Clazz.defineMethod(c$,"append",
+function(i){
+this.append0(Integer.toString(i));
+return this;
+},"~N");
+Clazz.defineMethod(c$,"append",
+function(lng){
+this.append0(Long.toString(lng));
+return this;
+},"~N");
+Clazz.defineMethod(c$,"append",
+function(f){
+this.append0(Float.toString(f));
+return this;
+},"~N");
+Clazz.defineMethod(c$,"append",
+function(d){
+this.append0(Double.toString(d));
+return this;
+},"~N");
+Clazz.defineMethod(c$,"append",
+function(obj){
+if(obj==null){
+this.appendNull();
+}else{
+this.append0(obj.toString());
+}return this;
+},"~O");
+Clazz.defineMethod(c$,"append",
+function(str){
+this.append0(str);
+return this;
+},"~S");
+Clazz.defineMethod(c$,"append",
+function(sb){
+if(sb==null){
+this.appendNull();
+}else{
+this.append0(sb.getValue(),0,sb.length());
+}return this;
+},"StringBuffer");
+Clazz.defineMethod(c$,"append",
+function(ch){
+this.append0(ch);
+return this;
+},"~A");
+Clazz.defineMethod(c$,"append",
+function(str,offset,len){
+this.append0(str,offset,len);
+return this;
+},"~A,~N,~N");
+Clazz.defineMethod(c$,"append",
+function(csq){
+if(csq==null){
+this.appendNull();
+}else{
+this.append0(csq.toString());
+}return this;
+},"CharSequence");
+Clazz.defineMethod(c$,"append",
+function(csq,start,end){
+this.append0(csq,start,end);
+return this;
+},"CharSequence,~N,~N");
+Clazz.defineMethod(c$,"$delete",
+function(start,end){
+this.delete0(start,end);
+return this;
+},"~N,~N");
+Clazz.defineMethod(c$,"deleteCharAt",
+function(index){
+this.deleteCharAt0(index);
+return this;
+},"~N");
+Clazz.defineMethod(c$,"insert",
+function(offset,b){
+this.insert0(offset,b?"true":"false");
+return this;
+},"~N,~B");
+Clazz.defineMethod(c$,"insert",
+function(offset,c){
+this.insert0(offset,c);
+return this;
+},"~N,~N");
+Clazz.defineMethod(c$,"insert",
+function(offset,i){
+this.insert0(offset,Integer.toString(i));
+return this;
+},"~N,~N");
+Clazz.defineMethod(c$,"insert",
+function(offset,l){
+this.insert0(offset,Long.toString(l));
+return this;
+},"~N,~N");
+Clazz.defineMethod(c$,"insert",
+function(offset,f){
+this.insert0(offset,Float.toString(f));
+return this;
+},"~N,~N");
+Clazz.defineMethod(c$,"insert",
+function(offset,d){
+this.insert0(offset,Double.toString(d));
+return this;
+},"~N,~N");
+Clazz.defineMethod(c$,"insert",
+function(offset,obj){
+this.insert0(offset,obj==null?"null":obj.toString());
+return this;
+},"~N,~O");
+Clazz.defineMethod(c$,"insert",
+function(offset,str){
+this.insert0(offset,str);
+return this;
+},"~N,~S");
+Clazz.defineMethod(c$,"insert",
+function(offset,ch){
+this.insert0(offset,ch);
+return this;
+},"~N,~A");
+Clazz.defineMethod(c$,"insert",
+function(offset,str,strOffset,strLen){
+this.insert0(offset,str,strOffset,strLen);
+return this;
+},"~N,~A,~N,~N");
+Clazz.defineMethod(c$,"insert",
+function(offset,s){
+this.insert0(offset,s==null?"null":s.toString());
+return this;
+},"~N,CharSequence");
+Clazz.defineMethod(c$,"insert",
+function(offset,s,start,end){
+this.insert0(offset,s,start,end);
+return this;
+},"~N,CharSequence,~N,~N");
+Clazz.defineMethod(c$,"replace",
+function(start,end,str){
+this.replace0(start,end,str);
+return this;
+},"~N,~N,~S");
+Clazz.defineMethod(c$,"reverse",
+function(){
+this.reverse0();
+return this;
+});
+});