public static object ReadLeaf(LeImageReader rdr) { var b = rdr.ReadByte(); var lt = (LeafType)b; switch (lt) { default: throw new NotImplementedException($"CodeView leaf type {lt} {(int)lt:X2} not implemented yet."); case LeafType.Int8: return(rdr.ReadSByte()); case LeafType.UInt16: return(rdr.ReadLeUInt16()); case LeafType.ARRAY: return(ReadArray(rdr)); case LeafType.INDEX: // Type index return(rdr.ReadLeUInt16()); case LeafType.LABEL: return(ReadLabel(rdr)); case LeafType.LIST: return(ReadList(rdr)); case LeafType.POINTER: return(ReadPointer(rdr)); case LeafType.PROCEDURE: return(ReadProcedure(rdr)); case LeafType.STRING: return(ReadString(rdr)); case LeafType.STRUCTURE: return(ReadStructure(rdr)); case LeafType.Nil: case LeafType.C_FAR: case LeafType.C_NEAR: case LeafType.FAR: case LeafType.NEAR: case LeafType.UNPACKED: case (LeafType)0x81: //$REVIEW: void? return(lt); } }