Provide quick fix for migration of single elements in named arguments
See more in KT-20171
This commit is contained in:
@@ -625,7 +625,7 @@ public interface Errors {
|
||||
DiagnosticFactory1<KtExpression, KotlinType> MISSING_RECEIVER = DiagnosticFactory1.create(ERROR);
|
||||
DiagnosticFactory0<KtExpression> NO_RECEIVER_ALLOWED = DiagnosticFactory0.create(ERROR);
|
||||
|
||||
DiagnosticFactory0<KtExpression> ASSIGNING_SINGLE_ELEMENT_TO_VARARG_IN_NAMED_FORM_FUNCTION = DiagnosticFactory0.create(WARNING);
|
||||
DiagnosticFactory1<KtExpression, KotlinType> ASSIGNING_SINGLE_ELEMENT_TO_VARARG_IN_NAMED_FORM_FUNCTION = DiagnosticFactory1.create(WARNING);
|
||||
DiagnosticFactory0<KtExpression> ASSIGNING_SINGLE_ELEMENT_TO_VARARG_IN_NAMED_FORM_ANNOTATION = DiagnosticFactory0.create(WARNING);
|
||||
|
||||
// Call resolution
|
||||
|
||||
+1
-1
@@ -760,7 +760,7 @@ public class DefaultErrorMessages {
|
||||
MAP.put(NO_VALUE_FOR_PARAMETER, "No value passed for parameter ''{0}''", NAME);
|
||||
MAP.put(MISSING_RECEIVER, "A receiver of type {0} is required", RENDER_TYPE);
|
||||
MAP.put(NO_RECEIVER_ALLOWED, "No receiver can be passed to this function or property");
|
||||
MAP.put(ASSIGNING_SINGLE_ELEMENT_TO_VARARG_IN_NAMED_FORM_FUNCTION, "Assigning single elements to varargs in named form is deprecated");
|
||||
MAP.put(ASSIGNING_SINGLE_ELEMENT_TO_VARARG_IN_NAMED_FORM_FUNCTION, "Assigning single elements to varargs in named form is deprecated", TO_STRING);
|
||||
MAP.put(ASSIGNING_SINGLE_ELEMENT_TO_VARARG_IN_NAMED_FORM_ANNOTATION, "Assigning single elements to varargs in named form is deprecated");
|
||||
|
||||
MAP.put(CREATING_AN_INSTANCE_OF_ABSTRACT_CLASS, "Cannot create an instance of an abstract class");
|
||||
|
||||
+4
-3
@@ -53,7 +53,7 @@ class AssigningNamedArgumentToVarargChecker : CallChecker {
|
||||
checkAssignmentOfSingleElementInAnnotation(argument, argumentExpression, context)
|
||||
}
|
||||
else {
|
||||
checkAssignmentOfSingleElementInFunction(argument, argumentExpression, context)
|
||||
checkAssignmentOfSingleElementInFunction(argument, argumentExpression, context, parameterDescriptor)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -75,10 +75,11 @@ class AssigningNamedArgumentToVarargChecker : CallChecker {
|
||||
private fun checkAssignmentOfSingleElementInFunction(
|
||||
argument: ValueArgument,
|
||||
argumentExpression: KtExpression,
|
||||
context: ResolutionContext<*>
|
||||
context: ResolutionContext<*>,
|
||||
parameterDescriptor: ValueParameterDescriptor
|
||||
) {
|
||||
if (!argument.hasSpread()) {
|
||||
context.trace.report(Errors.ASSIGNING_SINGLE_ELEMENT_TO_VARARG_IN_NAMED_FORM_FUNCTION.on(argumentExpression))
|
||||
context.trace.report(Errors.ASSIGNING_SINGLE_ELEMENT_TO_VARARG_IN_NAMED_FORM_FUNCTION.on(argumentExpression, parameterDescriptor.type))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user