cast qualifier when return type is narrowed (IDEA-185364)

This commit is contained in:
peter
2018-02-05 19:07:26 +01:00
parent 8532268b70
commit d8762e94d8
4 changed files with 58 additions and 17 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) {
TypeB object = 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) {
TypeB object = ((ProviderOfB) provider).getObject()<caret>
}
}
}