This commit is contained in:
Julian Dolby 2015-04-05 21:20:03 -04:00
commit d85347f231
4 changed files with 95 additions and 4 deletions

View File

@ -193,7 +193,17 @@ Array$proto$__WALA__ = {
},
pop: function Array_prototype_pop () {
return this[ --this.length ];
var n0 = this.length;
if (n0) {
var n1 = this[n0-1];
this.length = n0-1;
// needed for non-arrays
delete this[n0-1];
return n1;
} else {
// needed for non-arrays
this.length = 0;
}
},
push: function Array_prototype_push () {
@ -322,7 +332,84 @@ Array$proto$__WALA__ = {
item: function Array_prototype_item(index) {
return this[index];
},
every: function Array_prototype_every(arg1, arg2) {
var n0 = this.length;
var n3 = true;
for (var i = 0; i < n0; i += 1) {
var n1 = i in this;
if (n1) {
var n2 = this[i];
n3 = arg1.call(arg2, n2, i, this);
if (!n3) {
break;
}
}
}
return n3;
},
some: function Array_prototype_some(arg1, arg2) {
var n0 = this.length;
var n3 = false;
for (var i = 0; i < n0; i += 1) {
var n1 = i in this;
if (n1) {
var n2 = this[i];
n3 = arg1.call(arg2, n2, i, this);
if (n3) {
break;
}
}
}
return n3;
},
reduce: function Array_prototype_reduce(arg1, arg2) {
var result = arg2;
var n0 = this.length;
for (var i = 0; i < n0; i += 1) {
var n1 = i in this;
if (n1) {
var n2 = this[i];
var n3 = arg1.call(undefined, result, n2, i, this);
result = n3;
}
}
return result;
},
reduceRight: function Array_prototype_reduceRight(arg1, arg2) {
var result = arg2;
var n0 = this.length;
for (var i = 0; i < n0; i += 1) {
var n1 = ((n0-i)-1) in this;
if (n1) {
var n2 = this[(n0-i)-1];
var n3 = arg1.call(undefined, result, n2, (n0-i)-1, this);
result = n3;
}
}
return result;
},
filter: function Array_prototype_filter(arg1, arg2) {
var result = [];
var n0 = this.length;
for (var i = 0; i < n0; i += 1) {
var n1 = i in this;
if (n1) {
var n2 = this[i];
var n3 = arg1.call(arg2, n2, i, this);
if (n3) {
result[result.length] = n2;
}
}
}
return result;
}
};
Array.isArray = function Array_isArray(a) {

View File

@ -10,6 +10,8 @@
*******************************************************************************/
package com.ibm.wala.ipa.callgraph.propagation;
import java.util.Arrays;
import com.ibm.wala.classLoader.IClass;
import com.ibm.wala.classLoader.IMethod;
import com.ibm.wala.ipa.callgraph.ContextItem;
@ -90,7 +92,7 @@ public interface FilteredPointerKey extends PointerKey {
@Override
public String toString() {
return "SingleClassFilter: " + concreteType;
return "MultipleClassesFilter: " + Arrays.toString(concreteType);
}
public IClass[] getConcreteTypes() {

View File

@ -10,6 +10,7 @@
*******************************************************************************/
package com.ibm.wala.ipa.callgraph.propagation;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
@ -578,7 +579,7 @@ public class PropagationSystem extends DefaultFixedPointSolver<PointsToSetVariab
throw new IllegalArgumentException("null arg0");
}
if (DEBUG) {
System.err.println("add constraint D: " + op + " " + arg0);
System.err.println("add constraint D: " + op + " " + Arrays.toString(arg0));
}
PointsToSetVariable[] vs = new PointsToSetVariable[ arg0.length ];
for(int i = 0; i < arg0.length; i++) {

View File

@ -10,6 +10,7 @@
*******************************************************************************/
package com.ibm.wala.ssa;
import java.util.Arrays;
import java.util.Iterator;
import com.ibm.wala.analysis.stackMachine.AbstractIntStackMachine;
@ -140,7 +141,7 @@ public class SSAPhiInstruction extends SSAInstruction {
*/
public void setValues(int[] i) {
if (i == null || i.length < 1) {
throw new IllegalArgumentException("illegal i: " + i);
throw new IllegalArgumentException("illegal i: " + Arrays.toString(i));
}
this.params = i;
}