From bbb1b3edc859767fba581e368ebfa2d32472127e Mon Sep 17 00:00:00 2001 From: mkonicek Date: Wed, 8 Dec 2010 18:46:13 +0100 Subject: [PATCH] Fix: NRefactoryResolver now resolves constructor definitions (before it was returning UnknownMethodResolveResult) -> Find references and context menu on constructor definitions work Please Daniel check if this is OK and also tell me if fixes like this are already useless because of the new NRefactory. (next thing I would like to fix are Find references to interface members). --- .../Project/Src/CtrlSpaceResolveHelper.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/CtrlSpaceResolveHelper.cs b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/CtrlSpaceResolveHelper.cs index 08865ce3ff..473b422cf2 100644 --- a/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/CtrlSpaceResolveHelper.cs +++ b/src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/CtrlSpaceResolveHelper.cs @@ -216,7 +216,11 @@ namespace ICSharpCode.SharpDevelop.Dom if (expressionResult.Context != ExpressionContext.Type) { if (callingMember != null && !callingMember.BodyRegion.IsInside(caretLine, caretColumn) - && callingClass.ProjectContent.Language.NameComparer.Equals(expression, callingMember.Name)) + && (callingClass.ProjectContent.Language.NameComparer.Equals(expression, callingMember.Name) || + // For constructor definition, the expression is the constructor name (e.g. "MyClass") but the name of the member is "#ctor" + (callingMember.Name == "#ctor" && callingClass.ProjectContent.Language.NameComparer.Equals(expression, callingClass.Name)) + ) + ) { return new MemberResolveResult(callingClass, callingMember, callingMember); }