|
|
@ -386,8 +386,7 @@ namespace ICSharpCode.Decompiler.CSharp |
|
|
|
parameter = method.Parameters[i - firstParamIndex]; |
|
|
|
parameter = method.Parameters[i - firstParamIndex]; |
|
|
|
} |
|
|
|
} |
|
|
|
var arg = expressionBuilder.Translate(callArguments[i], parameter.Type); |
|
|
|
var arg = expressionBuilder.Translate(callArguments[i], parameter.Type); |
|
|
|
if (arg.ResolveResult.IsCompileTimeConstant && !method.DeclaringType.IsKnownType(KnownTypeCode.NullableOfT) |
|
|
|
if (IsPrimitiveValueThatShouldHaveNamedArgument(arg, method)) { |
|
|
|
&& arg.ResolveResult.Type.IsKnownType(KnownTypeCode.Boolean)) { |
|
|
|
|
|
|
|
isPrimitiveValue.Set(arguments.Count); |
|
|
|
isPrimitiveValue.Set(arguments.Count); |
|
|
|
} |
|
|
|
} |
|
|
|
if (IsOptionalArgument(parameter, arg)) { |
|
|
|
if (IsOptionalArgument(parameter, arg)) { |
|
|
@ -437,6 +436,13 @@ namespace ICSharpCode.Decompiler.CSharp |
|
|
|
return list; |
|
|
|
return list; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private bool IsPrimitiveValueThatShouldHaveNamedArgument(TranslatedExpression arg, IMethod method) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
if (!arg.ResolveResult.IsCompileTimeConstant || method.DeclaringType.IsKnownType(KnownTypeCode.NullableOfT)) |
|
|
|
|
|
|
|
return false; |
|
|
|
|
|
|
|
return arg.ResolveResult.Type.IsKnownType(KnownTypeCode.Boolean); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private bool TransformParamsArgument(ExpectedTargetDetails expectedTargetDetails, ResolveResult targetResolveResult, |
|
|
|
private bool TransformParamsArgument(ExpectedTargetDetails expectedTargetDetails, ResolveResult targetResolveResult, |
|
|
|
IMethod method, IParameter parameter, TranslatedExpression arg, ref List<IParameter> expectedParameters, |
|
|
|
IMethod method, IParameter parameter, TranslatedExpression arg, ref List<IParameter> expectedParameters, |
|
|
|
ref List<TranslatedExpression> arguments) |
|
|
|
ref List<TranslatedExpression> arguments) |
|
|
|