X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=mcs%2Fclass%2Fcorlib%2FSystem.Reflection.Emit%2FLabel.cs;h=4834aa2cf2d837e8352424331589e1a66f5f7af9;hb=10eadfdd38d35fbc2906008375984770dcc478bc;hp=19be26c6dea8a710fd643cf2a8fe06cfeb690813;hpb=610d7923acfbdc29cc61e0694b716eea940d819b;p=mono.git diff --git a/mcs/class/corlib/System.Reflection.Emit/Label.cs b/mcs/class/corlib/System.Reflection.Emit/Label.cs index 19be26c6dea..4834aa2cf2d 100644 --- a/mcs/class/corlib/System.Reflection.Emit/Label.cs +++ b/mcs/class/corlib/System.Reflection.Emit/Label.cs @@ -7,7 +7,34 @@ // (C) 2001 Ximian, Inc. http://www.ximian.com // +// +// Copyright (C) 2004 Novell, Inc (http://www.novell.com) +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +using System.Runtime.InteropServices; + namespace System.Reflection.Emit { + + [ComVisible (true)] [Serializable] public struct Label { internal int label; @@ -16,10 +43,28 @@ namespace System.Reflection.Emit { label = val; } - [MonoTODO] public override bool Equals (object obj) { - /* FIXME */ - return false; + bool res = obj is Label; + + if (res) { + Label l = (Label)obj; + res = (label == l.label); + } + + return res; + } + + public bool Equals (Label obj) + { + return (label == obj.label); + } + + public static bool operator == (Label a, Label b) { + return a.Equals (b); + } + + public static bool operator != (Label a, Label b) { + return !(a == b); } public override int GetHashCode () {