Changed element parameter for EXPECTED_PARAMETERS_NUMBER_MISMATCH diagnostic
This commit is contained in:
@@ -614,8 +614,8 @@ public interface Errors {
|
|||||||
|
|
||||||
DiagnosticFactory1<JetParameter, JetType> EXPECTED_PARAMETER_TYPE_MISMATCH = DiagnosticFactory1.create(ERROR);
|
DiagnosticFactory1<JetParameter, JetType> EXPECTED_PARAMETER_TYPE_MISMATCH = DiagnosticFactory1.create(ERROR);
|
||||||
DiagnosticFactory1<JetTypeReference, JetType> EXPECTED_RETURN_TYPE_MISMATCH = DiagnosticFactory1.create(ERROR);
|
DiagnosticFactory1<JetTypeReference, JetType> EXPECTED_RETURN_TYPE_MISMATCH = DiagnosticFactory1.create(ERROR);
|
||||||
DiagnosticFactory2<JetFunctionLiteral, Integer, List<JetType>> EXPECTED_PARAMETERS_NUMBER_MISMATCH =
|
DiagnosticFactory2<JetFunction, Integer, List<JetType>> EXPECTED_PARAMETERS_NUMBER_MISMATCH =
|
||||||
DiagnosticFactory2.create(ERROR, FUNCTION_LITERAL_PARAMETERS);
|
DiagnosticFactory2.create(ERROR, FUNCTION_PARAMETERS);
|
||||||
|
|
||||||
DiagnosticFactory2<JetElement, JetType, JetType> INCOMPATIBLE_TYPES = DiagnosticFactory2.create(ERROR);
|
DiagnosticFactory2<JetElement, JetType, JetType> INCOMPATIBLE_TYPES = DiagnosticFactory2.create(ERROR);
|
||||||
|
|
||||||
|
|||||||
@@ -342,13 +342,16 @@ public object PositioningStrategies {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public val FUNCTION_LITERAL_PARAMETERS: PositioningStrategy<JetFunctionLiteral> = object : PositioningStrategy<JetFunctionLiteral>() {
|
public val FUNCTION_PARAMETERS: PositioningStrategy<JetFunction> = object : PositioningStrategy<JetFunction>() {
|
||||||
override fun mark(element: JetFunctionLiteral): List<TextRange> {
|
override fun mark(element: JetFunction): List<TextRange> {
|
||||||
val valueParameterList = element.getValueParameterList()
|
val valueParameterList = element.getValueParameterList()
|
||||||
if (valueParameterList != null) {
|
if (valueParameterList != null) {
|
||||||
return markElement(valueParameterList)
|
return markElement(valueParameterList)
|
||||||
}
|
}
|
||||||
return markNode(element.getLBrace().getNode())
|
if (element is JetFunctionLiteral) {
|
||||||
|
return markNode(element.getLBrace().getNode())
|
||||||
|
}
|
||||||
|
return DECLARATION_SIGNATURE_OR_DEFAULT.mark(element)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -165,15 +165,15 @@ public abstract class ChangeFunctionSignatureFix extends JetIntentionAction<PsiE
|
|||||||
return new JetSingleIntentionActionFactory() {
|
return new JetSingleIntentionActionFactory() {
|
||||||
@Override
|
@Override
|
||||||
public ChangeFunctionSignatureFix createAction(Diagnostic diagnostic) {
|
public ChangeFunctionSignatureFix createAction(Diagnostic diagnostic) {
|
||||||
DiagnosticWithParameters2<JetFunctionLiteral, Integer, List<JetType>> diagnosticWithParameters =
|
DiagnosticWithParameters2<JetFunction, Integer, List<JetType>> diagnosticWithParameters =
|
||||||
EXPECTED_PARAMETERS_NUMBER_MISMATCH.cast(diagnostic);
|
EXPECTED_PARAMETERS_NUMBER_MISMATCH.cast(diagnostic);
|
||||||
JetFunctionLiteral functionLiteral = diagnosticWithParameters.getPsiElement();
|
JetFunction functionLiteral = diagnosticWithParameters.getPsiElement();
|
||||||
BindingContext bindingContext =
|
BindingContext bindingContext =
|
||||||
ResolvePackage.analyzeFully(functionLiteral.getContainingJetFile());
|
ResolvePackage.analyzeFully(functionLiteral.getContainingJetFile());
|
||||||
DeclarationDescriptor descriptor = bindingContext.get(BindingContext.DECLARATION_TO_DESCRIPTOR, functionLiteral);
|
DeclarationDescriptor descriptor = bindingContext.get(BindingContext.DECLARATION_TO_DESCRIPTOR, functionLiteral);
|
||||||
|
|
||||||
if (descriptor instanceof FunctionDescriptor) {
|
if (descriptor instanceof FunctionDescriptor && functionLiteral instanceof JetFunctionLiteral) {
|
||||||
return new ChangeFunctionLiteralSignatureFix(functionLiteral, (FunctionDescriptor) descriptor,
|
return new ChangeFunctionLiteralSignatureFix((JetFunctionLiteral) functionLiteral, (FunctionDescriptor) descriptor,
|
||||||
diagnosticWithParameters.getB());
|
diagnosticWithParameters.getB());
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|||||||
Reference in New Issue
Block a user