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