Browse Source

Fixed SD2-1532: Context help (F1) does not work for constructor calls

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/3.0@4944 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 16 years ago
parent
commit
f63bdc2ea3
  1. 14
      src/Main/Base/Project/Src/Services/HelpProvider.cs

14
src/Main/Base/Project/Src/Services/HelpProvider.cs

@ -21,6 +21,8 @@ namespace ICSharpCode.SharpDevelop
public static void ShowHelp(IClass c) public static void ShowHelp(IClass c)
{ {
if (c == null)
throw new ArgumentNullException("c");
foreach (HelpProvider p in GetProviders()) { foreach (HelpProvider p in GetProviders()) {
if (p.TryShowHelp(c)) if (p.TryShowHelp(c))
return; return;
@ -35,6 +37,8 @@ namespace ICSharpCode.SharpDevelop
public static void ShowHelp(IMember m) public static void ShowHelp(IMember m)
{ {
if (m == null)
throw new ArgumentNullException("m");
foreach (HelpProvider p in GetProviders()) { foreach (HelpProvider p in GetProviders()) {
if (p.TryShowHelp(m)) if (p.TryShowHelp(m))
return; return;
@ -44,11 +48,17 @@ namespace ICSharpCode.SharpDevelop
public virtual bool TryShowHelp(IMember m) public virtual bool TryShowHelp(IMember m)
{ {
return TryShowHelp(m.FullyQualifiedName); IMethod method = m as IMethod;
if (method != null && method.IsConstructor)
return TryShowHelp(m.DeclaringType.FullyQualifiedName + "." + m.DeclaringType.Name);
else
return TryShowHelp(m.FullyQualifiedName);
} }
public static void ShowHelp(string fullTypeName) public static void ShowHelp(string fullTypeName)
{ {
if (fullTypeName == null)
throw new ArgumentNullException("fullTypeName");
foreach (HelpProvider p in GetProviders()) { foreach (HelpProvider p in GetProviders()) {
if (p.TryShowHelp(fullTypeName)) if (p.TryShowHelp(fullTypeName))
return; return;
@ -64,6 +74,8 @@ namespace ICSharpCode.SharpDevelop
public static void ShowHelpByKeyword(string keyword) public static void ShowHelpByKeyword(string keyword)
{ {
if (keyword == null)
throw new ArgumentNullException("keyword");
foreach (HelpProvider p in GetProviders()) { foreach (HelpProvider p in GetProviders()) {
if (p.TryShowHelpByKeyword(keyword)) if (p.TryShowHelpByKeyword(keyword))
return; return;

Loading…
Cancel
Save