if (!CodeScanner.getFieldsRead(mtd).isEmpty() || !CodeScanner.getFieldsWritten(mtd).isEmpty() || !CodeScanner.getCallSites(mtd).isEmpty()) { if (analysisDriver == null) { analysisDriver = getAnalysisDriver(mtd, options, cache, cha);
/** * @throws IllegalArgumentException if m is null */ public static Collection<CallSiteReference> getCallSites(IMethod m) throws InvalidClassFileException { if (m == null) { throw new IllegalArgumentException("m is null"); } if (m.isWalaSynthetic()) { SyntheticMethod sm = (SyntheticMethod) m; return getCallSites(sm.getStatements()); } else { return getCallSitesFromShrikeBT((IBytecodeMethod) m); } }
@Override public Iterator<CallSiteReference> iterateCallSites(CGNode node) { if (node == null) { throw new IllegalArgumentException("node is null"); } try { return CodeScanner.getCallSites(node.getMethod()).iterator(); } catch (InvalidClassFileException e) { e.printStackTrace(); Assertions.UNREACHABLE(); return null; } }
/** * @throws IllegalArgumentException if m is null */ public static Collection<CallSiteReference> getCallSites(IMethod m) throws InvalidClassFileException { if (m == null) { throw new IllegalArgumentException("m is null"); } if (m.isWalaSynthetic()) { SyntheticMethod sm = (SyntheticMethod) m; return getCallSites(sm.getStatements()); } else { return getCallSitesFromShrikeBT((IBytecodeMethod) m); } }
@Override public Iterator<CallSiteReference> iterateCallSites(CGNode node) { if (node == null) { throw new IllegalArgumentException("node is null"); } try { return CodeScanner.getCallSites(node.getMethod()).iterator(); } catch (InvalidClassFileException e) { e.printStackTrace(); Assertions.UNREACHABLE(); return null; } }
continue; for (CallSiteReference csf : com.ibm.wala.classLoader.CodeScanner.getCallSites(m)) { IClass c = m.getClassHierarchy().lookupClass(csf.getDeclaredTarget().getDeclaringClass()); IMethod inv = m.getClassHierarchy().resolveMethod(csf.getDeclaredTarget());
for (CallSiteReference csr: CodeScanner.getCallSites(im)) {