Browse Source

fix visibility checking bug introduced in f9da13c

pull/488/merge
Siegfried Pammer 11 years ago
parent
commit
82db628ac9
  1. 6
      ICSharpCode.Decompiler/Ast/TypesHierarchyHelpers.cs

6
ICSharpCode.Decompiler/Ast/TypesHierarchyHelpers.cs

@ -189,9 +189,13 @@ namespace ICSharpCode.Decompiler.Ast
if (attrs == MethodAttributes.Private) if (attrs == MethodAttributes.Private)
return false; return false;
if (baseMember.DeclaringType.Module == derivedType.Module)
return true;
if (attrs == MethodAttributes.Assembly || attrs == MethodAttributes.FamANDAssem) { if (attrs == MethodAttributes.Assembly || attrs == MethodAttributes.FamANDAssem) {
var derivedTypeAsm = derivedType.Module.Assembly; var derivedTypeAsm = derivedType.Module.Assembly;
var asm = baseMember.DeclaringType.Module.Assembly; var asm = baseMember.DeclaringType.Module.Assembly;
if (asm.HasCustomAttributes) { if (asm.HasCustomAttributes) {
var attributes = asm.CustomAttributes var attributes = asm.CustomAttributes
.Where(attr => attr.AttributeType.FullName == "System.Runtime.CompilerServices.InternalsVisibleToAttribute"); .Where(attr => attr.AttributeType.FullName == "System.Runtime.CompilerServices.InternalsVisibleToAttribute");
@ -202,11 +206,11 @@ namespace ICSharpCode.Decompiler.Ast
return true; return true;
} }
} }
return false; return false;
} }
return true; return true;
} }
private static MethodAttributes GetAccessAttributes(IMemberDefinition member) private static MethodAttributes GetAccessAttributes(IMemberDefinition member)

Loading…
Cancel
Save