diff --git a/ICSharpCode.NRefactory.CSharp/Resolver/MethodGroupResolveResult.cs b/ICSharpCode.NRefactory.CSharp/Resolver/MethodGroupResolveResult.cs index 57c748f3c8..48fc294abb 100644 --- a/ICSharpCode.NRefactory.CSharp/Resolver/MethodGroupResolveResult.cs +++ b/ICSharpCode.NRefactory.CSharp/Resolver/MethodGroupResolveResult.cs @@ -29,10 +29,32 @@ using ICSharpCode.NRefactory.TypeSystem.Implementation; namespace ICSharpCode.NRefactory.CSharp.Resolver { + /// + /// A method list that belongs to a declaring type. + /// public class MethodListWithDeclaringType : List { readonly IType declaringType; + /// + /// The declaring type. + /// + /// + /// Not all methods in this list necessarily have this as their declaring type. + /// For example, this program: + /// + /// class Base { + /// public virtual void M() {} + /// } + /// class Derived : Base { + /// public override void M() {} + /// public void M(int i) {} + /// } + /// + /// results in two lists: + /// new MethodListWithDeclaringType(Base) { Derived.M() }, + /// new MethodListWithDeclaringType(Derived) { Derived.M(int) } + /// public IType DeclaringType { get { return declaringType; } }