/** Returns null if no inner class specified or is anonymous. */ public String getInnerClassName() { if (mName == null) { return null; } else { return mName.getValue(); } }
/** * @param inner The full inner class name * @param outer The full outer class name * @param name The simple name of the inner class, or null if anonymous * @param modifiers Modifiers for the inner class */ public void addInnerClass(String inner, String outer, String name, Modifiers modifiers) { ConstantClassInfo innerInfo = ConstantClassInfo.make(mCp, inner); ConstantClassInfo outerInfo; if (outer == null) { outerInfo = null; } else { outerInfo = ConstantClassInfo.make(mCp, outer); } ConstantUTFInfo nameInfo; if (name == null) { nameInfo = null; } else { nameInfo = ConstantUTFInfo.make(mCp, name); } mInnerClasses.add(new Info(innerInfo, outerInfo, nameInfo, modifiers.getModifier())); }
public void writeTo(DataOutput dout) throws IOException { if (mInner == null) { dout.writeShort(0); } else { dout.writeShort(mInner.getIndex()); } if (mOuter == null) { dout.writeShort(0); } else { dout.writeShort(mOuter.getIndex()); } if (mName == null) { dout.writeShort(0); } else { dout.writeShort(mName.getIndex()); } dout.writeShort(mModifier); }