@Override public boolean hasNext() { return it.hasNext(); }
@Override public boolean hasNext() { return defs.hasNext(); }
@Override public boolean hasNext() { return uses.hasNext(); }
@Override public boolean hasNext() { return numbers.hasNext(); }
@Override public boolean hasNext() { return it.hasNext(); }
@Override public boolean hasNext() { return numbers.hasNext(); }
private static Set<String> getSourceLevelNames(IR ir, int index, IntSet vs) { Set<String> res = new HashSet<>(); for(IntIterator iter=vs.intIterator();iter.hasNext();) { String name = getSourceLevelName(ir, index, iter.next()); if(name != null) res.add(name); } return res; }
@Override public int next() { if (A.hasNext()) { return A.next(); } else { return B.next(); } }
private static Set<String> getSourceLevelNames(IR ir, int index, IntSet vs) { Set<String> res = new HashSet<>(); for(IntIterator iter=vs.intIterator();iter.hasNext();) { String name = getSourceLevelName(ir, index, iter.next()); if(name != null) res.add(name); } return res; }
@Override public int next() { if (A.hasNext()) { return A.next(); } else { return B.next(); } }
@Override public int next() { if (A.hasNext()) { return A.next(); } else { return B.next(); } }
/** * TODO: optimize; this may be inefficient; * * @return an List of instance keys corresponding to the integers in a set */ List<InstanceKey> getInstances(IntSet set) { LinkedList<InstanceKey> result = new LinkedList<>(); for (IntIterator it = set.intIterator(); it.hasNext();) { int j = it.next(); result.add(getInstanceKey(j)); } return result; }
/** * TODO: optimize * */ public SparseIntSet toSparseIntSet() { MutableSparseIntSet result = MutableSparseIntSet.makeEmpty(); for (IntIterator it = intIterator(); it.hasNext();) { result.add(it.next()); } return result; }
/** * TODO: optimize * */ public SparseIntSet toSparseIntSet() { MutableSparseIntSet result = MutableSparseIntSet.makeEmpty(); for (IntIterator it = intIterator(); it.hasNext();) { result.add(it.next()); } return result; }
/** * TODO: optimize * */ public SparseIntSet toSparseIntSet() { MutableSparseIntSet result = MutableSparseIntSet.makeEmpty(); for (IntIterator it = intIterator(); it.hasNext();) { result.add(it.next()); } return result; }
protected void warnAboutImpreciseCallGraph(CGNode caller, CallSiteReference site) { IntIterator indices = caller.getIR().getCallInstructionIndices(site).intIterator(); IMethod callerMethod = caller.getMethod(); Position pos = null; if(indices.hasNext() && callerMethod instanceof AstMethod) { pos = ((AstMethod)callerMethod).getSourcePosition(indices.next()); } System.err.println("Detected improbable call to Function.prototype.call " + (pos == null ? "in function " + caller : "at position " + pos) + "; this is likely caused by call graph imprecision."); }
protected void warnAboutImpreciseCallGraph(CGNode caller, CallSiteReference site) { IntIterator indices = caller.getIR().getCallInstructionIndices(site).intIterator(); IMethod callerMethod = caller.getMethod(); Position pos = null; if(indices.hasNext() && callerMethod instanceof AstMethod) { pos = ((AstMethod)callerMethod).getSourcePosition(indices.next()); } System.err.println("Detected improbable call to Function.prototype.call " + (pos == null ? "in function " + caller : "at position " + pos) + "; this is likely caused by call graph imprecision."); }