Improve error on 'expect' delegated property

#KT-15054 Fixed
 #KT-15055 Fixed
This commit is contained in:
Alexander Udalov
2017-09-18 20:20:12 +03:00
parent 258e8f73b6
commit 1f992ed845
9 changed files with 76 additions and 3 deletions
@@ -0,0 +1,29 @@
// !LANGUAGE: +MultiPlatformProjects
// MODULE: m1-common
// FILE: common.kt
expect class Foo {
val justVal: String
var justVar: String
val String.extensionVal: Unit
var <T> T.genericExtensionVar: T
val valWithGet: String
get
var varWithGetSet: String
get set
val backingFieldVal: String = <!EXPECTED_PROPERTY_INITIALIZER!>"no"<!>
var backingFieldVar: String = <!EXPECTED_PROPERTY_INITIALIZER!>"no"<!>
val customAccessorVal: String
<!EXPECTED_DECLARATION_WITH_BODY!>get()<!> = "no"
var customAccessorVar: String
<!EXPECTED_DECLARATION_WITH_BODY!>get()<!> = "no"
<!EXPECTED_DECLARATION_WITH_BODY!>set(value)<!> {}
val delegated: String <!EXPECTED_DELEGATED_PROPERTY!>by Delegate<!>
}
object Delegate { operator fun getValue(x: Any?, y: Any?): String = "" }
@@ -0,0 +1,27 @@
package
public object Delegate {
private constructor Delegate()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public final operator fun getValue(/*0*/ x: kotlin.Any?, /*1*/ y: kotlin.Any?): kotlin.String
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public final expect class Foo {
public constructor Foo()
public expect final val backingFieldVal: kotlin.String = "no"
public expect final var backingFieldVar: kotlin.String
public expect final val customAccessorVal: kotlin.String
public expect final var customAccessorVar: kotlin.String
public expect final val delegated: kotlin.String
public expect final val justVal: kotlin.String
public expect final var justVar: kotlin.String
public expect final val valWithGet: kotlin.String
public expect final var varWithGetSet: kotlin.String
public expect final val kotlin.String.extensionVal: kotlin.Unit
public expect final var </*0*/ T> T.genericExtensionVar: T
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -30,7 +30,7 @@ expect <!CONST_VAL_WITHOUT_INITIALIZER!>const<!> val constVal: Int
<!INCOMPATIBLE_MODIFIERS!>expect<!> <!INCOMPATIBLE_MODIFIERS!>lateinit<!> var lateinitVar: String
<!WRONG_MODIFIER_TARGET!>expect<!> val delegated: String by Delegate
expect val delegated: String <!EXPECTED_DELEGATED_PROPERTY!>by Delegate<!>
object Delegate { operator fun getValue(x: Any?, y: Any?): String = "" }
fun test(): String {