protected override ITokenOperand ReadInlineTok(Instruction instr) { switch (reader.ReadByte()) { case 0: return(imageReader.ReadTypeSig().ToTypeDefOrRef()); case 1: return(imageReader.ReadFieldRef()); case 2: return(imageReader.ReadMethodRef()); default: throw new ApplicationException("Unknown token type"); } }
public BabelMethodreference Read() { bmr.Name = imageReader.ReadString(); bmr.DeclaringType = imageReader.ReadTypeSig(); bmr.ReturnType = imageReader.ReadTypeSig(); var argTypes = imageReader.ReadTypeSigs(); bmr.Flags = imageReader.reader.ReadByte(); if (bmr.IsGenericMethod) { bmr.GenericArguments = imageReader.ReadTypeSigs(); } else { bmr.GenericArguments = Array.Empty <TypeSig>(); } bmr.Parameters = ReadParameters(argTypes, bmr.HasThis); return(bmr); }