Revision: 20473
          http://sourceforge.net/p/jmol/code/20473
Author:   hansonr
Date:     2015-04-30 20:25:08 +0000 (Thu, 30 Apr 2015)
Log Message:
-----------


Added Paths:
-----------
    branches/v14_2/Jmol/srcjs/java/lang/Throwable.js
    branches/v14_2/Jmol/srcjs/java/util/HashMap.js

Added: branches/v14_2/Jmol/srcjs/java/lang/Throwable.js
===================================================================
--- branches/v14_2/Jmol/srcjs/java/lang/Throwable.js                            
(rev 0)
+++ branches/v14_2/Jmol/srcjs/java/lang/Throwable.js    2015-04-30 20:25:08 UTC 
(rev 20473)
@@ -0,0 +1,144 @@
+// BH added check for annoying NullPointerException to show stack trace during 
file checking
+
+c$=Clazz.decorateAsClass(function(){
+this.detailMessage=null;
+this.cause=null;
+this.stackTrace=null;
+Clazz.instantialize(this,arguments);
+},java.lang,"Throwable",null,java.io.Serializable);
+Clazz.prepareFields(c$,function(){
+this.cause=this;
+});
+Clazz.makeConstructor(c$,
+function(){
+if(Clazz._checkFiles && this.__CLASS_NAME__ == 
"java.lang.NullPointerException")
+  System.out.println(Clazz.getStackTrace());
+this.fillInStackTrace();
+});
+Clazz.makeConstructor(c$,
+function(message){
+this.fillInStackTrace();
+this.detailMessage=message;
+},"~S");
+Clazz.makeConstructor(c$,
+function(message,cause){
+this.fillInStackTrace();
+this.detailMessage=message;
+this.cause=cause;
+},"~S,Throwable");
+Clazz.makeConstructor(c$,
+function(cause){
+this.fillInStackTrace();
+this.detailMessage=(cause==null?null:cause.toString());
+this.cause=cause;
+},"Throwable");
+Clazz.defineMethod(c$,"getMessage",
+function(){
+{
+if(typeof this.message!="undefined"){
+return this.message;
+}
+}return this.detailMessage;
+});
+Clazz.defineMethod(c$,"getLocalizedMessage",
+function(){
+return this.getMessage();
+});
+Clazz.defineMethod(c$,"getCause",
+function(){
+return(this.cause===this?null:this.cause);
+});
+Clazz.defineMethod(c$,"initCause",
+function(cause){
+if(this.cause!==this)throw new IllegalStateException("Can't overwrite cause");
+if(cause===this)throw new IllegalArgumentException("Self-causation not 
permitted");
+this.cause=cause;
+return this;
+},"Throwable");
+Clazz.overrideMethod(c$,"toString",
+function(){
+var s=this.getClass().getName();
+var message=this.getLocalizedMessage();
+return(message!=null)?(s+": "+message):s;
+});
+Clazz.defineMethod(c$,"printStackTrace",
+function(){
+System.err.println(this);
+for(var i=0;i<this.stackTrace.length;i++){
+var t=this.stackTrace[i];
+var x=t.methodName.indexOf("(");
+var n=t.methodName.substring(0,x).replace(/\s+/g,"");
+if(n!="construct"||t.nativeClazz==null
+||Clazz.getInheritedLevel(t.nativeClazz,Throwable)<0){
+System.err.println(t);
+}
+}
+});
+Clazz.defineMethod(c$,"printStackTrace",
+function(s){
+this.printStackTrace();
+},"java.io.PrintStream");
+Clazz.defineMethod(c$,"printStackTrace",
+function(s){
+this.printStackTrace();
+},"java.io.PrintWriter");
+Clazz.defineMethod(c$,"fillInStackTrace",
+function(){
+this.stackTrace=new Array();
+var caller=arguments.callee.caller;
+var superCaller=null;
+var callerList=new Array();
+var index=Clazz.callingStackTraces.length-1;
+var noLooping=true;
+while(index>-1||caller!=null){
+var clazzName=null;
+var nativeClazz=null;
+if(!noLooping||caller==Clazz.tryToSearchAndExecute||caller==Clazz.superCall||caller==null){
+if(index<0){
+break;
+}
+noLooping=true;
+superCaller=Clazz.callingStackTraces[index].caller;
+nativeClazz=Clazz.callingStackTraces[index].owner;
+index--;
+}else{
+superCaller=caller;
+if(superCaller.claxxOwner!=null){
+nativeClazz=superCaller.claxxOwner;
+}else if(superCaller.exClazz!=null){
+nativeClazz=superCaller.exClazz;
+}
+}
+var st=new StackTraceElement(
+((nativeClazz!=null&&nativeClazz.__CLASS_NAME__.length!=0)?
+nativeClazz.__CLASS_NAME__:"anonymous"),
+((superCaller.exName==null)?"anonymous":superCaller.exName)
++" ("+Clazz.getParamsType(superCaller.arguments)+")",
+null,-1);
+st.nativeClazz=nativeClazz;
+this.stackTrace[this.stackTrace.length]=st;
+for(var i=0;i<callerList.length;i++){
+if(callerList[i]==superCaller){
+
+var st=new StackTraceElement("lost","missing",null,-3);
+st.nativeClazz=null;
+this.stackTrace[this.stackTrace.length]=st;
+noLooping=false;
+
+}
+}
+if(superCaller!=null){
+callerList[callerList.length]=superCaller;
+}
+caller=superCaller.arguments.callee.caller;
+}
+Clazz.initializingException=false;
+return this;
+});
+Clazz.defineMethod(c$,"setStackTrace",
+function(stackTrace){
+var defensiveCopy=stackTrace.clone();
+for(var i=0;i<defensiveCopy.length;i++)if(defensiveCopy[i]==null)throw new 
NullPointerException("stackTrace["+i+"]");
+
+this.stackTrace=defensiveCopy;
+},"~A");

Added: branches/v14_2/Jmol/srcjs/java/util/HashMap.js
===================================================================
--- branches/v14_2/Jmol/srcjs/java/util/HashMap.js                              
(rev 0)
+++ branches/v14_2/Jmol/srcjs/java/util/HashMap.js      2015-04-30 20:25:08 UTC 
(rev 20473)
@@ -0,0 +1,463 @@
+Clazz.load(["java.util.AbstractMap","$.AbstractSet","$.Iterator","$.Map","$.MapEntry"],"java.util.HashMap",["java.lang.IllegalArgumentException","$.IllegalStateException","java.util.AbstractCollection","$.Arrays","$.ConcurrentModificationException","java.util.MapEntry.Type","java.util.NoSuchElementException"],function(){
+c$=Clazz.decorateAsClass(function(){
+this.elementCount=0;
+this.elementData=null;
+this.loadFactor=0;
+this.threshold=0;
+this.modCount=0;
+Clazz.instantialize(this,arguments);
+},java.util,"HashMap",java.util.AbstractMap,[java.util.Map,Cloneable,java.io.Serializable]);
+Clazz.defineMethod(c$,"newElementArray",
+function(s){
+return new Array(s);
+},"~N");
+Clazz.makeConstructor(c$,
+function(){
+this.construct(16);
+});
+Clazz.makeConstructor(c$,
+function(capacity){
+Clazz.superConstructor(this,java.util.HashMap,[]);
+if(capacity>=0){
+this.elementCount=0;
+this.elementData=this.newElementArray(capacity==0?1:capacity);
+this.loadFactor=0.75;
+this.computeMaxSize();
+}else{
+throw new IllegalArgumentException();
+}},"~N");
+Clazz.makeConstructor(c$,
+function(capacity,loadFactor){
+Clazz.superConstructor(this,java.util.HashMap,[]);
+if(capacity>=0&&loadFactor>0){
+this.elementCount=0;
+this.elementData=this.newElementArray(capacity==0?1:capacity);
+this.loadFactor=loadFactor;
+this.computeMaxSize();
+}else{
+throw new IllegalArgumentException();
+}},"~N,~N");
+Clazz.makeConstructor(c$,
+function(map){
+this.construct(map.size()<6?11:map.size()*2);
+this.putAll(map);
+},"java.util.Map");
+Clazz.overrideMethod(c$,"clear",
+function(){
+if(this.elementCount>0){
+this.elementCount=0;
+java.util.Arrays.fill(this.elementData,null);
+this.modCount++;
+}});
+Clazz.defineMethod(c$,"clone",
+function(){
+try{
+var map=Clazz.superCall(this,java.util.HashMap,"clone",[]);
+map.elementData=this.newElementArray(this.elementData.length);
+var entry;
+for(var i=0;i<this.elementData.length;i++){
+if((entry=this.elementData[i])!=null){
+map.elementData[i]=entry.clone();
+}}
+return map;
+}catch(e){
+if(Clazz.instanceOf(e,CloneNotSupportedException)){
+return null;
+}else{
+throw e;
+}
+}
+});
+Clazz.defineMethod(c$,"computeMaxSize",
+($fz=function(){
+this.threshold=Math.round((this.elementData.length*this.loadFactor));
+},$fz.isPrivate=true,$fz));
+Clazz.overrideMethod(c$,"containsKey",
+function(key){
+return this.getEntry(key)!=null;
+},"~O");
+Clazz.defineMethod(c$,"keysEqual",
+function(k1,entry){
+var k1Hash=k1==null?0:k1.hashCode();
+if(k1Hash!=entry.origKeyHash){
+return false;
+}if(k1==null&&entry.key==null){
+return true;
+}return k1.equals(entry.key);
+},"~O,java.util.HashMap.Entry");
+Clazz.overrideMethod(c$,"containsValue",
+function(value){
+if(value!=null){
+for(var i=this.elementData.length;--i>=0;){
+var entry=this.elementData[i];
+while(entry!=null){
+if(value.equals(entry.value)){
+return true;
+}entry=entry.next;
+}
+}
+}else{
+for(var i=this.elementData.length;--i>=0;){
+var entry=this.elementData[i];
+while(entry!=null){
+if(entry.value==null){
+return true;
+}entry=entry.next;
+}
+}
+}return false;
+},"~O");
+Clazz.overrideMethod(c$,"entrySet",
+function(){
+return new java.util.HashMap.HashMapEntrySet(this);
+});
+Clazz.overrideMethod(c$,"get",
+function(key){
+var m=this.getEntry(key);
+if(m!=null){
+return m.value;
+}return null;
+},"~O");
+Clazz.defineMethod(c$,"getEntry",
+function(key){
+var index=this.getModuloHash(key);
+return this.findEntry(key,index);
+},"~O");
+Clazz.defineMethod(c$,"getModuloHash",
+function(key){
+if(key==null){
+return 0;
+}return(key.hashCode()&0x7FFFFFFF)%this.elementData.length;
+},"~O");
+Clazz.defineMethod(c$,"findEntry",
+function(key,index){
+var m;
+m=this.elementData[index];
+if(key!=null){
+while(m!=null&&!this.keysEqual(key,m)){
+m=m.next;
+}
+}else{
+while(m!=null&&m.key!=null){
+m=m.next;
+}
+}return m;
+},"~O,~N");
+Clazz.overrideMethod(c$,"isEmpty",
+function(){
+return this.elementCount==0;
+});
+Clazz.overrideMethod(c$,"keySet",
+function(){
+if(this.$keySet==null){
+this.$keySet=((Clazz.isClassDefined("java.util.HashMap$1")?0:java.util.HashMap.$HashMap$1$()),Clazz.innerTypeInstance(java.util.HashMap$1,this,null));
+}return this.$keySet;
+});
+Clazz.overrideMethod(c$,"put",
+function(key,value){
+var index=this.getModuloHash(key);
+var entry=this.findEntry(key,index);
+if(entry==null){
+this.modCount++;
+if(++this.elementCount>this.threshold){
+this.rehash();
+index=key==null?0:(key.hashCode()&0x7FFFFFFF)%this.elementData.length;
+}entry=this.createEntry(key,index,value);
+return null;
+}var result=entry.value;
+entry.value=value;
+return result;
+},"~O,~O");
+Clazz.defineMethod(c$,"createEntry",
+function(key,index,value){
+var entry=new java.util.HashMap.Entry(key,value);
+entry.next=this.elementData[index];
+this.elementData[index]=entry;
+return entry;
+},"~O,~N,~O");
+Clazz.overrideMethod(c$,"putAll",
+function(map){
+if(!map.isEmpty()){
+var capacity=this.elementCount+map.size();
+if(capacity>this.threshold){
+this.rehash(capacity);
+}
+for(var 
entry,$entry=map.entrySet().iterator();$entry.hasNext()&&((entry=$entry.next())||true);){
+this.put(entry.getKey(),entry.getValue());
+}
+}},"java.util.Map");
+Clazz.defineMethod(c$,"rehash",
+function(capacity){
+var length=(capacity==0?1:capacity<<1);
+var newData=this.newElementArray(length);
+for(var i=0;i<this.elementData.length;i++){
+var entry=this.elementData[i];
+while(entry!=null){
+var key=entry.key;
+var index=key==null?0:(key.hashCode()&0x7FFFFFFF)%length;
+var next=entry.next;
+entry.next=newData[index];
+newData[index]=entry;
+entry=next;
+}
+}
+this.elementData=newData;
+this.computeMaxSize();
+},"~N");
+Clazz.defineMethod(c$,"rehash",
+function(){
+this.rehash(this.elementData.length);
+});
+Clazz.overrideMethod(c$,"remove",
+function(key){
+var entry=this.removeEntry(key);
+if(entry!=null){
+return entry.value;
+}return null;
+},"~O");
+Clazz.defineMethod(c$,"removeEntry",
+function(key){
+var index=0;
+var entry;
+var last=null;
+if(key!=null){
+index=(key.hashCode()&0x7FFFFFFF)%this.elementData.length;
+entry=this.elementData[index];
+while(entry!=null&&!this.keysEqual(key,entry)){
+last=entry;
+entry=entry.next;
+}
+}else{
+entry=this.elementData[0];
+while(entry!=null&&entry.key!=null){
+last=entry;
+entry=entry.next;
+}
+}if(entry==null){
+return null;
+}if(last==null){
+this.elementData[index]=entry.next;
+}else{
+last.next=entry.next;
+}this.modCount++;
+this.elementCount--;
+return entry;
+},"~O");
+Clazz.overrideMethod(c$,"size",
+function(){
+return this.elementCount;
+});
+Clazz.overrideMethod(c$,"values",
+function(){
+if(this.valuesCollection==null){
+this.valuesCollection=((Clazz.isClassDefined("java.util.HashMap$2")?0:java.util.HashMap.$HashMap$2$()),Clazz.innerTypeInstance(java.util.HashMap$2,this,null));
+}return this.valuesCollection;
+});
+c$.$HashMap$1$=function(){
+Clazz.pu$h();
+c$=Clazz.declareAnonymous(java.util,"HashMap$1",java.util.AbstractSet);
+Clazz.overrideMethod(c$,"contains",
+function(object){
+return this.b$["java.util.HashMap"].containsKey(object);
+},"~O");
+Clazz.overrideMethod(c$,"size",
+function(){
+return this.b$["java.util.HashMap"].size();
+});
+Clazz.overrideMethod(c$,"clear",
+function(){
+this.b$["java.util.HashMap"].clear();
+});
+Clazz.overrideMethod(c$,"remove",
+function(key){
+if(this.b$["java.util.HashMap"].containsKey(key)){
+this.b$["java.util.HashMap"].remove(key);
+return true;
+}return false;
+},"~O");
+Clazz.overrideMethod(c$,"iterator",
+function(){
+return new 
java.util.HashMap.HashMapIterator(((Clazz.isClassDefined("java.util.HashMap$1$1")?0:java.util.HashMap.$HashMap$1$1$()),Clazz.innerTypeInstance(java.util.HashMap$1$1,this,null)),this.b$["java.util.HashMap"]);
+});
+c$=Clazz.p0p();
+};
+c$.$HashMap$1$1$=function(){
+Clazz.pu$h();
+c$=Clazz.declareAnonymous(java.util,"HashMap$1$1",null,java.util.MapEntry.Type);
+Clazz.overrideMethod(c$,"get",
+function(entry){
+return entry.key;
+},"java.util.MapEntry");
+c$=Clazz.p0p();
+};
+c$.$HashMap$2$=function(){
+Clazz.pu$h();
+c$=Clazz.declareAnonymous(java.util,"HashMap$2",java.util.AbstractCollection);
+Clazz.overrideMethod(c$,"contains",
+function(object){
+return this.b$["java.util.HashMap"].containsValue(object);
+},"~O");
+Clazz.overrideMethod(c$,"size",
+function(){
+return this.b$["java.util.HashMap"].size();
+});
+Clazz.overrideMethod(c$,"clear",
+function(){
+this.b$["java.util.HashMap"].clear();
+});
+Clazz.overrideMethod(c$,"iterator",
+function(){
+return new 
java.util.HashMap.HashMapIterator(((Clazz.isClassDefined("java.util.HashMap$2$1")?0:java.util.HashMap.$HashMap$2$1$()),Clazz.innerTypeInstance(java.util.HashMap$2$1,this,null)),this.b$["java.util.HashMap"]);
+});
+c$=Clazz.p0p();
+};
+c$.$HashMap$2$1$=function(){
+Clazz.pu$h();
+c$=Clazz.declareAnonymous(java.util,"HashMap$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();
+c$=Clazz.decorateAsClass(function(){
+this.origKeyHash=0;
+this.next=null;
+Clazz.instantialize(this,arguments);
+},java.util.HashMap,"Entry",java.util.MapEntry);
+Clazz.makeConstructor(c$,
+function(a,b){
+Clazz.superConstructor(this,java.util.HashMap.Entry,[a,b]);
+this.origKeyHash=(a==null?0:a.hashCode());
+},"~O,~O");
+Clazz.defineMethod(c$,"clone",
+function(){
+var a=Clazz.superCall(this,java.util.HashMap.Entry,"clone",[]);
+if(this.next!=null){
+a.next=this.next.clone();
+}return a;
+});
+c$=Clazz.p0p();
+Clazz.pu$h();
+c$=Clazz.decorateAsClass(function(){
+this.position=0;
+this.expectedModCount=0;
+this.type=null;
+this.canRemove=false;
+this.entry=null;
+this.lastEntry=null;
+this.associatedMap=null;
+Clazz.instantialize(this,arguments);
+},java.util.HashMap,"HashMapIterator",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.HashMap");
+Clazz.overrideMethod(c$,"hasNext",
+function(){
+if(this.entry!=null){
+return true;
+}while(this.position<this.associatedMap.elementData.length){
+if(this.associatedMap.elementData[this.position]==null){
+this.position++;
+}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;
+if(this.entry==null){
+a=this.lastEntry=this.associatedMap.elementData[this.position++];
+this.entry=this.lastEntry.next;
+}else{
+if(this.lastEntry.next!==this.entry){
+this.lastEntry=this.lastEntry.next;
+}a=this.entry;
+this.entry=this.entry.next;
+}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.modCount++;
+if(this.lastEntry.next===this.entry){
+while(this.associatedMap.elementData[--this.position]==null){
+;}
+this.associatedMap.elementData[this.position]=this.associatedMap.elementData[this.position].next;
+this.entry=null;
+}else{
+this.lastEntry.next=this.entry;
+}this.associatedMap.elementCount--;
+this.expectedModCount++;
+});
+c$=Clazz.p0p();
+Clazz.pu$h();
+c$=Clazz.decorateAsClass(function(){
+this.associatedMap=null;
+Clazz.instantialize(this,arguments);
+},java.util.HashMap,"HashMapEntrySet",java.util.AbstractSet);
+Clazz.makeConstructor(c$,
+function(a){
+Clazz.superConstructor(this,java.util.HashMap.HashMapEntrySet,[]);
+this.associatedMap=a;
+},"java.util.HashMap");
+Clazz.defineMethod(c$,"hashMap",
+function(){
+return this.associatedMap;
+});
+Clazz.overrideMethod(c$,"size",
+function(){
+return this.associatedMap.elementCount;
+});
+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 a.equals(b);
+}return false;
+},"~O");
+Clazz.overrideMethod(c$,"iterator",
+function(){
+return new 
java.util.HashMap.HashMapIterator(((Clazz.isClassDefined("java.util.HashMap$HashMapEntrySet$1")?0:java.util.HashMap.HashMapEntrySet.$HashMap$HashMapEntrySet$1$()),Clazz.innerTypeInstance(java.util.HashMap$HashMapEntrySet$1,this,null)),this.associatedMap);
+});
+c$.$HashMap$HashMapEntrySet$1$=function(){
+Clazz.pu$h();
+c$=Clazz.declareAnonymous(java.util,"HashMap$HashMapEntrySet$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_SIZE",16);
+});

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
Jmol-commits mailing list
Jmol-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jmol-commits

Reply via email to