[AA LC] Fix computation of const initializers of fields

This commit is contained in:
Dmitriy Novozhilov
2022-08-12 14:21:15 +03:00
parent 573b292cbc
commit c5916e1d1f
24 changed files with 199 additions and 42 deletions
@@ -89,7 +89,7 @@ public abstract @interface Ann /* Ann*/ {
public final class F /* F*/ implements java.lang.Runnable {
@Anno(p = "p")
@org.jetbrains.annotations.NotNull()
private java.lang.String prop;
private java.lang.String prop = "x" /* initializer type: java.lang.String */;
@Anno(p = "f")
public final void f(@Anno() @org.jetbrains.annotations.NotNull() java.lang.String);// f(java.lang.String)
@@ -105,7 +105,7 @@ public final class F /* F*/ implements java.lang.Runnable {
public final class Foo /* Foo*/ {
@org.jetbrains.annotations.Nullable()
private java.lang.String x;
private java.lang.String x = null /* initializer type: null */;
@Anno()
public Foo(error.NonExistentClass);// .ctor(error.NonExistentClass)
@@ -36,7 +36,7 @@ public static final class Nested /* Outer.Nested*/ {
public abstract class A /* A*/ {
@org.jetbrains.annotations.Nullable()
private final java.lang.String x;
private final java.lang.String x = null /* initializer type: null */;
@org.jetbrains.annotations.Nullable()
public final java.lang.String getX();// getX()
+2 -1
View File
@@ -1,6 +1,7 @@
// IGNORE_FIR
// Ignored due to KT-53573
data class User(val name: String = "", val age: Int = 0)
data class Person(val name: String) {
var age: Int = 0
}
+2
View File
@@ -1,3 +1,5 @@
// IGNORE_FIR
// Ignored due to KT-53573
// CHECK_BY_JAVA_FILE
import java.util.function.*
@@ -9,9 +9,9 @@ public abstract interface IntfWithProp /* IntfWithProp*/ extends Intf {
}
public abstract class Base /* Base*/ {
private int y;
private int y = 1 /* initializer type: int */;
private int z;
private int z = 1 /* initializer type: int */;
@org.jetbrains.annotations.Nullable()
protected java.lang.Integer v();// v()
@@ -35,7 +35,7 @@ public abstract class Base /* Base*/ {
}
public final class Derived /* Derived*/ extends Base implements IntfWithProp {
private final int x;
private final int x = 3 /* initializer type: int */;
@java.lang.Override()
protected error.NonExistentClass v();// v()
+3 -1
View File
@@ -1,3 +1,5 @@
// IGNORE_FIR
// Ignored due to KT-53573
class A {
@JvmField
val a: Collection<*> = emptyList()
@@ -25,4 +27,4 @@ class C(
@JvmField
var b: Int = 1
)
// COMPILATION_ERRORS
// COMPILATION_ERRORS
@@ -8,7 +8,7 @@ public final class C /* C*/ {
@org.jetbrains.annotations.Nullable()
private final java.lang.String type;
private final boolean p1;
private final boolean p1 = false /* initializer type: boolean */;
@kotlin.jvm.JvmOverloads()
@kotlin.jvm.JvmStatic()
@@ -86,7 +86,7 @@ public final class C /* C*/ {
class Companion ...
}
public static final class Companion /* C.Companion*/ {
@@ -113,4 +113,4 @@ public static final class Companion /* C.Companion*/ {
private Companion();// .ctor()
}
}
@@ -0,0 +1,116 @@
public final class C /* C*/ {
@org.jetbrains.annotations.NotNull()
private final java.lang.String p2;
@org.jetbrains.annotations.NotNull()
public static final C.Companion Companion;
@org.jetbrains.annotations.Nullable()
private final java.lang.String type;
private final boolean p1;
@kotlin.jvm.JvmOverloads()
@kotlin.jvm.JvmStatic()
public static final void fooStatic(double);// fooStatic(double)
@kotlin.jvm.JvmOverloads()
@kotlin.jvm.JvmStatic()
public static final void fooStatic(int, double);// fooStatic(int, double)
@kotlin.jvm.JvmOverloads()
@kotlin.jvm.JvmStatic()
public static final void fooStatic(int, double, @org.jetbrains.annotations.NotNull() java.lang.String);// fooStatic(int, double, java.lang.String)
@kotlin.jvm.JvmOverloads()
public C(@org.jetbrains.annotations.Nullable() java.lang.String);// .ctor(java.lang.String)
@kotlin.jvm.JvmOverloads()
public C(@org.jetbrains.annotations.Nullable() java.lang.String, boolean);// .ctor(java.lang.String, boolean)
@kotlin.jvm.JvmOverloads()
public C(@org.jetbrains.annotations.Nullable() java.lang.String, boolean, @org.jetbrains.annotations.NotNull() java.lang.String);// .ctor(java.lang.String, boolean, java.lang.String)
@kotlin.jvm.JvmOverloads()
public final void bar();// bar()
@kotlin.jvm.JvmOverloads()
public final void bar(int);// bar(int)
@kotlin.jvm.JvmOverloads()
public final void bar(int, double);// bar(int, double)
@kotlin.jvm.JvmOverloads()
public final void bar(int, double, @org.jetbrains.annotations.NotNull() java.lang.String);// bar(int, double, java.lang.String)
@kotlin.jvm.JvmOverloads()
public final void baz(@org.jetbrains.annotations.NotNull() java.lang.String);// baz(java.lang.String)
@kotlin.jvm.JvmOverloads()
public final void baz(int, @org.jetbrains.annotations.NotNull() java.lang.String);// baz(int, java.lang.String)
@kotlin.jvm.JvmOverloads()
public final void baz(int, double, @org.jetbrains.annotations.NotNull() java.lang.String);// baz(int, double, java.lang.String)
@kotlin.jvm.JvmOverloads()
public final void foo(double);// foo(double)
@kotlin.jvm.JvmOverloads()
public final void foo(int, double);// foo(int, double)
@kotlin.jvm.JvmOverloads()
public final void foo(int, double, @org.jetbrains.annotations.NotNull() java.lang.String);// foo(int, double, java.lang.String)
@kotlin.jvm.JvmOverloads()
public final void foobar(int);// foobar(int)
@kotlin.jvm.JvmOverloads()
public final void foobar(int, double);// foobar(int, double)
@kotlin.jvm.JvmOverloads()
public final void foobar(int, double, @org.jetbrains.annotations.NotNull() java.lang.String);// foobar(int, double, java.lang.String)
@kotlin.jvm.JvmOverloads()
public final void foobarbaz(int, @org.jetbrains.annotations.NotNull() java.lang.String);// foobarbaz(int, java.lang.String)
@kotlin.jvm.JvmOverloads()
public final void foobarbaz(int, double, @org.jetbrains.annotations.NotNull() java.lang.String);// foobarbaz(int, double, java.lang.String)
@org.jetbrains.annotations.NotNull()
public final java.lang.String getP2();// getP2()
@org.jetbrains.annotations.Nullable()
public final java.lang.String getType();// getType()
public final boolean getP1();// getP1()
class Companion ...
}
public static final class Companion /* C.Companion*/ {
@kotlin.jvm.JvmOverloads()
@kotlin.jvm.JvmStatic()
public final void fooStatic(double);// fooStatic(double)
@kotlin.jvm.JvmOverloads()
@kotlin.jvm.JvmStatic()
public final void fooStatic(int, double);// fooStatic(int, double)
@kotlin.jvm.JvmOverloads()
@kotlin.jvm.JvmStatic()
public final void fooStatic(int, double, @org.jetbrains.annotations.NotNull() java.lang.String);// fooStatic(int, double, java.lang.String)
@kotlin.jvm.JvmOverloads()
public final void foo123(double);// foo123(double)
@kotlin.jvm.JvmOverloads()
public final void foo123(int, double);// foo123(int, double)
@kotlin.jvm.JvmOverloads()
public final void foo123(int, double, @org.jetbrains.annotations.NotNull() java.lang.String);// foo123(int, double, java.lang.String)
private Companion();// .ctor()
}
@@ -0,0 +1,10 @@
public final class A /* A*/ {
private int z = 1 /* initializer type: int */;
public A();// .ctor()
public final int getX();// getX()
public final void setX(int);// setX(int)
}
@@ -7,4 +7,4 @@ public final class A /* A*/ {
public final void setX(int);// setX(int)
}
}
@@ -1,7 +1,7 @@
public final class X /* X*/ {
private int v;
private int v = 1 /* initializer type: int */;
private int w;
private int w = 1 /* initializer type: int */;
@kotlin.jvm.JvmSynthetic()
public final int getV();// getV()
@@ -1,7 +1,7 @@
public final class C /* C*/ {
@kotlin.jvm.JvmStatic()
@org.jetbrains.annotations.NotNull()
private static java.lang.String x;
private static java.lang.String x = "" /* initializer type: java.lang.String */;
@org.jetbrains.annotations.NotNull()
private static java.lang.String c1;
@@ -96,7 +96,7 @@ public static final class Companion /* I.Companion*/ {
public final class Obj /* Obj*/ implements java.lang.Runnable {
@kotlin.jvm.JvmStatic()
@org.jetbrains.annotations.NotNull()
private static java.lang.String x;
private static java.lang.String x = "" /* initializer type: java.lang.String */;
@org.jetbrains.annotations.NotNull()
public static final Obj INSTANCE;
+3 -2
View File
@@ -1,4 +1,5 @@
// IGNORE_FIR
// Ignored due to KT-53573
import kotlin.reflect.KProperty
class Foo(a: Int, val b:Foo, var c:Boolean, private val d: List, protected val e: Long = 2) {
@@ -108,4 +109,4 @@ class Foo {
fun getMeNonNullFoo() : Foo = Foo()
}
// COMPILATION_ERRORS
// COMPILATION_ERRORS
@@ -48,9 +48,9 @@ public final class Y /* Y*/ {
public final class klass /* klass*/ {
@org.jetbrains.annotations.Nullable()
private final java.util.List<java.lang.Integer> y;
private final java.util.List<java.lang.Integer> y = null /* initializer type: null */;
private final int x;
private final int x = 2 /* initializer type: int */;
@org.jetbrains.annotations.NotNull()
public final X annotatedMethod(@org.jetbrains.annotations.NotNull() P<X, P<X, Y>>, @org.jetbrains.annotations.NotNull() Y[]);// annotatedMethod(P<X, P<X, Y>>, Y[])