Skip to content

Commit fd59a78

Browse files
committed
Reproduce KT-69159 and KT-69326
1 parent a6985e6 commit fd59a78

File tree

15 files changed

+260
-0
lines changed

15 files changed

+260
-0
lines changed

analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosticCompilerTestFE10TestdataTestGenerated.java

Lines changed: 18 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated.java

Lines changed: 18 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeOldFrontendDiagnosticsTestGenerated.java

Lines changed: 18 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiOldFrontendDiagnosticsTestGenerated.java

Lines changed: 18 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
// ISSUE: KT-69159
2+
3+
interface MyExpression<F>
4+
5+
fun <E> getElement(f: MyExpression<E>): E = TODO()
6+
7+
class MyMin<T1, in S1 : T1?> : MyExpression<T1?>
8+
9+
fun <T2, S2 : T2?> MyExpression<in S2>.min(): MyMin<T2, S2> = TODO()
10+
11+
fun main(x: MyExpression<String>) {
12+
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Any")!>getElement(x.min())!!<!>
13+
getElement(x.min())!!.<!UNRESOLVED_REFERENCE!>length<!>
14+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
// ISSUE: KT-69159
2+
3+
interface MyExpression<F>
4+
5+
fun <E> getElement(f: MyExpression<E>): E = TODO()
6+
7+
class MyMin<T1, in S1 : T1?> : MyExpression<T1?>
8+
9+
fun <T2, S2 : T2?> MyExpression<in S2>.min(): MyMin<T2, S2> = TODO()
10+
11+
fun main(x: MyExpression<String>) {
12+
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String")!>getElement(x.min())!!<!>
13+
getElement(x.min())!!.length
14+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
// ISSUE: KT-69159
2+
interface MyExpression<F>
3+
4+
fun <E> getElement(f: MyExpression<E>): E = TODO()
5+
6+
class MyMin<T1, in S1 : T1?> : MyExpression<T1?>
7+
8+
fun <T2 : Comparable<T2>, S2 : T2?> MyExpression<in S2>.min(): MyMin<T2, S2> = TODO()
9+
10+
fun foo(x: MyExpression<String>) {
11+
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.Nothing")!>getElement(x.min())!!<!>
12+
getElement(x.min())!!.<!UNRESOLVED_REFERENCE!>length<!>
13+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
// ISSUE: KT-69159
2+
interface MyExpression<F>
3+
4+
fun <E> getElement(f: MyExpression<E>): E = TODO()
5+
6+
class MyMin<T1, in S1 : T1?> : MyExpression<T1?>
7+
8+
fun <T2 : Comparable<T2>, S2 : T2?> MyExpression<in S2>.min(): MyMin<T2, S2> = TODO()
9+
10+
fun foo(x: MyExpression<String>) {
11+
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String")!>getElement(x.min())!!<!>
12+
getElement(x.min())!!.length
13+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
// ISSUE: KT-69326
2+
3+
interface MyExpression<F>
4+
5+
fun <E> getElement(f: MyExpression<E>): E = TODO()
6+
7+
fun <T, S : T> MyExpression<in S>.min1(): MyExpression<T?> = TODO()
8+
fun <T : Comparable<T>, S : T> MyExpression<in S>.min2(): MyExpression<T?> = TODO()
9+
10+
fun <K : Any> checkNotNull(k: K?): K = TODO()
11+
12+
fun foo(x: MyExpression<String>) {
13+
getElement(x.min1())!!.<!UNRESOLVED_REFERENCE!>length<!>
14+
checkNotNull(getElement(x.min1())).<!UNRESOLVED_REFERENCE!>length<!>
15+
16+
getElement(x.min2())!!.<!UNRESOLVED_REFERENCE!>length<!>
17+
checkNotNull(getElement(x.min2())).<!UNRESOLVED_REFERENCE!>length<!>
18+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
// ISSUE: KT-69326
2+
3+
interface MyExpression<F>
4+
5+
fun <E> getElement(f: MyExpression<E>): E = TODO()
6+
7+
fun <T, S : T> MyExpression<in S>.min1(): MyExpression<T?> = TODO()
8+
fun <T : Comparable<T>, S : T> MyExpression<in S>.min2(): MyExpression<T?> = TODO()
9+
10+
fun <K : Any> checkNotNull(k: K?): K = TODO()
11+
12+
fun foo(x: MyExpression<String>) {
13+
getElement(x.min1())!!.length
14+
checkNotNull(getElement(x.min1())).<!UNRESOLVED_REFERENCE!>length<!>
15+
16+
getElement(x.min2())!!.length
17+
checkNotNull(<!TYPE_MISMATCH!>getElement<!>(x.<!TYPE_MISMATCH!>min2<!>())).<!UNRESOLVED_REFERENCE!>length<!>
18+
}

compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java

Lines changed: 18 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsES6TypeScriptExportTestGenerated.java

Lines changed: 20 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/fir/FirJsTypeScriptExportTestGenerated.java

Lines changed: 20 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsES6TypeScriptExportTestGenerated.java

Lines changed: 20 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/IrJsTypeScriptExportTestGenerated.java

Lines changed: 20 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)