2
Copyright (C) 2008 Jeroen Frijters
4
This software is provided 'as-is', without any express or implied
5
warranty. In no event will the authors be held liable for any damages
6
arising from the use of this software.
8
Permission is granted to anyone to use this software for any purpose,
9
including commercial applications, and to alter it and redistribute it
10
freely, subject to the following restrictions:
12
1. The origin of this software must not be misrepresented; you must not
13
claim that you wrote the original software. If you use this software
14
in a product, an acknowledgment in the product documentation would be
15
appreciated but is not required.
16
2. Altered source versions must be plainly marked as such, and must not be
17
misrepresented as being the original software.
18
3. This notice may not be removed or altered from any source distribution.
25
namespace IKVM.Reflection.Emit
27
public struct EventToken
29
public static readonly EventToken Empty;
30
private readonly int token;
32
internal EventToken(int token)
42
public override bool Equals(object obj)
44
return obj as EventToken? == this;
47
public override int GetHashCode()
52
public bool Equals(EventToken other)
57
public static bool operator ==(EventToken et1, EventToken et2)
59
return et1.token == et2.token;
62
public static bool operator !=(EventToken et1, EventToken et2)
64
return et1.token != et2.token;
68
public struct FieldToken
70
public static readonly FieldToken Empty;
71
private readonly int token;
73
internal FieldToken(int token)
83
public override bool Equals(object obj)
85
return obj as FieldToken? == this;
88
public override int GetHashCode()
93
public bool Equals(FieldToken other)
98
public static bool operator ==(FieldToken ft1, FieldToken ft2)
100
return ft1.token == ft2.token;
103
public static bool operator !=(FieldToken ft1, FieldToken ft2)
105
return ft1.token != ft2.token;
109
public struct MethodToken
111
public static readonly MethodToken Empty;
112
private readonly int token;
114
internal MethodToken(int token)
121
get { return token; }
124
public override bool Equals(object obj)
126
return obj as MethodToken? == this;
129
public override int GetHashCode()
134
public bool Equals(MethodToken other)
136
return this == other;
139
public static bool operator ==(MethodToken mt1, MethodToken mt2)
141
return mt1.token == mt2.token;
144
public static bool operator !=(MethodToken mt1, MethodToken mt2)
146
return mt1.token != mt2.token;
150
public struct SignatureToken
152
public static readonly SignatureToken Empty;
153
private readonly int token;
155
internal SignatureToken(int token)
162
get { return token; }
165
public override bool Equals(object obj)
167
return obj as SignatureToken? == this;
170
public override int GetHashCode()
175
public bool Equals(SignatureToken other)
177
return this == other;
180
public static bool operator ==(SignatureToken st1, SignatureToken st2)
182
return st1.token == st2.token;
185
public static bool operator !=(SignatureToken st1, SignatureToken st2)
187
return st1.token != st2.token;
191
public struct StringToken
193
private readonly int token;
195
internal StringToken(int token)
202
get { return token; }
205
public override bool Equals(object obj)
207
return obj as StringToken? == this;
210
public override int GetHashCode()
215
public bool Equals(StringToken other)
217
return this == other;
220
public static bool operator ==(StringToken st1, StringToken st2)
222
return st1.token == st2.token;
225
public static bool operator !=(StringToken st1, StringToken st2)
227
return st1.token != st2.token;
231
public struct TypeToken
233
public static readonly TypeToken Empty;
234
private readonly int token;
236
internal TypeToken(int token)
243
get { return token; }
246
public override bool Equals(object obj)
248
return obj as TypeToken? == this;
251
public override int GetHashCode()
256
public bool Equals(TypeToken other)
258
return this == other;
261
public static bool operator ==(TypeToken tt1, TypeToken tt2)
263
return tt1.token == tt2.token;
266
public static bool operator !=(TypeToken tt1, TypeToken tt2)
268
return tt1.token != tt2.token;