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 // 9 10 11 using System; 12 13 14 namespace Mono.ILASM { 15 16 public class FilterBlock : ISehClause { 17 18 private HandlerBlock this_block; 19 private HandlerBlock handler_block; 20 FilterBlock(HandlerBlock this_block)21 public FilterBlock (HandlerBlock this_block) 22 { 23 this.this_block = this_block; 24 } 25 SetHandlerBlock(HandlerBlock hb)26 public void SetHandlerBlock (HandlerBlock hb) 27 { 28 handler_block = hb; 29 } 30 Resolve(CodeGen code_gen, MethodDef method)31 public PEAPI.HandlerBlock Resolve (CodeGen code_gen, MethodDef method) 32 { 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); 37 38 return filter; 39 } 40 } 41 42 } 43 44