// // // // // $Revision$ // using System; using System.Collections.Generic; using Debugger.Wrappers.CorDebug; using Debugger.Wrappers.MetaData; namespace Debugger.MetaData { /// /// Provides information about a member of some class /// (eg. a field or a method). /// public abstract class MemberInfo: DebuggerObject { DebugType declaringType; /// Gets the process in which the type was loaded [Debugger.Tests.Ignore] public Process Process { get { return declaringType.Process; } } /// Gets the name of this member public abstract string Name { get; } /// Gets name of the method including the full name of the declaring type public string FullName { get { return this.DeclaringType.FullName + "." + this.Name; } } /// Gets the module in which this member is defined public Module Module { get { return declaringType.Module; } } /// Gets the type that declares this member element public DebugType DeclaringType { get { return declaringType; } } /// Gets a value indicating whether this member has the private access modifier public abstract bool IsPrivate { get; } /// Gets a value indicating whether this member has the internal access modifier public abstract bool IsInternal { get; } /// Gets a value indicating whether this member has the protected access modifier public abstract bool IsProtected { get; } /// Gets a value indicating whether this member has the public access modifier public abstract bool IsPublic { get; } /// Gets a value indicating whether this member is static public abstract bool IsStatic { get; } /// Gets the metadata token associated with this member [Debugger.Tests.Ignore] public abstract uint MetadataToken { get; } internal MemberInfo(DebugType declaringType) { this.declaringType = declaringType; } public override string ToString() { return this.Name; } } }