List of usage examples for org.aspectj.apache.bcel.classfile InnerClass getOuterClassIndex
public final int getOuterClassIndex()
From source file:org.caesarj.mixer.intern.Tools.java
License:Open Source License
/** * Returns the outer class of the class <code>forName</code> from the * Innerclass list of <code>clazz</code>. * Returns "" if no matching entry is found. *//*from w ww .j a v a2 s . co m*/ public static String getOuterClass(JavaClass clazz, String forName) { String ident = new JavaQualifiedName(forName).getIdent(); if (forName.contains("$")) { int idx = forName.lastIndexOf('$'); return forName.substring(0, idx); } InnerClass[] inners = getInnerClasses(clazz); for (int i = 0; i < inners.length; i++) { InnerClass inner = inners[i]; String innerName = Tools.loadName(inner.getInnerNameIndex(), clazz.getConstantPool()); if (innerName.equals(ident)) { return Tools.loadClassName(inner.getOuterClassIndex(), clazz.getConstantPool()); } } return ""; }