コード例 #1
0
 /** Returns null if no inner class specified or is anonymous. */
 public String getInnerClassName() {
   if (mName == null) {
     return null;
   } else {
     return mName.getValue();
   }
 }
コード例 #2
0
  /**
   * @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()));
  }
コード例 #3
0
    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);
    }
コード例 #4
0
 public void writeTo(DataOutput dout) throws IOException {
   super.writeTo(dout);
   dout.writeShort(mStringConstant.getIndex());
 }
コード例 #5
0
 private ConstantStringInfo(ConstantPool cp, String str) {
   super(TAG_STRING);
   mStr = str;
   mStringConstant = ConstantUTFInfo.make(cp, str);
 }
コード例 #6
0
 ConstantStringInfo(ConstantUTFInfo constant) {
   super(TAG_STRING);
   mStr = constant.getValue();
   mStringConstant = constant;
 }