IKVM.Internal.CodeEmitter.BeginFinallyBlock C# (CSharp) Method

BeginFinallyBlock() private method

private BeginFinallyBlock ( ) : void
return void
        internal void BeginFinallyBlock()
        {
            #if !STATIC_COMPILER
            inFinally = true;
            #endif
            EmitPseudoOpCode(CodeType.BeginFinallyBlock, null);
        }

Usage Example

Exemplo n.º 1
0
		internal override void Generate(CodeGenContext context, CodeEmitter ilgen)
		{
			ilgen.BeginExceptionBlock();
			@try.Generate(context, ilgen);
			if(@catch != null)
			{
				Type type;
				if(@catch.type != null)
				{
					type = StaticCompiler.GetTypeForMapXml(context.ClassLoader, @catch.type);
				}
				else
				{
					type = context.ClassLoader.LoadClassByDottedName(@catch.Class).TypeAsExceptionType;
				}
				ilgen.BeginCatchBlock(type);
				@catch.Generate(context, ilgen);
			}
			if(@finally != null)
			{
				ilgen.BeginFinallyBlock();
				@finally.Generate(context, ilgen);
			}
			ilgen.EndExceptionBlock();
		}