@ CheckForNull public static JavaClass getOuterClass ( JavaClass obj ) throws ClassNotFoundException { for ( Attribute a : obj . getAttributes ( ) ) { if ( a instanceof InnerClasses ) { for ( InnerClass ic : ( ( InnerClasses ) a ) . getInnerClasses ( ) ) { if ( obj . getClassNameIndex ( ) == ic . getInnerClassIndex ( ) ) { // System.out.println("Outer class is " + // ic.getOuterClassIndex()); ConstantClass oc = ( ConstantClass ) obj . getConstantPool ( ) . getConstant ( ic . getOuterClassIndex ( ) ) ; String ocName = oc . getBytes ( obj . getConstantPool ( ) ) ; return Repository . lookupClass ( ocName ) ; } } } } return null ; }
Determine the outer class of obj .