Browse Source

Fix IndexOutOfRangeException in AddOptionalParameterToInvocationAction

pull/567/head
Daniel Grunwald 11 years ago
parent
commit
e64d17f4a6
  1. 6
      src/Libraries/NRefactory/ICSharpCode.NRefactory.CSharp.Refactoring/CodeActions/AddOptionalParameterToInvocationAction.cs

6
src/Libraries/NRefactory/ICSharpCode.NRefactory.CSharp.Refactoring/CodeActions/AddOptionalParameterToInvocationAction.cs

@ -54,8 +54,10 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring
bool[] parameterIsSpecified = new bool[method.Parameters.Count]; bool[] parameterIsSpecified = new bool[method.Parameters.Count];
var argumentToParameterMap = resolveResult.GetArgumentToParameterMap(); var argumentToParameterMap = resolveResult.GetArgumentToParameterMap();
if (argumentToParameterMap != null) { if (argumentToParameterMap != null) {
foreach (int paramIndex in argumentToParameterMap) foreach (int paramIndex in argumentToParameterMap) {
parameterIsSpecified[paramIndex] = true; if (paramIndex >= 0)
parameterIsSpecified[paramIndex] = true;
}
} else { } else {
for (int i = 0; i < Math.Min(resolveResult.Arguments.Count, parameterIsSpecified.Length); i++) { for (int i = 0; i < Math.Min(resolveResult.Arguments.Count, parameterIsSpecified.Length); i++) {
parameterIsSpecified[i] = true; parameterIsSpecified[i] = true;

Loading…
Cancel
Save