1 7 8 package jas; 9 10 import java.io.*; 11 import java.util.*; 12 13 public class InnerClassAttr 14 { 15 static CP attr = new AsciiCP("InnerClasses"); 16 short attr_length = 0; 17 short num = 0; 18 ArrayList list; 19 20 21 25 public InnerClassAttr() { list = new ArrayList(); 27 } 28 29 void resolve(ClassEnv e){ 30 e.addCPItem(attr); 31 if (list != null){ 32 Iterator it = list.iterator(); 33 while (it.hasNext()){ 34 ((InnerClassSpecAttr)it.next()).resolve(e); 35 } 36 } 37 } 38 39 int size(){ 40 return 41 (2 + 4 + 2 + 8*(list.size())); } 46 47 public void addInnerClassSpec(InnerClassSpecAttr attr){ 48 list.add(attr); 49 } 50 51 void write(ClassEnv e, DataOutputStream out) 52 throws IOException, jasError { 53 54 out.writeShort(e.getCPIndex(attr)); 55 out.writeInt(2+8*list.size()); 57 out.writeShort(list.size()); 58 Iterator it = list.iterator(); 59 while(it.hasNext()){ 60 ((InnerClassSpecAttr)it.next()).write(e, out); 61 } 62 69 } 70 } 71 | Popular Tags |