public static CONSTANT_String_info ParseData(byte[] data, ref int pos) { CONSTANT_String_info res = new CONSTANT_String_info(); res.StringIndex = Utils.ReadUShort(data, ref pos); return(res); }
public static ConstantPoolDescription ParseData(byte[] data, ref int pos) { ConstantPoolDescription res = new ConstantPoolDescription(); res.Tag = (ConstantPoolTag)data[pos++]; switch (res.Tag) { case ConstantPoolTag.CONSTANT_Class: res.Info = CONSTANT_Class_info.ParseData(data, ref pos); break; case ConstantPoolTag.CONSTANT_Fieldref: case ConstantPoolTag.CONSTANT_Methodref: case ConstantPoolTag.CONSTANT_InterfaceMethodref: res.Info = CONSTANT_GeneralRef_info.ParseData(data, ref pos); break; case ConstantPoolTag.CONSTANT_String: res.Info = CONSTANT_String_info.ParseData(data, ref pos); break; case ConstantPoolTag.CONSTANT_Integer: case ConstantPoolTag.CONSTANT_Float: res.Info = CONSTANT_B4_info.ParseData(data, ref pos); break; case ConstantPoolTag.CONSTANT_Long: case ConstantPoolTag.CONSTANT_Double: res.Info = CONSTANT_B8_info.ParseData(data, ref pos); break; case ConstantPoolTag.CONSTANT_NameAndType: res.Info = CONSTANT_NameAndType_info.ParseData(data, ref pos); break; case ConstantPoolTag.CONSTANT_Utf8: res.Info = CONSTANT_Utf8_info.ParseData(data, ref pos); break; case ConstantPoolTag.CONSTANT_MethodHandle: res.Info = CONSTANT_MethodHandle_info.ParseData(data, ref pos); break; case ConstantPoolTag.CONSTANT_MethodType: res.Info = CONSTANT_MethodType_info.ParseData(data, ref pos); break; case ConstantPoolTag.CONSTANT_InvokeDynamic: res.Info = CONSTANT_InvokeDynamic_info.ParseData(data, ref pos); break; } return(res); }