public ClassInfo ReadClassInfo(Abc abc, uint index) { ClassInfo result = new ClassInfo(index); result.StaticInitializer = abc.MethodArray[ReadU30()]; TraitsInfo[] traits = new TraitsInfo[ReadU30()]; for (uint i = 0; i < traits.Length; i++) { traits[i] = ReadTraitsInfo(abc); } result.TraitsArray = new TraitsArray(traits.ToList()); return(result); }
public InstanceInfo ReadInstanceInfo(Abc abc, uint index) { InstanceInfo result = new InstanceInfo(index); result.Name = abc.ConstantPool.GetMultinameAt(ReadU30()); result.Supername = abc.ConstantPool.GetMultinameAt(ReadU30()); result.Flags = (InstanceFlags)ReadByte(); if (result.Flags.HasFlag(InstanceFlags.ProtectedNs)) { result.ProtectedNamespace = abc.ConstantPool.GetNamespaceAt(ReadU30()); } result.InterfaceArray = ReadU30Array(ReadU30()); result.InstanceInitializer = abc.MethodArray[ReadU30()]; TraitsInfo[] traits = new TraitsInfo[ReadU30()]; for (uint i = 0; i < traits.Length; i++) { traits[i] = ReadTraitsInfo(abc); } result.TraitsArray = new TraitsArray(traits.ToList()); return(result); }