/** * Load the set of classes that soot needs, including those specified on the command-line. This is * the standard way of initialising the list of classes soot should use. */ public void loadNecessaryClasses() { loadBasicClasses(); for (String name : Options.v().classes()) { loadNecessaryClass(name); } loadDynamicClasses(); if (Options.v().oaat()) { if (Options.v().process_dir().isEmpty()) { throw new IllegalArgumentException( "If switch -oaat is used, then also -process-dir must be given."); } } else { for (final String path : Options.v().process_dir()) { for (String cl : SourceLocator.v().getClassesUnder(path)) { SootClass theClass = loadClassAndSupport(cl); theClass.setApplicationClass(); } } } prepareClasses(); setDoneResolving(); }