int start = 1;
if (s.length >= 3 && s[1].equals("-o")) { outdir = s[2]; start += 2; }
repo = SyntheticRepository.getInstance(new ClassPath(s[0]));
- BytecodePruner bcp = new BytecodePruner();
+ BytecodePruner bcp = new BytecodePruner();
for(int i=start; i<s.length; i++) {
try {
if (s[i].endsWith(".class")) {
System.out.println("WARNING: couldn't load class for " + s[i]);
}
}
+
System.out.println("\n\n======================================================================\n");
// we call start(), but the VM calls run()...
bcp.loadMethod("java.lang.Thread.run");
- bcp.loadMethod("java.util.IdentityHashMap.put");
-
bcp.loadAllMethods("java.lang.SecurityContext");
bcp.visitJavaClass(repo.loadClass("java.awt.AWTPermission"));
+ bcp.visitJavaClass(repo.loadClass("gnu.classpath.Configuration"));
+ bcp.loadAllMethods("java.lang.ThreadDeath");
+
+ bcp.loadAllMethods("java.util.Hashtable$HashIterator");
+ bcp.loadMethod("java.util.SimpleTimeZone.useDaylightTime");
+ /*
bcp.loadAllMethods("java.lang.Throwable");
bcp.loadAllMethods("java.io.PrintStream");
bcp.loadAllMethods("java.util.PropertyPermission");
- bcp.loadAllMethods("java.lang.ThreadDeath");
- bcp.loadAllMethods("gnu.gcj.runtime.StringBuffer");
bcp.loadAllMethods("java.security.cert.Certificate");
bcp.loadAllMethods("java.security.cert.CertificateEncodingException");
-
- bcp.loadMethod("java.util.SimpleTimeZone.useDaylightTime");
bcp.loadMethod("java.util.TimeZone.getAvailableIDs");
bcp.loadMethod("java.util.TimeZone.getDefaultTimeZoneId");
- bcp.loadMethod("java.util.Collections$SynchronizedIterator.hasNext");
- bcp.loadAllMethods("java.util.Hashtable$HashIterator");
+ bcp.loadAllMethods("gnu.gcj.runtime.StringBuffer");
bcp.loadAllMethods("gnu.gcj.runtime.VMClassLoader");
-
- bcp.visitJavaClass(repo.loadClass("java.util.Stack"));
- bcp.visitJavaClass(repo.loadClass("gnu.classpath.Configuration"));
bcp.visitJavaClass(repo.loadClass("gnu.gcj.runtime.JNIWeakRef"));
-
+ */
+ /*
bcp.visitJavaClass(repo.loadClass("gnu.gcj.protocol.http.Handler"));
bcp.visitJavaClass(repo.loadClass("gnu.gcj.protocol.file.Handler"));
bcp.visitJavaClass(repo.loadClass("gnu.gcj.protocol.jar.Handler"));
bcp.visitJavaClass(repo.loadClass("gnu.gcj.protocol.core.Handler"));
+ */
bcp.visitJavaClass(repo.loadClass("gnu.gcj.runtime.FinalizerThread"));
bcp.visitJavaClass(repo.loadClass("gnu.gcj.runtime.FirstThread"));
((HashSet)subclasses.get(interfaces[i])).add(clazz);
}
+ if (clazz.getClassName().startsWith("org.ibex."))
+ loadAllMethods(clazz.getClassName());
+
for(JavaClass sup = superclass; sup != null; sup = sup.getSuperClass()) {
visitJavaClass(sup);
remarkMethods(sup, clazz, cpg);