for (IClass cls : Iterator2Iterable.make(cldr.iterateAllClasses())) { if (cls instanceof PhantomClass) continue;
@Override public Iterator<IClass> makeInner(ClassLoaderReference o) { IClassLoader ldr = getLoader(o); return ldr.iterateAllClasses(); } };
@Override public Iterator<IClass> makeInner(ClassLoaderReference o) { IClassLoader ldr = getLoader(o); return ldr.iterateAllClasses(); } };
@Override public Iterator<Entrypoint> iterator() { Set<Entrypoint> ES = HashSetFactory.make(); Iterator<IClass> classes = scriptType.getClassLoader().iterateAllClasses(); while (classes.hasNext()) { IClass cls = classes.next(); if (cha.isSubclassOf(cls, scriptType) && !cls.isAbstract()) { for (IMethod method : cls.getDeclaredMethods()) { if (keep()) { ES.add(new ScriptEntryPoint(method)); } } } } return ES.iterator(); }
@Override public Iterator<Entrypoint> iterator() { Set<Entrypoint> ES = HashSetFactory.make(); Iterator<IClass> classes = scriptType.getClassLoader().iterateAllClasses(); while (classes.hasNext()) { IClass cls = classes.next(); if (cha.isSubclassOf(cls, scriptType) && !cls.isAbstract()) { for (IMethod method : cls.getDeclaredMethods()) { if (keep()) { ES.add(new ScriptEntryPoint(method)); } } } } return ES.iterator(); }
/** * Add all classes in a class loader to the hierarchy. */ private void addAllClasses(IClassLoader loader, IProgressMonitor progressMonitor) throws CancelCHAConstructionException { if (DEBUG) { System.err.println(("Add all classes from loader " + loader)); } Collection<IClass> toRemove = HashSetFactory.make(); for (IClass klass : Iterator2Iterable.make(loader.iterateAllClasses())) { if (progressMonitor != null) { if (progressMonitor.isCanceled()) { throw new CancelCHAConstructionException(); } } boolean added = addClass(klass); if (!added) { toRemove.add(klass); } } loader.removeAll(toRemove); }
/** * Add all classes in a class loader to the hierarchy. */ private void addAllClasses(IClassLoader loader, IProgressMonitor progressMonitor) throws CancelCHAConstructionException { if (DEBUG) { System.err.println(("Add all classes from loader " + loader)); } Collection<IClass> toRemove = HashSetFactory.make(); for (IClass klass : Iterator2Iterable.make(loader.iterateAllClasses())) { if (progressMonitor != null) { if (progressMonitor.isCanceled()) { throw new CancelCHAConstructionException(); } } boolean added = addClass(klass); if (!added) { toRemove.add(klass); } } loader.removeAll(toRemove); }
IClassHierarchy cha = cg.getClassHierarchy(); IClassLoader sourceLoader = cha.getLoader(JavaSourceAnalysisScope.SOURCE); for (IClass clazz : Iterator2Iterable.make(sourceLoader.iterateAllClasses())) {
final Iterator<IClass> appIt = appLoader.iterateAllClasses();
final Iterator<IClass> appIt = appLoader.iterateAllClasses();
public static Set<IMethod> assertUserCodeReachable(CallGraph cg, Set<MethodReference> uncalled) { Set<IMethod> result = HashSetFactory.make(); for(IClass cls : Iterator2Iterable.make(cg.getClassHierarchy().getLoader(ClassLoaderReference.Application).iterateAllClasses())) { if (cls.isInterface()) { continue; } if (! cls.getName().toString().startsWith("Landroid") && ! cls.getName().toString().equals("Lde/ecspride/R$styleable")) { for(IMethod m : cls.getDeclaredMethods()) { if (!m.isInit() && !m.isAbstract() && !uncalled.contains(m.getReference())) { if (! cg.getNodes(m.getReference()).isEmpty()) { System.err.println("found " + m); } else { result.add(m); } } } } } return result; }