mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-13 21:55:01 +07:00
provide extends fix for overriding return types (IDEA-161739)
This commit is contained in:
+4
@@ -213,6 +213,10 @@ public class HighlightMethodUtil {
|
||||
description).create();
|
||||
QuickFixAction.registerQuickFixAction(errorResult, QUICK_FIX_FACTORY.createMethodReturnFix(method, substitutedSuperReturnType, false));
|
||||
QuickFixAction.registerQuickFixAction(errorResult, QUICK_FIX_FACTORY.createSuperMethodReturnFix(superMethod, returnType));
|
||||
final PsiClass returnClass = PsiUtil.resolveClassInClassTypeOnly(returnType);
|
||||
if (returnClass != null && substitutedSuperReturnType instanceof PsiClassType) {
|
||||
QuickFixAction.registerQuickFixAction(errorResult, QUICK_FIX_FACTORY.createChangeParameterClassFix(returnClass, (PsiClassType)substitutedSuperReturnType));
|
||||
}
|
||||
|
||||
return errorResult;
|
||||
}
|
||||
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
// "Make 'Bar' implement 'java.lang.Runnable'" "true"
|
||||
|
||||
abstract class Foo {
|
||||
abstract Runnable foo();
|
||||
}
|
||||
|
||||
class FooBar extends Foo {
|
||||
@Override
|
||||
Bar foo() {
|
||||
return null;
|
||||
}
|
||||
|
||||
static class Bar implements Runnable {
|
||||
public void run() {
|
||||
<caret>
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
// "Make 'Bar' implement 'java.lang.Runnable'" "true"
|
||||
|
||||
abstract class Foo {
|
||||
abstract Runnable foo();
|
||||
}
|
||||
|
||||
class FooBar extends Foo {
|
||||
@Override
|
||||
B<caret>ar foo() {
|
||||
return null;
|
||||
}
|
||||
|
||||
static class Bar {}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user