Fix diagnostic for uninitialized extension property without accessors
#KT-8612 Fixed
This commit is contained in:
@@ -36,7 +36,7 @@ fun test() {
|
||||
val Int.abs : Int
|
||||
get() = if (this > 0) this else -this;
|
||||
|
||||
<!MUST_BE_INITIALIZED!>val <T> T.foo : T<!>
|
||||
<!EXTENSION_PROPERTY_MUST_HAVE_ACCESSORS_OR_BE_ABSTRACT!>val <T> T.foo : T<!>
|
||||
|
||||
fun Int.foo() = this
|
||||
|
||||
|
||||
Vendored
+25
@@ -0,0 +1,25 @@
|
||||
<!EXTENSION_PROPERTY_MUST_HAVE_ACCESSORS_OR_BE_ABSTRACT!>val String.test1: Int<!>
|
||||
<!EXTENSION_PROPERTY_MUST_HAVE_ACCESSORS_OR_BE_ABSTRACT!>var String.test2: Int<!>
|
||||
|
||||
<!EXTENSION_PROPERTY_MUST_HAVE_ACCESSORS_OR_BE_ABSTRACT!>var String.test3: Int<!>; public set
|
||||
|
||||
class C {
|
||||
<!EXTENSION_PROPERTY_MUST_HAVE_ACCESSORS_OR_BE_ABSTRACT!>val String.test1: Int<!>
|
||||
<!EXTENSION_PROPERTY_MUST_HAVE_ACCESSORS_OR_BE_ABSTRACT!>var String.test2: Int<!>
|
||||
<!EXTENSION_PROPERTY_MUST_HAVE_ACCESSORS_OR_BE_ABSTRACT!>var String.test3: Int<!>; public set
|
||||
}
|
||||
|
||||
interface I {
|
||||
val String.test1: Int
|
||||
var String.test2: Int
|
||||
var String.test3: Int; public set
|
||||
}
|
||||
|
||||
abstract class A {
|
||||
<!EXTENSION_PROPERTY_MUST_HAVE_ACCESSORS_OR_BE_ABSTRACT!>val String.test1: Int<!>
|
||||
<!EXTENSION_PROPERTY_MUST_HAVE_ACCESSORS_OR_BE_ABSTRACT!>var String.test2: Int<!>
|
||||
<!EXTENSION_PROPERTY_MUST_HAVE_ACCESSORS_OR_BE_ABSTRACT!>var String.test3: Int<!>; public set
|
||||
|
||||
abstract val String.testA1: Int
|
||||
abstract var String.testA2: Int
|
||||
}
|
||||
Vendored
+36
@@ -0,0 +1,36 @@
|
||||
package
|
||||
|
||||
public val kotlin.String.test1: kotlin.Int
|
||||
public var kotlin.String.test2: kotlin.Int
|
||||
public var kotlin.String.test3: kotlin.Int
|
||||
|
||||
public abstract class A {
|
||||
public constructor A()
|
||||
public final val kotlin.String.test1: kotlin.Int
|
||||
public final var kotlin.String.test2: kotlin.Int
|
||||
public final var kotlin.String.test3: kotlin.Int
|
||||
public abstract val kotlin.String.testA1: kotlin.Int
|
||||
public abstract var kotlin.String.testA2: kotlin.Int
|
||||
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
|
||||
}
|
||||
|
||||
public final class C {
|
||||
public constructor C()
|
||||
public final val kotlin.String.test1: kotlin.Int
|
||||
public final var kotlin.String.test2: kotlin.Int
|
||||
public final var kotlin.String.test3: kotlin.Int
|
||||
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
|
||||
}
|
||||
|
||||
public interface I {
|
||||
public abstract val kotlin.String.test1: kotlin.Int
|
||||
public abstract var kotlin.String.test2: kotlin.Int
|
||||
public abstract var kotlin.String.test3: kotlin.Int
|
||||
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
|
||||
}
|
||||
+1
-1
@@ -34,6 +34,6 @@ set(value) {}
|
||||
<!UNRESOLVED_REFERENCE!>get<!>() = 42
|
||||
<!UNRESOLVED_REFERENCE!>set<!>(<!UNRESOLVED_REFERENCE!>value<!>) {}
|
||||
|
||||
<!MUST_BE_INITIALIZED_OR_BE_ABSTRACT!>var String.testExtVarLineBreakSemi: Int<!>;
|
||||
<!EXTENSION_PROPERTY_MUST_HAVE_ACCESSORS_OR_BE_ABSTRACT!>var String.testExtVarLineBreakSemi: Int<!>;
|
||||
<!UNRESOLVED_REFERENCE!>get<!>() = 42
|
||||
<!UNRESOLVED_REFERENCE!>set<!>(<!UNRESOLVED_REFERENCE!>value<!>) {}
|
||||
|
||||
Reference in New Issue
Block a user