提交 d5fd7036 编写于 作者: C CyrusNajmabadi

Get things building.

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