提交 d5fd7036 编写于 作者: C CyrusNajmabadi

Get things building.

上级 1368d3a6
...@@ -126,11 +126,13 @@ public TestPickMembersService(ImmutableArray<string> memberNames) ...@@ -126,11 +126,13 @@ public TestPickMembersService(ImmutableArray<string> memberNames)
public PickMembersResult PickMembers( public PickMembersResult PickMembers(
string title, ImmutableArray<ISymbol> members, string title, ImmutableArray<ISymbol> members,
ImmutableArray<IPickMembersOption> options) ImmutableArray<PickMembersOption> options)
{ {
return new PickMembersResult(_memberNames.IsDefault return new PickMembersResult(
? members _memberNames.IsDefault
: _memberNames.SelectAsArray(n => members.Single(m => m.Name == n))); ? members
: _memberNames.SelectAsArray(n => members.Single(m => m.Name == n)),
options);
} }
} }
......
...@@ -43,7 +43,8 @@ public override object GetOptions(CancellationToken cancellationToken) ...@@ -43,7 +43,8 @@ public override object GetOptions(CancellationToken cancellationToken)
var workspace = _document.Project.Solution.Workspace; var workspace = _document.Project.Solution.Workspace;
var service = _service._pickMembersService_forTesting ?? workspace.Services.GetService<IPickMembersService>(); var service = _service._pickMembersService_forTesting ?? workspace.Services.GetService<IPickMembersService>();
return service.PickMembers( return service.PickMembers(
FeaturesResources.Pick_members_to_be_used_as_constructor_parameters, _viableMembers); FeaturesResources.Pick_members_to_be_used_as_constructor_parameters, _viableMembers,
ImmutableArray.Create(new PickMembersOption("Add null checks")));
} }
protected override async Task<IEnumerable<CodeActionOperation>> ComputeOperationsAsync( protected override async Task<IEnumerable<CodeActionOperation>> ComputeOperationsAsync(
......
...@@ -44,8 +44,7 @@ public override object GetOptions(CancellationToken cancellationToken) ...@@ -44,8 +44,7 @@ public override object GetOptions(CancellationToken cancellationToken)
{ {
var service = _service._pickMembersService_forTestingPurposes ?? _document.Project.Solution.Workspace.Services.GetService<IPickMembersService>(); var service = _service._pickMembersService_forTestingPurposes ?? _document.Project.Solution.Workspace.Services.GetService<IPickMembersService>();
return service.PickMembers(FeaturesResources.Pick_members_to_be_used_in_Equals_GetHashCode, return service.PickMembers(FeaturesResources.Pick_members_to_be_used_in_Equals_GetHashCode,
_viableMembers, _viableMembers);
);
} }
protected override async Task<IEnumerable<CodeActionOperation>> ComputeOperationsAsync(object options, CancellationToken cancellationToken) protected override async Task<IEnumerable<CodeActionOperation>> ComputeOperationsAsync(object options, CancellationToken cancellationToken)
......
...@@ -9,12 +9,18 @@ internal interface IPickMembersService : IWorkspaceService ...@@ -9,12 +9,18 @@ internal interface IPickMembersService : IWorkspaceService
{ {
PickMembersResult PickMembers( PickMembersResult PickMembers(
string title, ImmutableArray<ISymbol> members, string title, ImmutableArray<ISymbol> members,
ImmutableArray<IPickMembersOption> options = default(ImmutableArray<IPickMembersOption>)); ImmutableArray<PickMembersOption> options = default(ImmutableArray<PickMembersOption>));
} }
internal interface IPickMembersOption internal class PickMembersOption
{ {
string Title { get; } public PickMembersOption(string title, bool value = false)
bool Value { get; set; } {
Title = title;
Value = value;
}
public string Title { get; }
public bool Value { get; set; }
} }
} }
\ No newline at end of file
...@@ -10,7 +10,7 @@ internal class PickMembersResult ...@@ -10,7 +10,7 @@ internal class PickMembersResult
public readonly bool IsCanceled; public readonly bool IsCanceled;
public readonly ImmutableArray<ISymbol> Members; public readonly ImmutableArray<ISymbol> Members;
public readonly ImmutableArray<IPickMembersOption> Options; public readonly ImmutableArray<PickMembersOption> Options;
private PickMembersResult(bool isCanceled) private PickMembersResult(bool isCanceled)
{ {
...@@ -19,7 +19,7 @@ private PickMembersResult(bool isCanceled) ...@@ -19,7 +19,7 @@ private PickMembersResult(bool isCanceled)
public PickMembersResult( public PickMembersResult(
ImmutableArray<ISymbol> members, ImmutableArray<ISymbol> members,
ImmutableArray<IPickMembersOption> options) ImmutableArray<PickMembersOption> options)
{ {
Members = members; Members = members;
Options = options; Options = options;
......
...@@ -23,7 +23,7 @@ internal class PickMembersDialogViewModel : AbstractNotifyPropertyChanged ...@@ -23,7 +23,7 @@ internal class PickMembersDialogViewModel : AbstractNotifyPropertyChanged
internal PickMembersDialogViewModel( internal PickMembersDialogViewModel(
IGlyphService glyphService, IGlyphService glyphService,
ImmutableArray<ISymbol> members, ImmutableArray<ISymbol> members,
ImmutableArray<IPickMembersOption> options) ImmutableArray<PickMembersOption> options)
{ {
MemberContainers = members.Select(m => new MemberSymbolViewModel(m, glyphService)).ToList(); MemberContainers = members.Select(m => new MemberSymbolViewModel(m, glyphService)).ToList();
Options = options.Select(o => new OptionViewModel(o)).ToList(); Options = options.Select(o => new OptionViewModel(o)).ToList();
...@@ -186,9 +186,9 @@ public bool IsChecked ...@@ -186,9 +186,9 @@ public bool IsChecked
internal class OptionViewModel : AbstractNotifyPropertyChanged internal class OptionViewModel : AbstractNotifyPropertyChanged
{ {
public IPickMembersOption Option { get; } public PickMembersOption Option { get; }
public OptionViewModel(IPickMembersOption option) public OptionViewModel(PickMembersOption option)
{ {
Option = option; Option = option;
_isChecked = option.Value; _isChecked = option.Value;
......
...@@ -22,7 +22,7 @@ public VisualStudioPickMembersService(IGlyphService glyphService) ...@@ -22,7 +22,7 @@ public VisualStudioPickMembersService(IGlyphService glyphService)
} }
public PickMembersResult PickMembers( public PickMembersResult PickMembers(
string title, ImmutableArray<ISymbol> members, ImmutableArray<IPickMembersOption> options) string title, ImmutableArray<ISymbol> members, ImmutableArray<PickMembersOption> options)
{ {
options = options.NullToEmpty(); options = options.NullToEmpty();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册