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

Parse() public static method

public static Parse ( MethodDefinition method, IILVisitor visitor ) : void
method MethodDefinition
visitor IILVisitor
return void
        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 ();

            var context = CreateContext (method, visitor);
            var code = context.Code;

            var flags = code.ReadByte ();

            switch (flags & 0x3) {
            case 0x2: // tiny
                int code_size = flags >> 2;
                ParseCode (code_size, context);
                break;
            case 0x3: // fat
                code.Advance (-1);
                ParseFatMethod (context);
                break;
            default:
                throw new NotSupportedException ();
            }
        }