// Mono.Util.CorCompare.MissingMethod // // Author(s): // Nick Drochak (ndrochak@gol.com) // // (C) 2001-2002 Nick Drochak using System; using System.Reflection; using System.Text; namespace Mono.Util.CorCompare { /// /// Represents a class method that is completely missing /// /// /// created by - Nick /// created on - 2/20/2002 10:43:57 PM /// class MissingMethod : MissingMember { // e.g. public MissingMethod (MemberInfo infoMono, MemberInfo infoMS) : base (infoMono, infoMS) {} public override string Name { get { string s = Info.ToString(); int index = s.IndexOf(' '); return s.Substring(index + 1); } } public override string Type { get { return "method"; } } public override NodeStatus Analyze () { m_nodeStatus = base.Analyze (); if (mInfoMono != null && mInfoMS != null) { MethodBase miMono = (MethodBase) mInfoMono; MethodBase miMS = (MethodBase) mInfoMS; AddFlagWarning (miMono.IsAbstract, miMS.IsAbstract, "abstract"); AddFlagWarning (miMono.IsStatic, miMS.IsStatic, "static"); AddFlagWarning (miMono.IsVirtual && !miMono.IsFinal, miMS.IsVirtual && !miMS.IsFinal, "virtual"); AddFlagWarning (miMono.IsConstructor, miMS.IsConstructor, "a constructor"); //AddFlagWarning (miMono.IsFinal, miMS.IsFinal, "sealed"); } return m_nodeStatus; } } }