base class for class members
[mono.git] / mcs / tools / corcompare / MissingMember.cs
1 using System;
2 using System.Xml;
3 using System.Reflection;
4
5 namespace Mono.Util.CorCompare
6 {
7
8         /// <summary>
9         ///     Represents a member that is completely missing
10         /// </summary>
11         /// <remarks>
12         ///     created by - Piersh
13         ///     created on - 3/1/2002 3:37:00 am
14         /// </remarks>
15         abstract class MissingMember : IMissingMember 
16         {
17                 // e.g. <method name="Equals" status="missing"/>
18                 protected MemberInfo mInfo;
19
20                 public MissingMember (MemberInfo info) 
21                 {
22                         mInfo = info;
23                 }
24
25                 public virtual string Name 
26                 {
27                         get 
28                         {
29                                 return mInfo.Name;
30                         }
31                 }
32
33                 public virtual string Status 
34                 {
35                         get 
36                         {
37                                 return "missing";
38                         }
39                 }
40
41                 public abstract string Type 
42                 {
43                         get;
44                 }
45
46                 public XmlElement CreateXML (XmlDocument doc)
47                 {
48                         XmlElement eltMissing = doc.CreateElement (Type);
49                         eltMissing.SetAttribute ("name", Name);
50                         eltMissing.SetAttribute ("status", Status);
51                         return eltMissing;
52                 }
53         }
54 }