/** END Custom change: Optional deletion of fTypeMap */ @Override public void init(List<Module> modules) throws IOException { super.init(modules); /** BEGIN Custom change: Optional deletion of fTypeMap */ if (deleteTypeMapAfterInit) { fTypeMap = null; } /** END Custom change: Optional deletion of fTypeMap */ }
/** END Custom change: Optional deletion of fTypeMap */ @Override public void init(List<Module> modules) throws IOException { super.init(modules); /** BEGIN Custom change: Optional deletion of fTypeMap */ if (deleteTypeMapAfterInit) { fTypeMap = null; } /** END Custom change: Optional deletion of fTypeMap */ }
@Override public void init(List<Module> modules) throws IOException { super.init(modules); // module are loaded according to the given order (same as in Java VM) Set<ModuleEntry> classModuleEntries = HashSetFactory.make(); for (Module archive : modules) { Set<ModuleEntry> classFiles = getDexFiles(archive); removeClassFiles(classFiles, classModuleEntries); loadAllDexClasses(classFiles); classModuleEntries.addAll(classFiles); } }
@Override public void init(List<Module> modules) throws IOException { super.init(modules); // module are loaded according to the given order (same as in Java VM) Set<ModuleEntry> classModuleEntries = HashSetFactory.make(); for (Module archive : modules) { Set<ModuleEntry> classFiles = getDexFiles(archive); removeClassFiles(classFiles, classModuleEntries); loadAllDexClasses(classFiles); classModuleEntries.addAll(classFiles); } }
@Override protected IClassLoader makeNewClassLoader(ClassLoaderReference classLoaderReference, IClassHierarchy cha, IClassLoader parent, AnalysisScope scope) throws IOException { if (classLoaderReference.equals(JavaSourceAnalysisScope.SOURCE)) { ClassLoaderImpl cl = makeSourceLoader(classLoaderReference, cha, parent); cl.init(scope.getModules(classLoaderReference)); return cl; } else { return super.makeNewClassLoader(classLoaderReference, cha, parent, scope); } }
@Override protected IClassLoader makeNewClassLoader(ClassLoaderReference classLoaderReference, IClassHierarchy cha, IClassLoader parent, AnalysisScope scope) throws IOException { if (classLoaderReference.equals(JavaSourceAnalysisScope.SOURCE)) { ClassLoaderImpl cl = makeSourceLoader(classLoaderReference, cha, parent); cl.init(scope.getModules(classLoaderReference)); return cl; } else { return super.makeNewClassLoader(classLoaderReference, cha, parent, scope); } }