Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/xamarin/NRefactory.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Grunwald <daniel@danielgrunwald.de>2015-06-03 15:10:46 +0300
committerDaniel Grunwald <daniel@danielgrunwald.de>2015-06-03 15:10:46 +0300
commit4fec0c394618f56d523994df4c01bfca4e096dc9 (patch)
tree77d0eeb073ac49a397fb2d899d6cd8986043586a /ICSharpCode.NRefactory.CSharp
parent6e6d7778883fb135a0b6945cc4696c176b9c5e3a (diff)
Don't output accessibility for static constructors.
Diffstat (limited to 'ICSharpCode.NRefactory.CSharp')
-rw-r--r--ICSharpCode.NRefactory.CSharp/Refactoring/TypeSystemAstBuilder.cs19
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;