mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-18 09:34:34 +07:00
java completion: don't always cast qualifier when return type is narrowed (IDEA-186652, IDEA-186609)
only when that narrowed type is expected
This commit is contained in:
+18
@@ -0,0 +1,18 @@
|
||||
interface TypeA { }
|
||||
interface TypeB extends TypeA { }
|
||||
|
||||
interface ProviderOfA {
|
||||
TypeA getObject();
|
||||
}
|
||||
|
||||
interface ProviderOfB extends ProviderOfA {
|
||||
TypeB getObject();
|
||||
}
|
||||
|
||||
class IntelliJPostCastScopeBug {
|
||||
void foo(ProviderOfA provider) {
|
||||
if (provider instanceof ProviderOfB) {
|
||||
provider.getObje<caret>
|
||||
}
|
||||
}
|
||||
}
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
interface TypeA { }
|
||||
interface TypeB extends TypeA { }
|
||||
|
||||
interface ProviderOfA {
|
||||
TypeA getObject();
|
||||
}
|
||||
|
||||
interface ProviderOfB extends ProviderOfA {
|
||||
TypeB getObject();
|
||||
}
|
||||
|
||||
class IntelliJPostCastScopeBug {
|
||||
void foo(ProviderOfA provider) {
|
||||
if (provider instanceof ProviderOfB) {
|
||||
provider.getObject()<caret>
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user