This repository was archived by the owner on Sep 24, 2020. It is now read-only.
File tree Expand file tree Collapse file tree
ICSharpCode.NRefactory.CSharp/Refactoring Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -976,18 +976,31 @@ public static Modifiers ModifierFromAccessibility(Accessibility accessibility)
976976 }
977977 }
978978
979+ bool NeedsAccessibility ( IMember member )
980+ {
981+ if ( member . DeclaringType . Kind == TypeKind . Interface || member . IsExplicitInterfaceImplementation )
982+ return false ;
983+ switch ( member . SymbolKind ) {
984+ case SymbolKind . Constructor :
985+ return ! member . IsStatic ;
986+ case SymbolKind . Destructor :
987+ return false ;
988+ default :
989+ return true ;
990+ }
991+ }
992+
979993 Modifiers GetMemberModifiers ( IMember member )
980994 {
981- bool isInterfaceMember = member . DeclaringType . Kind == TypeKind . Interface ;
982995 Modifiers m = Modifiers . None ;
983- if ( this . ShowAccessibility && ! isInterfaceMember && ! member . IsExplicitInterfaceImplementation ) {
996+ if ( this . ShowAccessibility && NeedsAccessibility ( member ) ) {
984997 m |= ModifierFromAccessibility ( member . Accessibility ) ;
985998 }
986999 if ( this . ShowModifiers ) {
9871000 if ( member . IsStatic ) {
9881001 m |= Modifiers . Static ;
9891002 } else {
990- if ( member . IsAbstract && ! isInterfaceMember )
1003+ if ( member . IsAbstract && member . DeclaringType . Kind != TypeKind . Interface )
9911004 m |= Modifiers . Abstract ;
9921005 if ( member . IsOverride )
9931006 m |= Modifiers . Override ;
You can’t perform that action at this time.
0 commit comments