MarkFilterAddr() private method

private MarkFilterAddr ( int filterAddr ) : void
filterAddr int
return void
        public virtual void BeginExceptFilterBlock()
        {
            if (this.m_currExcStackCount == 0)
            {
                throw new NotSupportedException(Environment.GetResourceString("Argument_NotInExceptionBlock"));
            }
            __ExceptionInfo info     = this.m_currExcStack[this.m_currExcStackCount - 1];
            Label           endLabel = info.GetEndLabel();

            this.Emit(OpCodes.Leave, endLabel);
            info.MarkFilterAddr(this.m_length);
        }
Esempio n. 2
0
        //
        //
        // Exception related generation
        //
        //
        public override void BeginExceptFilterBlock()
        {
            // Begins an exception filter block. Emits a branch instruction to the end of the current exception block.

            if (CurrExcStackCount == 0)
            {
                throw new NotSupportedException(SR.Argument_NotInExceptionBlock);
            }

            __ExceptionInfo current = CurrExcStack[CurrExcStackCount - 1];

            Label endLabel = current.GetEndLabel();

            Emit(OpCodes.Leave, endLabel);
            UpdateStackSize(OpCodes.Nop, 1);

            current.MarkFilterAddr(ILOffset);
        }