1 8 9 package jas; 10 11 import java.io.*; 12 import java.util.*; 13 14 public class LocalVarTableAttr 15 { 16 static CP attr = new AsciiCP("LocalVariableTable"); 17 18 Vector vars; 19 20 21 27 public LocalVarTableAttr() 28 { vars = new Vector(); } 29 30 34 35 public void addEntry(LocalVarEntry e) 36 { vars.addElement(e); } 37 38 void resolve(ClassEnv e) 39 { 40 e.addCPItem(attr); 41 42 for (Enumeration en = vars.elements(); en.hasMoreElements();) 43 { 44 LocalVarEntry lv = (LocalVarEntry)(en.nextElement()); 45 lv.resolve(e); 46 } 47 } 48 49 int size() 50 { return 51 (2 + 4 + 2 + 10*(vars.size())); } 56 57 void write(ClassEnv e, CodeAttr ce, DataOutputStream out) 58 throws IOException, jasError 59 { 60 out.writeShort(e.getCPIndex(attr)); 61 out.writeInt(2 + 10*(vars.size())); 62 out.writeShort(vars.size()); 63 for (Enumeration en = vars.elements(); en.hasMoreElements();) 64 { 65 LocalVarEntry lv = (LocalVarEntry)(en.nextElement()); 66 lv.write(e, ce, out); 67 } 68 } 69 } 70 | Popular Tags |