|
|
|
@ -1127,9 +1127,13 @@ namespace ICSharpCode.Decompiler.CSharp
@@ -1127,9 +1127,13 @@ namespace ICSharpCode.Decompiler.CSharp
|
|
|
|
|
{ |
|
|
|
|
// A method introduced in a class or struct hides all non-method base class members with the same name, and all
|
|
|
|
|
// base class methods with the same signature (method name and parameter count, modifiers, and types).
|
|
|
|
|
if (baseType.GetMembers(m => m.SymbolKind != SymbolKind.Indexer && m.Name == entity.Name && lookup.IsAccessible(m, true)) |
|
|
|
|
.Any(m => m.SymbolKind != SymbolKind.Method || (((IMethod)entity).TypeParameters.Count == ((IMethod)m).TypeParameters.Count |
|
|
|
|
&& parameterListComparer.Equals(((IMethod)entity).Parameters, ((IMethod)m).Parameters)))) |
|
|
|
|
if (baseType.GetMembers(m => m.SymbolKind != SymbolKind.Indexer |
|
|
|
|
&& m.SymbolKind != SymbolKind.Constructor |
|
|
|
|
&& m.SymbolKind != SymbolKind.Destructor |
|
|
|
|
&& m.Name == entity.Name && lookup.IsAccessible(m, true)) |
|
|
|
|
.Any(m => m.SymbolKind != SymbolKind.Method || |
|
|
|
|
(((IMethod)entity).TypeParameters.Count == ((IMethod)m).TypeParameters.Count |
|
|
|
|
&& parameterListComparer.Equals(((IMethod)entity).Parameters, ((IMethod)m).Parameters)))) |
|
|
|
|
{ |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|