- try {
- Class<?> c = getEnvironment().getClasspathContext().findClass(name.replace('/', '.'));
- if(c != null && !c.isInterface()){
- addISBirthmark(c);
+ if((access & Opcodes.ACC_INTERFACE) != Opcodes.ACC_INTERFACE){
+ ClasspathContext context = getEnvironment().getClasspathContext();
+ name = name.replace('/', '.');
+ ClassFileEntry entry = context.findEntry(name);
+ if(entry == null){
+ superName = superName.replace('/', '.');
+ ClassFileEntry parent = context.findEntry(superName);
+ if(parent != null){
+ addIsBirthmark(name);
+ addIsBirthmark(superName);
+ }
+ else{
+ addFailur(new ClassNotFoundException(superName));
+ }
+ }
+ else{
+ try{
+ Class<?> clazz = context.findClass(name);
+ addISBirthmark(clazz);
+ } catch(ClassNotFoundException e){
+ addFailur(e);
+ }