Quick fix for implicit nothing with a test
This commit is contained in:
@@ -248,4 +248,16 @@ public class ChangeFunctionReturnTypeFix extends JetIntentionAction<JetFunction>
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
public static JetSingleIntentionActionFactory createFactoryForChangingReturnTypeToNothing() {
|
||||||
|
return new JetSingleIntentionActionFactory() {
|
||||||
|
@Nullable
|
||||||
|
@Override
|
||||||
|
public IntentionAction createAction(@NotNull Diagnostic diagnostic) {
|
||||||
|
JetFunction function = QuickFixUtil.getParentElementOfType(diagnostic, JetFunction.class);
|
||||||
|
return function == null ? null : new ChangeFunctionReturnTypeFix(function, getPlatform(function).getBuiltIns().getNothingType());
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -219,6 +219,7 @@ public class QuickFixRegistrar : QuickFixContributor {
|
|||||||
COMPONENT_FUNCTION_RETURN_TYPE_MISMATCH.registerFactory(ChangeFunctionReturnTypeFix.createFactoryForComponentFunctionReturnTypeMismatch())
|
COMPONENT_FUNCTION_RETURN_TYPE_MISMATCH.registerFactory(ChangeFunctionReturnTypeFix.createFactoryForComponentFunctionReturnTypeMismatch())
|
||||||
HAS_NEXT_FUNCTION_TYPE_MISMATCH.registerFactory(ChangeFunctionReturnTypeFix.createFactoryForHasNextFunctionTypeMismatch())
|
HAS_NEXT_FUNCTION_TYPE_MISMATCH.registerFactory(ChangeFunctionReturnTypeFix.createFactoryForHasNextFunctionTypeMismatch())
|
||||||
COMPARE_TO_TYPE_MISMATCH.registerFactory(ChangeFunctionReturnTypeFix.createFactoryForCompareToTypeMismatch())
|
COMPARE_TO_TYPE_MISMATCH.registerFactory(ChangeFunctionReturnTypeFix.createFactoryForCompareToTypeMismatch())
|
||||||
|
IMPLICIT_NOTHING_RETURN_TYPE.registerFactory(ChangeFunctionReturnTypeFix.createFactoryForChangingReturnTypeToNothing())
|
||||||
|
|
||||||
TOO_MANY_ARGUMENTS.registerFactory(ChangeFunctionSignatureFix.createFactory())
|
TOO_MANY_ARGUMENTS.registerFactory(ChangeFunctionSignatureFix.createFactory())
|
||||||
NO_VALUE_FOR_PARAMETER.registerFactory(ChangeFunctionSignatureFix.createFactory())
|
NO_VALUE_FOR_PARAMETER.registerFactory(ChangeFunctionSignatureFix.createFactory())
|
||||||
|
|||||||
@@ -0,0 +1,2 @@
|
|||||||
|
// "Specify return type explicitly" "true"
|
||||||
|
<caret>fun foo() = throw IllegalArgumentException()
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
// "Specify return type explicitly" "true"
|
||||||
|
fun foo(): Nothing<caret> = throw IllegalArgumentException()
|
||||||
@@ -525,6 +525,12 @@ public class QuickFixTestGenerated extends AbstractQuickFixTest {
|
|||||||
doTest(fileName);
|
doTest(fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("addNothingReturnType.kt")
|
||||||
|
public void testAddNothingReturnType() throws Exception {
|
||||||
|
String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/changeSignature/addNothingReturnType.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("addParameterNotAvailableForBuiltins.kt")
|
@TestMetadata("addParameterNotAvailableForBuiltins.kt")
|
||||||
public void testAddParameterNotAvailableForBuiltins() throws Exception {
|
public void testAddParameterNotAvailableForBuiltins() throws Exception {
|
||||||
String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/changeSignature/addParameterNotAvailableForBuiltins.kt");
|
String fileName = JetTestUtils.navigationMetadata("idea/testData/quickfix/changeSignature/addParameterNotAvailableForBuiltins.kt");
|
||||||
|
|||||||
Reference in New Issue
Block a user