@Override public Iterator<FieldReference> iterateFieldsWritten(CGNode node) { return EmptyIterator.instance(); } };
/** * The {@link ExceptionHandlerBasicBlock} subclass will override this. * */ @Override public Iterator<TypeReference> getCaughtExceptionTypes() { return EmptyIterator.instance(); } }
@Override public Iterator<FieldReference> iterateFieldsWritten(CGNode node) { return EmptyIterator.instance(); } };
/** * The {@link ExceptionHandlerBasicBlock} subclass will override this. * */ @Override public Iterator<TypeReference> getCaughtExceptionTypes() { return EmptyIterator.instance(); } }
@Override public Iterator<SSAAbstractInvokeInstruction> getInstrsPassingParam(LocalPointerKey pk) { Set<SSAAbstractInvokeInstruction> instrs = callParams.get(pk); if (instrs == null) { return EmptyIterator.instance(); } else { return instrs.iterator(); } }
@Override public Iterator<T> getSuccNodes(T N) { if (forwardEdges.containsKey(N)) return forwardEdges.get(N).iterator(); else return EmptyIterator.instance(); }
@Override public Iterator<CAstEntity> getScopedEntities(CAstNode construct) { if (scopedEntities.containsKey(construct)) { return scopedEntities.get(construct).iterator(); } else { return EmptyIterator.instance(); } }
@Override public Iterator<CallSiteReference> iterateCallSites(CGNode node) { assert understands(node); return EmptyIterator.instance(); }
/** * Return all uses of the variable with the given value number */ public Iterator<SSAInstruction> getUses(int v) { if (uses[v] == null) { return EmptyIterator.instance(); } else { return new UseIterator(uses[v]); } }
@Override public Iterator<CallSiteReference> iterateCallSites(CGNode node) { assert understands(node); return EmptyIterator.instance(); }
@Override public Iterator<PointerKey> getPointerKeysForReflectedFieldWrite(InstanceKey I, InstanceKey F) { if (isBogusKey(I)) { return EmptyIterator.instance(); } else { return super.getPointerKeysForReflectedFieldWrite(I, F); } }
public Iterator<T> getSuccNodes(int number) { IntSet s = successors.getRelated(number); Iterator<T> empty = EmptyIterator.instance(); return (s == null) ? empty : nodeManager.iterateNodes(s); }
@Override public Iterator<T> getPredNodes(T N) throws IllegalArgumentException { if (N == null) { throw new IllegalArgumentException("N cannot be null"); } INodeWithNumberedEdges en = N; IntSet pred = en.getPredNumbers(); Iterator<T> empty = EmptyIterator.instance(); return (pred == null) ? empty : (Iterator<T>) new IntSetNodeIterator(pred.intIterator()); }
@Override public Iterator<T> getSuccNodes(T N) { if (N == null) { throw new IllegalArgumentException("N cannot be null"); } INodeWithNumberedEdges en = N; IntSet succ = en.getSuccNumbers(); Iterator<T> empty = EmptyIterator.instance(); return (succ == null) ? empty : (Iterator<T>) new IntSetNodeIterator(succ.intIterator()); }
@Override public Iterator<T> getSuccNodes(T N) throws IllegalArgumentException { int number = nodeManager.getNumber(N); if (number == -1) { throw new IllegalArgumentException(N + " is not in graph"); } IntSet s = successors.getRelated(number); Iterator<T> empty = EmptyIterator.instance(); return (s == null) ? empty : nodeManager.iterateNodes(s); }
@Override public Iterator<T> getPredNodes(T N) throws IllegalArgumentException { int number = nodeManager.getNumber(N); if (number < 0) { throw new IllegalArgumentException(N + " is not in graph"); } IntSet s = predecessors.getRelated(number); Iterator<T> empty = EmptyIterator.instance(); return (s == null) ? empty : nodeManager.iterateNodes(s); }
@Override public Iterator<T> getPredNodes(T N) throws IllegalArgumentException { if (N == null) { throw new IllegalArgumentException("N cannot be null"); } INodeWithNumberedEdges en = N; IntSet pred = en.getPredNumbers(); Iterator<T> empty = EmptyIterator.instance(); return (pred == null) ? empty : (Iterator<T>) new IntSetNodeIterator(pred.intIterator()); }
@Override public Iterator<T> getSuccNodes(T N) throws IllegalArgumentException { int number = nodeManager.getNumber(N); if (number == -1) { throw new IllegalArgumentException(N + " is not in graph"); } IntSet s = successors.getRelated(number); Iterator<T> empty = EmptyIterator.instance(); return (s == null) ? empty : nodeManager.iterateNodes(s); }
@Override public Iterator<T> getSuccNodes(T n) { Iterator<T> orig = (original.containsNode(n)? original.getSuccNodes(n): EmptyIterator.<T>instance()); return new CompoundIterator<>(orig, nodes(n, outEdges)); }
@Override public Iterator<SSAPhiInstruction> iteratePhis() { if (isEntryBlock() || isExitBlock() || instructionIndex != original.getFirstInstructionIndex()) { return EmptyIterator.instance(); } else { return original.iteratePhis(); } }