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; }
}