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");
            }
        }
Ejemplo n.º 2
0
        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);
        }