5
// Jb Evain (jbevain@gmail.com)
9
// Permission is hereby granted, free of charge, to any person obtaining
10
// a copy of this software and associated documentation files (the
11
// "Software"), to deal in the Software without restriction, including
12
// without limitation the rights to use, copy, modify, merge, publish,
13
// distribute, sublicense, and/or sell copies of the Software, and to
14
// permit persons to whom the Software is furnished to do so, subject to
15
// the following conditions:
17
// The above copyright notice and this permission notice shall be
18
// included in all copies or substantial portions of the Software.
20
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
21
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
22
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
23
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
24
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
25
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
26
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
29
namespace Mono.Cecil.Cil {
33
public sealed class ExceptionHandler : ICodeVisitable {
35
Instruction m_tryStart;
37
Instruction m_filterStart;
38
Instruction m_filterEnd;
39
Instruction m_handlerStart;
40
Instruction m_handlerEnd;
42
TypeReference m_catchType;
43
ExceptionHandlerType m_type;
45
public Instruction TryStart {
46
get { return m_tryStart; }
47
set { m_tryStart = value; }
50
public Instruction TryEnd {
51
get { return m_tryEnd; }
52
set { m_tryEnd = value; }
55
public Instruction FilterStart {
56
get { return m_filterStart; }
57
set { m_filterStart = value; }
60
public Instruction FilterEnd {
61
get { return m_filterEnd; }
62
set { m_filterEnd = value; }
65
public Instruction HandlerStart {
66
get { return m_handlerStart; }
67
set { m_handlerStart = value; }
70
public Instruction HandlerEnd {
71
get { return m_handlerEnd; }
72
set { m_handlerEnd = value; }
75
public TypeReference CatchType {
76
get { return m_catchType; }
77
set { m_catchType = value; }
80
public ExceptionHandlerType Type {
81
get { return m_type; }
82
set { m_type = value; }
85
public ExceptionHandler (ExceptionHandlerType type)
90
public void Accept (ICodeVisitor visitor)
92
visitor.VisitExceptionHandler (this);