1 19 20 package edu.umd.cs.findbugs; 21 22 import java.io.File ; 23 import java.util.HashMap ; 24 import java.util.Iterator ; 25 import java.util.Map ; 26 27 import org.apache.bcel.classfile.JavaClass; 28 import org.apache.bcel.util.ClassPath; 29 import org.apache.bcel.util.Repository; 30 31 import edu.umd.cs.findbugs.classfile.CheckedAnalysisException; 32 import edu.umd.cs.findbugs.classfile.ClassDescriptor; 33 import edu.umd.cs.findbugs.classfile.Global; 34 import edu.umd.cs.findbugs.classfile.IClassPath; 35 import edu.umd.cs.findbugs.classfile.ICodeBase; 36 import edu.umd.cs.findbugs.util.ClassName; 37 38 44 public class AnalysisCacheToRepositoryAdapter implements Repository { 45 48 public AnalysisCacheToRepositoryAdapter() { 49 } 50 51 54 public void clear() { 55 throw new UnsupportedOperationException (); 56 } 57 58 61 public JavaClass findClass(String className) { 62 className = ClassName.toSlashedClassName(className); 63 ClassDescriptor classDescriptor = new ClassDescriptor(className); 64 return Global.getAnalysisCache().probeClassAnalysis(JavaClass.class, classDescriptor); 65 } 66 67 70 public ClassPath getClassPath() { 71 throw new UnsupportedOperationException (); 72 } 73 74 77 public JavaClass loadClass(String className) throws ClassNotFoundException { 78 className = ClassName.toSlashedClassName(className); 79 ClassDescriptor classDescriptor = new ClassDescriptor(className); 80 try { 81 return Global.getAnalysisCache().getClassAnalysis(JavaClass.class, classDescriptor); 82 } catch (CheckedAnalysisException e) { 83 throw new ClassNotFoundException ("Exception while looking for class " + className, e); 84 } 85 } 86 87 90 public JavaClass loadClass(Class cls) throws ClassNotFoundException { 91 return loadClass(cls.getName()); 92 } 93 94 97 public void removeClass(JavaClass arg0) { 98 throw new UnsupportedOperationException (); 99 } 100 101 104 public void storeClass(JavaClass cls) { 105 throw new UnsupportedOperationException (); 106 } 107 } 108 | Popular Tags |