mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-26 19:06:24 +07:00
cast qualifier when return type is narrowed (IDEA-185364)
This commit is contained in:
@@ -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>
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user