Browse Source

Don't add interface methods to type - use only the defined ones

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@6212 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
pull/1/head
David Srbecký 16 years ago
parent
commit
c6c11de54b
  1. 16
      src/AddIns/Debugger/Debugger.Core/MetaData/DebugType.cs

16
src/AddIns/Debugger/Debugger.Core/MetaData/DebugType.cs

@ -359,14 +359,14 @@ namespace Debugger.MetaData @@ -359,14 +359,14 @@ namespace Debugger.MetaData
results.AddRange(superResults);
}
}
// Query interfaces
// - needed to obtain explicitly defined methods of a type
// - needed to get inherited methods of an interface
foreach (DebugType inter in this.GetInterfaces()) {
// GetInterfaces will return all interfaces - no need to recurse
bindingFlags |= BindingFlags.DeclaredOnly;
T[] interResults = inter.GetMembers<T>(name, bindingFlags, filter);
results.AddRange(interResults);
// Query interfaces - needed to get inherited methods of an interface
if (this.IsInterface) {
foreach (DebugType inter in this.GetInterfaces()) {
// GetInterfaces will return all interfaces - no need to recurse
bindingFlags |= BindingFlags.DeclaredOnly;
T[] interResults = inter.GetMembers<T>(name, bindingFlags, filter);
results.AddRange(interResults);
}
}
}

Loading…
Cancel
Save