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:
peter
2018-02-14 22:12:48 +01:00
parent c8a8eed22b
commit f8b88fec42
4 changed files with 55 additions and 16 deletions
@@ -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>
}
}
}
@@ -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>
}
}
}