@Override public T next() throws NoSuchElementException { int i = numbers.next(); T result = nodeManager.getNode(i); assert result != null : "null node for " + i; return result; }
@Override public T next() throws NoSuchElementException { int i = numbers.next(); T result = nodeManager.getNode(i); assert result != null : "null node for " + i; return result; }
@Override public T next() throws NoSuchElementException { int i = numbers.next(); T result = nodeManager.getNode(i); assert result != null : "null node for " + i; return result; }
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 AbstractStatement next() { int r = uses.next(); PointsToSetVariable rhs = (PointsToSetVariable) delegateGraph.getNode(r); UnaryStatement temp = op.makeEquation(def, rhs); if (DEBUG) { System.err.print(("YY Return temp: " + temp)); } return temp; }
@Override public AbstractStatement next() { int l = defs.next(); PointsToSetVariable lhs = (PointsToSetVariable) delegateGraph.getNode(l); UnaryStatement temp = op.makeEquation(lhs, use); if (DEBUG) { System.err.print(("XX Return temp: " + temp)); System.err.println(("lhs rhs " + l + ' ' + use.getGraphNodeId())); } return temp; }
@Override public AbstractStatement next() { int r = uses.next(); PointsToSetVariable rhs = (PointsToSetVariable) delegateGraph.getNode(r); UnaryStatement temp = op.makeEquation(def, rhs); if (DEBUG) { System.err.print(("YY Return temp: " + temp)); } return temp; }
@Override public AbstractStatement next() { int l = defs.next(); PointsToSetVariable lhs = (PointsToSetVariable) delegateGraph.getNode(l); UnaryStatement temp = op.makeEquation(lhs, use); if (DEBUG) { System.err.print(("XX Return temp: " + temp)); System.err.println(("lhs rhs " + l + ' ' + use.getGraphNodeId())); } return temp; }
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; }
/** * TODO: optimize * */ public SparseIntSet toSparseIntSet() { MutableSparseIntSet result = MutableSparseIntSet.makeEmpty(); for (IntIterator it = intIterator(); it.hasNext();) { result.add(it.next()); } return result; }
public static int[] toArray(IntSet s) { int i = 0; int[] result = new int[ s.size() ]; IntIterator x = s.intIterator(); while (x.hasNext()) { result[i++] = x.next(); } assert ! x.hasNext(); return result; }
/** * TODO: optimize * */ public SparseIntSet toSparseIntSet() { MutableSparseIntSet result = MutableSparseIntSet.makeEmpty(); for (IntIterator it = intIterator(); it.hasNext();) { result.add(it.next()); } return result; }
public static int[] toArray(IntSet s) { int i = 0; int[] result = new int[ s.size() ]; IntIterator x = s.intIterator(); while (x.hasNext()) { result[i++] = x.next(); } assert ! x.hasNext(); return result; }
public static int[] toArray(IntSet s) { int i = 0; int[] result = new int[ s.size() ]; IntIterator x = s.intIterator(); while (x.hasNext()) { result[i++] = x.next(); } assert ! x.hasNext(); 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."); }