// ISSUE: KT-56820 // FILE: PropertyId.java public class PropertyId {} // FILE: ReferenceId.java public class ReferenceId extends PropertyId {} // FILE: Property.java public class Property { public PropertyId id = new PropertyId<>(); } // FILE: Reference.java public class Reference extends Property { public ReferenceId getId() { return new ReferenceId(); } } // FILE: main.kt private val anyProperty = Property() private val boundedProperty = Property() fun test_1(x: Property) { if (x is Reference) { x.id } } fun test_2(x: Property) { if (x is Reference) { x.id } }