diff options
author | Daniel Grunwald <daniel@danielgrunwald.de> | 2015-06-03 15:10:46 +0300 |
---|---|---|
committer | Daniel Grunwald <daniel@danielgrunwald.de> | 2015-06-03 15:10:46 +0300 |
commit | 4fec0c394618f56d523994df4c01bfca4e096dc9 (patch) | |
tree | 77d0eeb073ac49a397fb2d899d6cd8986043586a /ICSharpCode.NRefactory.CSharp | |
parent | 6e6d7778883fb135a0b6945cc4696c176b9c5e3a (diff) |
Don't output accessibility for static constructors.
Diffstat (limited to 'ICSharpCode.NRefactory.CSharp')
-rw-r--r-- | ICSharpCode.NRefactory.CSharp/Refactoring/TypeSystemAstBuilder.cs | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/ICSharpCode.NRefactory.CSharp/Refactoring/TypeSystemAstBuilder.cs b/ICSharpCode.NRefactory.CSharp/Refactoring/TypeSystemAstBuilder.cs index 821283a3..6fca1230 100644 --- a/ICSharpCode.NRefactory.CSharp/Refactoring/TypeSystemAstBuilder.cs +++ b/ICSharpCode.NRefactory.CSharp/Refactoring/TypeSystemAstBuilder.cs @@ -976,18 +976,31 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring } } + bool NeedsAccessibility(IMember member) + { + if (member.DeclaringType.Kind == TypeKind.Interface || member.IsExplicitInterfaceImplementation) + return false; + switch (member.SymbolKind) { + case SymbolKind.Constructor: + return !member.IsStatic; + case SymbolKind.Destructor: + return false; + default: + return true; + } + } + Modifiers GetMemberModifiers(IMember member) { - bool isInterfaceMember = member.DeclaringType.Kind == TypeKind.Interface; Modifiers m = Modifiers.None; - if (this.ShowAccessibility && !isInterfaceMember && !member.IsExplicitInterfaceImplementation) { + if (this.ShowAccessibility && NeedsAccessibility(member)) { m |= ModifierFromAccessibility (member.Accessibility); } if (this.ShowModifiers) { if (member.IsStatic) { m |= Modifiers.Static; } else { - if (member.IsAbstract && !isInterfaceMember) + if (member.IsAbstract && member.DeclaringType.Kind != TypeKind.Interface) m |= Modifiers.Abstract; if (member.IsOverride) m |= Modifiers.Override; |