Mono.CSharp.EmitContext.BeginExceptionBlock C# (CSharp) Method

BeginExceptionBlock() public method

public BeginExceptionBlock ( ) : void
return void
		public void BeginExceptionBlock ()
		{
			ig.BeginExceptionBlock ();
		}

Usage Example

Example #1
0
        void EmitMoveNext_NoResumePoints(EmitContext ec)
        {
            ec.EmitThis();
            ec.Emit(OpCodes.Ldfld, storey.PC.Spec);

            ec.EmitThis();
            ec.EmitInt((int)IteratorStorey.State.After);
            ec.Emit(OpCodes.Stfld, storey.PC.Spec);

            // We only care if the PC is zero (start executing) or non-zero (don't do anything)
            ec.Emit(OpCodes.Brtrue, move_next_error);

            BodyEnd = ec.DefineLabel();

            var async_init = this as AsyncInitializer;

            if (async_init != null)
            {
                ec.BeginExceptionBlock();
            }

            block.EmitEmbedded(ec);

            if (async_init != null)
            {
                async_init.EmitCatchBlock(ec);
            }

            ec.MarkLabel(BodyEnd);

            EmitMoveNextEpilogue(ec);

            ec.MarkLabel(move_next_error);

            if (ReturnType.Kind != MemberKind.Void)
            {
                ec.EmitInt(0);
                ec.Emit(OpCodes.Ret);
            }

            ec.MarkLabel(move_next_ok);
        }
All Usage Examples Of Mono.CSharp.EmitContext::BeginExceptionBlock