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