1 // ==++==
2 //
3 //   Copyright (c) Microsoft Corporation.  All rights reserved.
4 //
5 // ==--==
6 /*============================================================
7 **
8 ** Signature:  SignatureToken
9 **
10 ** <OWNER>Microsoft</OWNER>
11 **
12 **
13 ** Purpose: Represents a Signature to the ILGenerator signature.
14 **
15 **
16 ===========================================================*/
17 namespace System.Reflection.Emit {
18 
19     using System;
20     using System.Reflection;
21     using System.Security.Permissions;
22 
23     [System.Runtime.InteropServices.ComVisible(true)]
24     public struct SignatureToken {
25 
26         public static readonly SignatureToken Empty = new SignatureToken();
27 
28         internal int m_signature;
29         internal ModuleBuilder m_moduleBuilder;
30 
SignatureTokenSystem.Reflection.Emit.SignatureToken31         internal SignatureToken(int str, ModuleBuilder mod) {
32             m_signature=str;
33             m_moduleBuilder = mod;
34         }
35 
36         public int Token {
37             get { return m_signature; }
38         }
39 
GetHashCodeSystem.Reflection.Emit.SignatureToken40         public override int GetHashCode()
41         {
42             return m_signature;
43         }
44 
EqualsSystem.Reflection.Emit.SignatureToken45         public override bool Equals(Object obj)
46         {
47             if (obj is SignatureToken)
48                 return Equals((SignatureToken)obj);
49             else
50                 return false;
51         }
52 
EqualsSystem.Reflection.Emit.SignatureToken53         public bool Equals(SignatureToken obj)
54         {
55             return obj.m_signature == m_signature;
56         }
57 
operator ==System.Reflection.Emit.SignatureToken58         public static bool operator ==(SignatureToken a, SignatureToken b)
59         {
60             return a.Equals(b);
61         }
62 
operator !=System.Reflection.Emit.SignatureToken63         public static bool operator !=(SignatureToken a, SignatureToken b)
64         {
65             return !(a == b);
66         }
67 
68     }
69 }
70