2010-06-03 Jb Evain <jbevain@novell.com>
[mcs.git] / ilasm / codegen / FilterBlock.cs
blob67ef2d111df6dd9b3be7a3260b217d2fd99de9a2
1 //
2 // Mono.ILASM.FilterBlock
3 //
4 // Author(s):
5 // Jackson Harper (Jackson@LatitudeGeo.com)
6 //
7 // (C) 2003 Jackson Harper, All rights reserved
8 //
11 using System;
14 namespace Mono.ILASM {
16 public class FilterBlock : ISehClause {
18 private HandlerBlock this_block;
19 private HandlerBlock handler_block;
21 public FilterBlock (HandlerBlock this_block)
23 this.this_block = this_block;
26 public void SetHandlerBlock (HandlerBlock hb)
28 handler_block = hb;
31 public PEAPI.HandlerBlock Resolve (CodeGen code_gen, MethodDef method)
33 PEAPI.CILLabel label = this_block.GetFromLabel (code_gen, method);
34 PEAPI.CILLabel from = handler_block.GetFromLabel (code_gen, method);
35 PEAPI.CILLabel to = handler_block.GetToLabel (code_gen, method);
36 PEAPI.Filter filter = new PEAPI.Filter (label, from, to);
38 return filter;