Mono.Cecil.Rocks.ILParser.ParseFatMethod C# (CSharp) Method

ParseFatMethod() static private method

static private ParseFatMethod ( ParseContext context ) : void
context ParseContext
return void
        static void ParseFatMethod(ParseContext context)
        {
            var code = context.Code;

            code.Advance (4);
            var code_size = code.ReadInt32 ();
            var local_var_token = code.ReadToken ();

            if (local_var_token != MetadataToken.Zero)
                context.Variables = code.ReadVariables (local_var_token);

            ParseCode (code_size, context);
        }

Usage Example

Esempio n. 1
0
        public static void Parse(MethodDefinition method, IILVisitor visitor)
        {
            if (method == null)
            {
                throw new ArgumentNullException("method");
            }
            if (visitor == null)
            {
                throw new ArgumentNullException("visitor");
            }
            if (!method.HasBody || !method.HasImage)
            {
                throw new ArgumentException();
            }
            ILParser.ParseContext parseContext = ILParser.CreateContext(method, visitor);
            CodeReader            code         = parseContext.Code;

            code.MoveTo(method.RVA);
            byte num  = code.ReadByte();
            int  num1 = num & 3;

            if (num1 == 2)
            {
                ILParser.ParseCode(num >> 2, parseContext);
                return;
            }
            if (num1 != 3)
            {
                throw new NotSupportedException();
            }
            code.position--;
            ILParser.ParseFatMethod(parseContext);
        }