/** Creates a <tt>BloatContext</tt> that loads classes from a given CLASSPATH. */ static BloatContext makeContext(final String classpath, final String outputDirName) { final ClassFileLoader loader = new ClassFileLoader(); if (classpath != null) { loader.prependClassPath(classpath); } // if(TRACE) { // loader.setVerbose(true); // } BloatBenchmark.tr(" Creating a BloatContext for CLASSPATH: " + loader.getClassPath()); if (outputDirName != null) { loader.setOutputDir(new File(outputDirName)); } final BloatContext context = new CachingBloatContext(loader, BloatBenchmark.CLASSES, true); // Always ignore the sun packages and the opj stuff for // interprocedural stuff if (!BloatBenchmark.SUN) { context.addIgnorePackage("sun"); } context.addIgnorePackage("java.lang.ref"); context.addIgnorePackage("org.opj.system"); if (BloatBenchmark.USE1_1) { // Toba can't deal with java.lang.Character context.addIgnoreClass(Type.getType("Ljava/lang/Character;")); } return (context); }