This repository was archived by the owner on Oct 16, 2020. It is now read-only.
File tree Expand file tree Collapse file tree 3 files changed +20
-7
lines changed
src/AddIns/DisplayBindings/AvalonEdit.AddIn Expand file tree Collapse file tree 3 files changed +20
-7
lines changed Original file line number Diff line number Diff line change 151151
152152 <MenuItem id = "FindBaseClassesOrMembers"
153153 label = "${res:SharpDevelop.Refactoring.FindBaseClassesOrMembersCommand}"
154+ shortcut="Control+F6"
154155 icon="Icons.16x16.Interface"
155156 class = "ICSharpCode.AvalonEdit.AddIn.ContextActions.FindBaseClassesOrMembers"/>
156157 </Path>
Original file line number Diff line number Diff line change @@ -40,8 +40,13 @@ public override void Run(ResolveResult symbol)
4040 MakePopupWithBaseClasses ( ( ITypeDefinition ) entityUnderCaret ) . OpenAtCaretAndFocus ( ) ;
4141 return ;
4242 }
43- if ( entityUnderCaret is IMember ) {
44- MakePopupWithBaseMembers ( ( IMember ) entityUnderCaret ) . OpenAtCaretAndFocus ( ) ;
43+ var member = entityUnderCaret as IMember ;
44+ if ( member != null ) {
45+ if ( ( member . SymbolKind == SymbolKind . Constructor ) || ( member . SymbolKind == SymbolKind . Destructor ) ) {
46+ MakePopupWithBaseClasses ( member . DeclaringTypeDefinition ) . OpenAtCaretAndFocus ( ) ;
47+ } else {
48+ MakePopupWithBaseMembers ( member ) . OpenAtCaretAndFocus ( ) ;
49+ }
4550 return ;
4651 }
4752 MessageService . ShowError ( "${res:ICSharpCode.Refactoring.NoClassOrMemberUnderCursorError}" ) ;
@@ -67,12 +72,13 @@ static ObservableCollection<ContextActionViewModel> BuildBaseClassListViewModel(
6772 static ContextActionsPopup MakePopupWithBaseMembers ( IMember member )
6873 {
6974 var baseClassList = member . DeclaringTypeDefinition . GetAllBaseTypeDefinitions ( ) . Where (
70- baseClass => baseClass != member . DeclaringTypeDefinition ) . ToList ( ) ;
75+ baseClass => baseClass != member . DeclaringTypeDefinition ) . ToList ( ) ;
7176 var popupViewModel = new ContextActionsPopupViewModel {
7277 Title = MenuService . ConvertLabel ( StringParser . Parse (
7378 "${res:SharpDevelop.Refactoring.BaseMembersOf}" ,
7479 new StringTagPair ( "Name" , member . FullName ) )
75- ) } ;
80+ )
81+ } ;
7682 popupViewModel . Actions = BuildBaseMemberListViewModel ( member ) ;
7783 return new ContextActionsPopup { Actions = popupViewModel } ;
7884 }
Original file line number Diff line number Diff line change @@ -40,8 +40,13 @@ public override void Run(ResolveResult symbol)
4040 MakePopupWithDerivedClasses ( ( ITypeDefinition ) entityUnderCaret ) . OpenAtCaretAndFocus ( ) ;
4141 return ;
4242 }
43- if ( entityUnderCaret is IMember && ( ( IMember ) entityUnderCaret ) . IsOverridable ) {
44- MakePopupWithOverrides ( ( IMember ) entityUnderCaret ) . OpenAtCaretAndFocus ( ) ;
43+ var member = entityUnderCaret as IMember ;
44+ if ( member != null ) {
45+ if ( ( member . SymbolKind == SymbolKind . Constructor ) || ( member . SymbolKind == SymbolKind . Destructor ) ) {
46+ MakePopupWithDerivedClasses ( member . DeclaringTypeDefinition ) . OpenAtCaretAndFocus ( ) ;
47+ } else if ( member . IsOverridable ) {
48+ MakePopupWithOverrides ( member ) . OpenAtCaretAndFocus ( ) ;
49+ }
4550 return ;
4651 }
4752 MessageService . ShowError ( "${res:ICSharpCode.Refactoring.NoClassOrOverridableSymbolUnderCursorError}" ) ;
@@ -80,7 +85,8 @@ static ContextActionsPopup MakePopupWithOverrides(IMember member)
8085 Title = MenuService . ConvertLabel ( StringParser . Parse (
8186 "${res:SharpDevelop.Refactoring.OverridesOf}" ,
8287 new StringTagPair ( "Name" , member . FullName ) )
83- ) } ;
88+ )
89+ } ;
8490 popupViewModel . Actions = new OverridesPopupTreeViewModelBuilder ( member ) . BuildTreeViewModel ( derivedClassesTree . Children ) ;
8591 return new ContextActionsPopup { Actions = popupViewModel } ;
8692 }
You can’t perform that action at this time.
0 commit comments