1 6 package jas; 7 8 import java.io.*; 9 import java.util.*; 10 11 public class Catchtable 12 { 13 Vector entries; 14 15 public Catchtable() { entries = new Vector(); } 16 17 20 21 public void addEntry(CatchEntry entry) { entries.addElement(entry); } 22 23 34 35 public void 36 addEntry(Label start, Label end, Label handler, CP cat) 37 { addEntry(new CatchEntry(start, end, handler, cat)); } 38 39 void resolve(ClassEnv e) 40 { 41 for (Enumeration en=entries.elements(); en.hasMoreElements(); ) 42 { 43 CatchEntry ce = (CatchEntry)(en.nextElement()); 44 ce.resolve(e); 45 } 46 } 47 48 int size() 49 { return (8*entries.size()); } 51 void write(ClassEnv e, CodeAttr ce, DataOutputStream out) 52 throws IOException, jasError 53 { 54 out.writeShort(entries.size()); 55 for (Enumeration en = entries.elements(); en.hasMoreElements();) 56 { 57 CatchEntry entry = (CatchEntry)(en.nextElement()); 58 entry.write(e, ce, out); 59 } 60 } 61 } 62 | Popular Tags |