1 // Mono.Util.CorCompare.MissingMethod
4 // Nick Drochak (ndrochak@gol.com)
6 // (C) 2001-2002 Nick Drochak
9 using System
.Reflection
;
12 namespace Mono
.Util
.CorCompare
{
15 /// Represents a class method that is completely missing
19 /// created on - 2/20/2002 10:43:57 PM
21 class MissingMethod
: MissingMember
23 // e.g. <method name="Equals" status="missing"/>
24 public MissingMethod (MemberInfo infoMono
, MemberInfo infoMS
) : base (infoMono
, infoMS
) {}
26 public override string Name
{
28 string s
= Info
.ToString();
29 int index
= s
.IndexOf(' ');
30 return s
.Substring(index
+ 1);
34 public override string Type
{
40 public override NodeStatus
Analyze ()
42 m_nodeStatus
= base.Analyze ();
44 if (mInfoMono
!= null && mInfoMS
!= null)
46 MethodBase miMono
= (MethodBase
) mInfoMono
;
47 MethodBase miMS
= (MethodBase
) mInfoMS
;
49 AddFlagWarning (miMono
.IsAbstract
, miMS
.IsAbstract
, "abstract");
50 AddFlagWarning (miMono
.IsStatic
, miMS
.IsStatic
, "static");
51 AddFlagWarning (miMono
.IsVirtual
&& !miMono
.IsFinal
, miMS
.IsVirtual
&& !miMS
.IsFinal
, "virtual");
52 AddFlagWarning (miMono
.IsConstructor
, miMS
.IsConstructor
, "a constructor");
53 //AddFlagWarning (miMono.IsFinal, miMS.IsFinal, "sealed");