// FIR_IDENTICAL // ISSUE: KT-60581 // WITH_STDLIB // ---------------------- AssertJ declarations -------------------------- // FILE: AbstractAssert.java public abstract class AbstractAssert, ACTUAL> {} // FILE: EnumerableAssert.java public interface EnumerableAssert, ELEMENT> {} // FILE: ObjectEnumerableAssert.java public interface ObjectEnumerableAssert, ELEMENT> extends EnumerableAssert {} // FILE: IndexedObjectEnumerableAssert.java public interface IndexedObjectEnumerableAssert, ELEMENT> extends ObjectEnumerableAssert {} // FILE: AbstractIterableAssert.java public abstract class AbstractIterableAssert< SELF extends AbstractIterableAssert, ACTUAL extends Iterable, ELEMENT, ELEMENT_ASSERT extends AbstractAssert> extends AbstractAssert implements ObjectEnumerableAssert {} // FILE: AbstractListAssert.java public abstract class AbstractListAssert< SELF extends AbstractListAssert, ACTUAL extends List, ELEMENT, ELEMENT_ASSERT extends AbstractAssert> extends AbstractIterableAssert implements IndexedObjectEnumerableAssert { SELF isNotEmpty() { return null; } } // FILE: ListAssert.java public class ListAssert extends AbstractListAssert, List, ELEMENT, ObjectAssert> {} // FILE: AbstractCharSequenceAssert.java public abstract class AbstractCharSequenceAssert, ACTUAL extends CharSequence> extends AbstractAssert implements EnumerableAssert {} // FILE: AbstractStringAssert.java public class AbstractStringAssert> extends AbstractCharSequenceAssert { public SELF isEqualTo(String expected) { return null; } } // FILE: StringAssert.java public class StringAssert extends AbstractStringAssert {} // FILE: test/Assertions.java import java.util.List; public class Assertions { public static ListAssert assertThat(java.util.List actual) { return null; } public static AbstractStringAssert assertThat(String actual) { return null; } } // FILE: foo.kt fun test() { val sessionIds = listOf("") val directSessionIds = listOf("") if (true) { if (true) { Assertions.assertThat(sessionIds[0]) } else { Assertions.assertThat(directSessionIds) } } else { Assertions.assertThat(sessionIds) } }