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 151
151
152
152
<MenuItem id = "FindBaseClassesOrMembers"
153
153
label = "${res:SharpDevelop.Refactoring.FindBaseClassesOrMembersCommand}"
154
+ shortcut="Control+F6"
154
155
icon="Icons.16x16.Interface"
155
156
class = "ICSharpCode.AvalonEdit.AddIn.ContextActions.FindBaseClassesOrMembers"/>
156
157
</Path>
Original file line number Diff line number Diff line change @@ -40,8 +40,13 @@ public override void Run(ResolveResult symbol)
40
40
MakePopupWithBaseClasses ( ( ITypeDefinition ) entityUnderCaret ) . OpenAtCaretAndFocus ( ) ;
41
41
return ;
42
42
}
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
+ }
45
50
return ;
46
51
}
47
52
MessageService . ShowError ( "${res:ICSharpCode.Refactoring.NoClassOrMemberUnderCursorError}" ) ;
@@ -67,12 +72,13 @@ static ObservableCollection<ContextActionViewModel> BuildBaseClassListViewModel(
67
72
static ContextActionsPopup MakePopupWithBaseMembers ( IMember member )
68
73
{
69
74
var baseClassList = member . DeclaringTypeDefinition . GetAllBaseTypeDefinitions ( ) . Where (
70
- baseClass => baseClass != member . DeclaringTypeDefinition ) . ToList ( ) ;
75
+ baseClass => baseClass != member . DeclaringTypeDefinition ) . ToList ( ) ;
71
76
var popupViewModel = new ContextActionsPopupViewModel {
72
77
Title = MenuService . ConvertLabel ( StringParser . Parse (
73
78
"${res:SharpDevelop.Refactoring.BaseMembersOf}" ,
74
79
new StringTagPair ( "Name" , member . FullName ) )
75
- ) } ;
80
+ )
81
+ } ;
76
82
popupViewModel . Actions = BuildBaseMemberListViewModel ( member ) ;
77
83
return new ContextActionsPopup { Actions = popupViewModel } ;
78
84
}
Original file line number Diff line number Diff line change @@ -40,8 +40,13 @@ public override void Run(ResolveResult symbol)
40
40
MakePopupWithDerivedClasses ( ( ITypeDefinition ) entityUnderCaret ) . OpenAtCaretAndFocus ( ) ;
41
41
return ;
42
42
}
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
+ }
45
50
return ;
46
51
}
47
52
MessageService . ShowError ( "${res:ICSharpCode.Refactoring.NoClassOrOverridableSymbolUnderCursorError}" ) ;
@@ -80,7 +85,8 @@ static ContextActionsPopup MakePopupWithOverrides(IMember member)
80
85
Title = MenuService . ConvertLabel ( StringParser . Parse (
81
86
"${res:SharpDevelop.Refactoring.OverridesOf}" ,
82
87
new StringTagPair ( "Name" , member . FullName ) )
83
- ) } ;
88
+ )
89
+ } ;
84
90
popupViewModel . Actions = new OverridesPopupTreeViewModelBuilder ( member ) . BuildTreeViewModel ( derivedClassesTree . Children ) ;
85
91
return new ContextActionsPopup { Actions = popupViewModel } ;
86
92
}
You can’t perform that action at this time.
0 commit comments