[FIR] Add diagnostic INAPPLICABLE_LATEINIT_MODIFIER + some builtin types
This commit is contained in:
+38
@@ -0,0 +1,38 @@
|
||||
object Delegate {
|
||||
operator fun getValue(instance: Any?, property: Any) : String = ""
|
||||
operator fun setValue(instance: Any?, property: Any, value: String) {}
|
||||
}
|
||||
|
||||
<!INAPPLICABLE_LATEINIT_MODIFIER!>lateinit var test: Int<!>
|
||||
<!INAPPLICABLE_LATEINIT_MODIFIER!>lateinit var kest by Delegate<!>
|
||||
|
||||
lateinit var good: String
|
||||
|
||||
class A {
|
||||
<!INAPPLICABLE_LATEINIT_MODIFIER!>lateinit val fest = "10"<!>
|
||||
lateinit var mest: String
|
||||
<!INAPPLICABLE_LATEINIT_MODIFIER!>lateinit var xest: String?<!>
|
||||
<!INAPPLICABLE_LATEINIT_MODIFIER!>lateinit var nest: Int<!>
|
||||
<!INAPPLICABLE_LATEINIT_MODIFIER!>lateinit var west: Char<!>
|
||||
<!INAPPLICABLE_LATEINIT_MODIFIER!>lateinit var qest: Boolean<!>
|
||||
<!INAPPLICABLE_LATEINIT_MODIFIER!>lateinit var aest: Short<!>
|
||||
<!INAPPLICABLE_LATEINIT_MODIFIER!>lateinit var hest: Byte<!>
|
||||
<!INAPPLICABLE_LATEINIT_MODIFIER!>lateinit var jest: Long<!>
|
||||
<!INAPPLICABLE_LATEINIT_MODIFIER!>lateinit val dest: String
|
||||
get() = "KEKER"<!>
|
||||
}
|
||||
|
||||
class B<T> {
|
||||
<!INAPPLICABLE_LATEINIT_MODIFIER!>lateinit var best: T<!>
|
||||
}
|
||||
|
||||
class C<K : Any> {
|
||||
lateinit var pest: K
|
||||
<!INAPPLICABLE_LATEINIT_MODIFIER!>lateinit var vest: K?<!>
|
||||
}
|
||||
|
||||
fun rest() {
|
||||
<!INAPPLICABLE_LATEINIT_MODIFIER!>lateinit var i: Int<!>
|
||||
lateinit var a: A
|
||||
<!INAPPLICABLE_LATEINIT_MODIFIER!>lateinit var b: B<String> = B()<!>
|
||||
}
|
||||
+102
@@ -0,0 +1,102 @@
|
||||
FILE: inapplicableLateinitModifier.kt
|
||||
public final object Delegate : R|kotlin/Any| {
|
||||
private constructor(): R|Delegate| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
public final operator fun getValue(instance: R|kotlin/Any?|, property: R|kotlin/Any|): R|kotlin/String| {
|
||||
^getValue String()
|
||||
}
|
||||
|
||||
public final operator fun setValue(instance: R|kotlin/Any?|, property: R|kotlin/Any|, value: R|kotlin/String|): R|kotlin/Unit| {
|
||||
}
|
||||
|
||||
}
|
||||
public final lateinit var test: R|kotlin/Int|
|
||||
public get(): R|kotlin/Int|
|
||||
public set(value: R|kotlin/Int|): R|kotlin/Unit|
|
||||
public final lateinit var kest: R|kotlin/String|by Q|Delegate|
|
||||
public get(): R|kotlin/String| {
|
||||
^ D|/kest|.R|/Delegate.getValue|(Null(null), ::R|/kest|)
|
||||
}
|
||||
public set(<set-?>: R|kotlin/String|): R|kotlin/Unit| {
|
||||
D|/kest|.R|/Delegate.setValue|(Null(null), ::R|/kest|, R|<local>/kest|)
|
||||
}
|
||||
public final lateinit var good: R|kotlin/String|
|
||||
public get(): R|kotlin/String|
|
||||
public set(value: R|kotlin/String|): R|kotlin/Unit|
|
||||
public final class A : R|kotlin/Any| {
|
||||
public constructor(): R|A| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
public final lateinit val fest: R|kotlin/String| = String(10)
|
||||
public get(): R|kotlin/String|
|
||||
|
||||
public final lateinit var mest: R|kotlin/String|
|
||||
public get(): R|kotlin/String|
|
||||
public set(value: R|kotlin/String|): R|kotlin/Unit|
|
||||
|
||||
public final lateinit var xest: R|kotlin/String?|
|
||||
public get(): R|kotlin/String?|
|
||||
public set(value: R|kotlin/String?|): R|kotlin/Unit|
|
||||
|
||||
public final lateinit var nest: R|kotlin/Int|
|
||||
public get(): R|kotlin/Int|
|
||||
public set(value: R|kotlin/Int|): R|kotlin/Unit|
|
||||
|
||||
public final lateinit var west: R|kotlin/Char|
|
||||
public get(): R|kotlin/Char|
|
||||
public set(value: R|kotlin/Char|): R|kotlin/Unit|
|
||||
|
||||
public final lateinit var qest: R|kotlin/Boolean|
|
||||
public get(): R|kotlin/Boolean|
|
||||
public set(value: R|kotlin/Boolean|): R|kotlin/Unit|
|
||||
|
||||
public final lateinit var aest: R|kotlin/Short|
|
||||
public get(): R|kotlin/Short|
|
||||
public set(value: R|kotlin/Short|): R|kotlin/Unit|
|
||||
|
||||
public final lateinit var hest: R|kotlin/Byte|
|
||||
public get(): R|kotlin/Byte|
|
||||
public set(value: R|kotlin/Byte|): R|kotlin/Unit|
|
||||
|
||||
public final lateinit var jest: R|kotlin/Long|
|
||||
public get(): R|kotlin/Long|
|
||||
public set(value: R|kotlin/Long|): R|kotlin/Unit|
|
||||
|
||||
public final lateinit val dest: R|kotlin/String|
|
||||
public get(): R|kotlin/String| {
|
||||
^ String(KEKER)
|
||||
}
|
||||
|
||||
}
|
||||
public final class B<T> : R|kotlin/Any| {
|
||||
public constructor<T>(): R|B<T>| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
public final lateinit var best: R|T|
|
||||
public get(): R|T|
|
||||
public set(value: R|T|): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
public final class C<K : R|kotlin/Any|> : R|kotlin/Any| {
|
||||
public constructor<K : R|kotlin/Any|>(): R|C<K>| {
|
||||
super<R|kotlin/Any|>()
|
||||
}
|
||||
|
||||
public final lateinit var pest: R|K|
|
||||
public get(): R|K|
|
||||
public set(value: R|K|): R|kotlin/Unit|
|
||||
|
||||
public final lateinit var vest: R|K?|
|
||||
public get(): R|K?|
|
||||
public set(value: R|K?|): R|kotlin/Unit|
|
||||
|
||||
}
|
||||
public final fun rest(): R|kotlin/Unit| {
|
||||
lateinit lvar i: R|kotlin/Int|
|
||||
lateinit lvar a: R|A|
|
||||
lateinit lvar b: R|B<kotlin/String>| = R|/B.B|<R|kotlin/String|>()
|
||||
}
|
||||
Reference in New Issue
Block a user