FIR: built-in resolve, preliminary version #KT-24091 Fixed

This commit is contained in:
Mikhail Glukhikh
2018-03-22 16:58:39 +03:00
parent ce113fbe2e
commit 8035be07e2
30 changed files with 556 additions and 122 deletions
+8
View File
@@ -0,0 +1,8 @@
import kotlin.*
import kotlin.collections.*
abstract class MyStringList : List<String>
abstract class MyMutableStringList : MutableList<String>
fun List<String>.convert(): MyStringList = this as MyStringList
fun ret(l: MutableList<String>): MyMutableStringList = this as MyMutableStringList
+11
View File
@@ -0,0 +1,11 @@
FILE: lists.kt
(resolved) public? abstract class MyStringList() : R/kotlin/collections/List<kotlin/String>/ {
}
(resolved) public? abstract class MyMutableStringList() : R/kotlin/collections/MutableList<kotlin/String>/ {
}
public? final? function convertR/kotlin/collections/List<kotlin/String>/.(): R/MyStringList/ {
STUB
}
public? final? function ret(l: R/kotlin/collections/MutableList<kotlin/String>/): R/MyMutableStringList/ {
STUB
}
+2
View File
@@ -1,3 +1,5 @@
import kotlin.*
interface SomeInterface {
fun foo(x: Int, y: String): String
+9 -9
View File
@@ -1,27 +1,27 @@
FILE: simpleClass.kt
(resolved) public? abstract interface SomeInterface() {
public? final? function foo(x: R/error: Symbol not found/, y: R/error: Symbol not found/): R/error: Symbol not found/
public? final? function foo(x: R/kotlin/Int/, y: R/kotlin/String/): R/kotlin/String/
public? final? property bar(val): R/error: Symbol not found/
public? get(): R/error: Symbol not found/
public? final? property bar(val): R/kotlin/Boolean/
public? get(): R/kotlin/Boolean/
}
(resolved) public? final class SomeClass() : R/SomeInterface/ {
private final? property baz(val): R/error: Not supported: FirImplicitTypeImpl/ = STUB
public? get(): R/error: Not supported: FirImplicitTypeImpl/
public? open? override function foo(x: R/error: Symbol not found/, y: R/error: Symbol not found/): R/error: Symbol not found/ {
public? open? override function foo(x: R/kotlin/Int/, y: R/kotlin/String/): R/kotlin/String/ {
}
public? open? override property bar(var): R/error: Symbol not found/
public? open? override property bar(var): R/kotlin/Boolean/
public? get(): R/error: Not supported: FirImplicitTypeImpl/ {
STUB
}
public? set(value: R/error: Symbol not found/): R/error: Not supported: FirImplicitTypeImpl/ {
public? set(value: R/kotlin/Boolean/): R/error: Not supported: FirImplicitTypeImpl/ {
}
public? final? property fau(var): R/error: Symbol not found/
public? get(): R/error: Symbol not found/
public? set(value: R/error: Symbol not found/): R/kotlin/Unit/
public? final? property fau(var): R/kotlin/Double/
public? get(): R/kotlin/Double/
public? set(value: R/kotlin/Double/): R/kotlin/Unit/
}