提交 2bb5a7b8 编写于 作者: C CyrusNajmabadi

Fix test.

上级 accd2b93
......@@ -183,7 +183,7 @@ public Program(bool b)
this.b = b;
}
}",
string.Format(FeaturesResources.Add_parameters_to_0, "Program", "bool"),
string.Format(FeaturesResources.Add_parameters_to_0, "Program(bool)"),
index: 0);
}
......
......@@ -97,6 +97,8 @@ private static TArgumentSyntax TryGetRelevantArgument(SyntaxNode initialNode, Sy
? StringComparer.Ordinal
: CaseInsensitiveComparison.Comparer;
var constructorsAndArgumentToAdd = ArrayBuilder<(IMethodSymbol constructor, TArgumentSyntax argument, int index)>.GetInstance();
foreach (var constructor in type.InstanceConstructors.OrderBy(m => m.Parameters.Length))
{
if (IsInSource(constructor) &&
......@@ -117,17 +119,29 @@ private static TArgumentSyntax TryGetRelevantArgument(SyntaxNode initialNode, Sy
continue;
}
var parameters = constructor.Parameters.Select(p => p.ToDisplayString(SimpleFormat));
var signature = $"{type.Name}({string.Join(", ", parameters)})";
var title = string.Format(FeaturesResources.Add_parameter_to_0, signature);
context.RegisterCodeFix(
new MyCodeAction(title, c => FixAsync(document, constructor, argumentToAdd, arguments, c)),
context.Diagnostics);
constructorsAndArgumentToAdd.Add(
(constructor, argumentToAdd, arguments.IndexOf(argumentToAdd)));
}
}
}
// Order by the furthest argument index to the nearest argument index. The ones with
// larger argument indexes mean that we matched more earlier arguments (and thus are
// likely to be the correct match).
foreach (var tuple in constructorsAndArgumentToAdd.OrderByDescending(t => t.index))
{
var constructor = tuple.constructor;
var argumentToAdd = tuple.argument;
var parameters = constructor.Parameters.Select(p => p.ToDisplayString(SimpleFormat));
var signature = $"{type.Name}({string.Join(", ", parameters)})";
var title = string.Format(FeaturesResources.Add_parameter_to_0, signature);
context.RegisterCodeFix(
new MyCodeAction(title, c => FixAsync(document, constructor, argumentToAdd, arguments, c)),
context.Diagnostics);
}
}
private int NonParamsParameterCount(IMethodSymbol method)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册