Browse Source

fixed SD-1627 - Method insight tooltip not displayed

pull/2/head
Siegfried Pammer 15 years ago
parent
commit
80a36c35d6
  1. 28
      src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/NRefactoryResolver/ResolveVisitor.cs

28
src/Main/ICSharpCode.SharpDevelop.Dom/Project/Src/NRefactoryResolver/ResolveVisitor.cs

@ -375,7 +375,8 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver @@ -375,7 +375,8 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver
ResolveResult targetRR = Resolve(memberReferenceExpression.TargetObject);
if (targetRR == null)
return null;
type = targetRR.ResolvedType;
type = GetType(targetRR);
if (targetRR is NamespaceResolveResult) {
return ResolveMemberInNamespace(((NamespaceResolveResult)targetRR).Name, memberReferenceExpression);
} else if (type != null) {
@ -393,17 +394,17 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver @@ -393,17 +394,17 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver
}
var memberRR = resolver.ResolveMember(type, memberReferenceExpression.MemberName,
memberReferenceExpression.TypeArguments,
NRefactoryResolver.IsInvoked(memberReferenceExpression),
typeRR == null, // allow extension methods only for non-static method calls
targetRR is BaseResolveResult ? (bool?)true : null // allow calling protected members using "base."
);
memberReferenceExpression.TypeArguments,
NRefactoryResolver.IsInvoked(memberReferenceExpression),
typeRR == null, // allow extension methods only for non-static method calls
targetRR is BaseResolveResult ? (bool?)true : null // allow calling protected members using "base."
);
// MethodGroupResolveResult mgRR = memberRR as MethodGroupResolveResult;
//
//
// if (mgRR == null)
// mgRR = targetRR as MethodGroupResolveResult;
//
//
// if (mgRR != null && !resolver.allowMethodGroupResolveResult)
// return CreateMemberResolveResult(mgRR.GetMethodWithEmptyParameterList());
@ -412,6 +413,17 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver @@ -412,6 +413,17 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver
return null;
}
IReturnType GetType(ResolveResult targetRR)
{
if (targetRR.ResolvedType != null)
return targetRR.ResolvedType;
if (targetRR is MixedResolveResult && ((MixedResolveResult)targetRR).TypeResult != null)
return ((MixedResolveResult)targetRR).TypeResult.ResolvedType;
return null;
}
ResolveResult ResolveMemberInNamespace(string namespaceName, MemberReferenceExpression mre)
{
string combinedName;

Loading…
Cancel
Save