|
|
|
@ -47,31 +47,23 @@ namespace ICSharpCode.SharpDevelop.Dom
@@ -47,31 +47,23 @@ namespace ICSharpCode.SharpDevelop.Dom
|
|
|
|
|
if (callingClass != null) { |
|
|
|
|
AddTypeParametersForCtrlSpace(result, callingClass.TypeParameters); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
List<ICompletionEntry> members = new List<ICompletionEntry>(); |
|
|
|
|
IReturnType t = callingClass.DefaultReturnType; |
|
|
|
|
members.AddRange(t.GetMethods()); |
|
|
|
|
members.AddRange(t.GetFields()); |
|
|
|
|
members.AddRange(t.GetEvents()); |
|
|
|
|
members.AddRange(t.GetProperties()); |
|
|
|
|
foreach (IMember m in members) { |
|
|
|
|
if ((!inStatic || m.IsStatic) && m.IsAccessible(callingClass, true)) { |
|
|
|
|
var language = callingClass.ProjectContent.Language; |
|
|
|
|
foreach (IMember m in MemberLookupHelper.GetAccessibleMembers(t, callingClass, language, true)) { |
|
|
|
|
if ((!inStatic || m.IsStatic) && language.ShowMember(m, m.IsStatic)) |
|
|
|
|
result.Add(m); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
members.Clear(); |
|
|
|
|
IClass c = callingClass.DeclaringType; |
|
|
|
|
while (c != null) { |
|
|
|
|
t = c.DefaultReturnType; |
|
|
|
|
members.AddRange(t.GetMethods()); |
|
|
|
|
members.AddRange(t.GetFields()); |
|
|
|
|
members.AddRange(t.GetEvents()); |
|
|
|
|
members.AddRange(t.GetProperties()); |
|
|
|
|
c = c.DeclaringType; |
|
|
|
|
} |
|
|
|
|
foreach (IMember m in members) { |
|
|
|
|
if (m.IsStatic) { |
|
|
|
|
result.Add(m); |
|
|
|
|
foreach (IMember m in MemberLookupHelper.GetAccessibleMembers(t, c, language, true)) { |
|
|
|
|
if (language.ShowMember(m, true)) |
|
|
|
|
result.Add(m); |
|
|
|
|
} |
|
|
|
|
c = c.DeclaringType; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|