private int DeserializeAbbreviatedData(LocationEntryStructure structureType, LocationEntryStructure byteSize, LocationEntryStructure uint16Size) { if ((structureType & byteSize) == byteSize) { return(this.reader.ReadByte()); } else if ((structureType & uint16Size) == uint16Size) { return(this.reader.ReadUInt16()); } return(this.reader.ReadInt32()); }
private WordLocation DeserializeLocationData(WordLocation previous, LocationEntryStructure structureType) { return(new WordLocation( previous.WordIndex + this.DeserializeAbbreviatedData( structureType, LocationEntryStructure.WordIndexByte, LocationEntryStructure.WordIndexUInt16), previous.Start + this.DeserializeAbbreviatedData( structureType, LocationEntryStructure.WordStartByte, LocationEntryStructure.WordStartUInt16), ((structureType & LocationEntryStructure.LengthSameAsLast) == LocationEntryStructure.LengthSameAsLast) ? previous.Length : this.reader.ReadUInt16())); }