1 26 package com.yworks.yguard.obf.classfile; 27 28 import java.io.*; 29 import java.util.*; 30 31 36 public class InnerClassesAttrInfo extends AttrInfo 37 { 38 40 41 private int u2numberOfClasses; 43 private InnerClassesInfo[] classes; 44 45 46 48 49 protected InnerClassesAttrInfo(ClassFile cf, int attrNameIndex, int attrLength) 51 { 52 super(cf, attrNameIndex, attrLength); 53 } 54 55 56 protected String getAttrName() 57 { 58 return ATTR_InnerClasses; 59 } 60 61 62 protected InnerClassesInfo[] getInfo() 63 { 64 return classes; 65 } 66 67 68 protected void markUtf8RefsInInfo(ConstantPool pool) 69 { 70 for (int i = 0; i < classes.length; i++) 71 { 72 classes[i].markUtf8Refs(pool); 73 } 74 } 75 76 77 protected void readInfo(DataInput din) throws java.io.IOException 78 { 79 u2numberOfClasses = din.readUnsignedShort(); 80 classes = new InnerClassesInfo[u2numberOfClasses]; 81 for (int i = 0; i < u2numberOfClasses; i++) 82 { 83 classes[i] = InnerClassesInfo.create(din); 84 } 85 } 86 87 88 public void writeInfo(DataOutput dout) throws java.io.IOException 89 { 90 dout.writeShort(u2numberOfClasses); 91 for (int i = 0; i < u2numberOfClasses; i++) 92 { 93 classes[i].write(dout); 94 } 95 } 96 } 97 98 | Popular Tags |