1 package serp.bytecode;
2
3 import serp.bytecode.visitor.*;
4
5
6
7
8
9
10
11 public class LocalVariableTypeTable extends LocalTable {
12 LocalVariableTypeTable(int nameIndex, Attributes owner) {
13 super(nameIndex, owner);
14 }
15
16
17
18
19 public LocalVariableType[] getLocalVariableTypes() {
20 return (LocalVariableType[]) getLocals();
21 }
22
23
24
25
26 public LocalVariableType getLocalVariableType(int local) {
27 return (LocalVariableType) getLocal(local);
28 }
29
30
31
32
33
34 public LocalVariableType getLocalVariableType(String name) {
35 return (LocalVariableType) getLocal(name);
36 }
37
38
39
40
41 public LocalVariableType[] getLocalVariableTypes(String name) {
42 return (LocalVariableType[]) getLocals(name);
43 }
44
45
46
47
48
49
50
51 public LocalVariableType addLocalVariableType(LocalVariableType local) {
52 return (LocalVariableType) addLocal(local);
53 }
54
55
56
57
58 public LocalVariableType addLocalVariableType() {
59 return (LocalVariableType) addLocal();
60 }
61
62
63
64
65 public LocalVariableType addLocalVariableType(String name, String type) {
66 return (LocalVariableType) addLocal(name, type);
67 }
68
69 public void acceptVisit(BCVisitor visit) {
70 visit.enterLocalVariableTypeTable(this);
71 LocalVariableType[] locals = (LocalVariableType[]) getLocals();
72 for (int i = 0; i < locals.length; i++)
73 locals[i].acceptVisit(visit);
74 visit.exitLocalVariableTypeTable(this);
75 }
76
77 protected Local newLocal() {
78 return new LocalVariableType(this);
79 }
80
81 protected Local[] newLocalArray(int size) {
82 return new LocalVariableType[size];
83 }
84 }