[AA LC] Fix computation of const initializers of fields
This commit is contained in:
+1
-1
@@ -40,7 +40,7 @@ import org.jetbrains.kotlin.utils.addToStdlib.ifTrue
|
||||
import org.jetbrains.kotlin.utils.addToStdlib.safeAs
|
||||
|
||||
context(KtAnalysisSession)
|
||||
internal abstract class SymbolLightClassForClassOrObject(
|
||||
abstract class SymbolLightClassForClassOrObject(
|
||||
private val classOrObjectSymbol: KtNamedClassOrObjectSymbol,
|
||||
manager: PsiManager
|
||||
) : SymbolLightClassBase(manager),
|
||||
|
||||
-2
@@ -117,8 +117,6 @@ internal class SymbolLightFieldForProperty(
|
||||
|
||||
private val _initializer by lazyPub {
|
||||
if (propertySymbol !is KtKotlinPropertySymbol) return@lazyPub null
|
||||
if (!propertySymbol.isConst) return@lazyPub null
|
||||
if (!propertySymbol.isVal) return@lazyPub null
|
||||
val constInitializer = propertySymbol.initializer as? KtConstantInitializerValue ?: return@lazyPub null
|
||||
(constInitializer.constant as? KtConstantValue)?.createPsiLiteral(this)
|
||||
}
|
||||
|
||||
+1
@@ -265,6 +265,7 @@ private fun KtKClassAnnotationValue.KtNonLocalKClassAnnotationValue.toAnnotation
|
||||
|
||||
private fun KtConstantValue.asStringForPsiLiteral(): String =
|
||||
when (val value = value) {
|
||||
is Char -> "'$value'"
|
||||
is String -> "\"${escapeString(value)}\""
|
||||
is Long -> "${value}L"
|
||||
is Float -> "${value}f"
|
||||
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
public final class A /* A*/ {
|
||||
@kotlin.jvm.Transient()
|
||||
@kotlin.jvm.Volatile()
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
private transient volatile java.lang.String c = "" /* initializer type: java.lang.String */;
|
||||
|
||||
@kotlin.jvm.Strictfp()
|
||||
@kotlin.jvm.Synchronized()
|
||||
public final synchronized strictfp void f();// f()
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public final java.lang.String getC();// getC()
|
||||
|
||||
public A();// .ctor()
|
||||
|
||||
public final void setC(@org.jetbrains.annotations.NotNull() java.lang.String);// setC(java.lang.String)
|
||||
|
||||
}
|
||||
+1
-1
@@ -15,4 +15,4 @@ public final class A /* A*/ {
|
||||
|
||||
public final void setC(@org.jetbrains.annotations.NotNull() java.lang.String);// setC(java.lang.String)
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
+3
-3
@@ -3,11 +3,11 @@ public final class SmartSet /* SmartSet*/<T> extends kotlin.collections.Abstrac
|
||||
public static final SmartSet.Companion Companion;
|
||||
|
||||
@org.jetbrains.annotations.Nullable()
|
||||
private java.lang.Object data;
|
||||
private java.lang.Object data = null /* initializer type: null */;
|
||||
|
||||
private int size;
|
||||
private int size = 0 /* initializer type: int */;
|
||||
|
||||
private static final int ARRAY_THRESHOLD;
|
||||
private static final int ARRAY_THRESHOLD = 5 /* initializer type: int */;
|
||||
|
||||
@java.lang.Override()
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
public final class C /* p.C*/ {
|
||||
private final int ip;
|
||||
private final int ip = 5 /* initializer type: int */;
|
||||
|
||||
public C();// .ctor()
|
||||
|
||||
|
||||
+1
-2
@@ -71,8 +71,7 @@ public final class FileFacadeKt /* FileFacadeKt*/ {
|
||||
@org.jetbrains.annotations.Nullable()
|
||||
public static final void setNotNullVarWithGetSet(@org.jetbrains.annotations.NotNull() java.lang.String);// setNotNullVarWithGetSet(java.lang.String)
|
||||
|
||||
@org.jetbrains.annotations.Nullable()
|
||||
static final java.lang.String privateFun(@org.jetbrains.annotations.NotNull() java.lang.String, @org.jetbrains.annotations.Nullable() java.lang.String);// privateFun(java.lang.String, java.lang.String)
|
||||
private static final java.lang.String privateFun(java.lang.String, java.lang.String);// privateFun(java.lang.String, java.lang.String)
|
||||
|
||||
public static final void setNotNullVar(@org.jetbrains.annotations.NotNull() java.lang.String);// setNotNullVar(java.lang.String)
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
|
||||
@@ -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
@@ -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)
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -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;
|
||||
|
||||
@@ -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[])
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
public final class JvmFieldKt /* JvmFieldKt*/ {
|
||||
@kotlin.jvm.JvmField()
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public static final java.util.Collection<?> a;
|
||||
|
||||
@kotlin.jvm.JvmField()
|
||||
public static int b = 1 /* initializer type: int */;
|
||||
|
||||
}
|
||||
+12
-12
@@ -6,7 +6,7 @@ public final class PropertiesKt /* PropertiesKt*/ {
|
||||
private static final java.lang.Object arrayConst;
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
private static final java.lang.String x;
|
||||
private static final java.lang.String x = "" /* initializer type: java.lang.String */;
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
private static final kotlin.Lazy<java.lang.String> lazyProp$delegate;
|
||||
@@ -15,13 +15,13 @@ public final class PropertiesKt /* PropertiesKt*/ {
|
||||
private static final kotlin.jvm.functions.Function1<java.lang.Integer, java.lang.Integer> sum;
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
private static java.lang.String name;
|
||||
private static java.lang.String name = "x" /* initializer type: java.lang.String */;
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
private static java.lang.String protectedWithPrivateSet;
|
||||
private static java.lang.String protectedWithPrivateSet = "" /* initializer type: java.lang.String */;
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
private static java.lang.String x$1;
|
||||
private static java.lang.String x$1 = "" /* initializer type: java.lang.String */;
|
||||
|
||||
@org.jetbrains.annotations.NotNull()
|
||||
public static final java.lang.String SUBSYSTEM_DEPRECATED = "This subsystem is deprecated" /* initializer type: java.lang.String */;
|
||||
@@ -43,25 +43,25 @@ public final class PropertiesKt /* PropertiesKt*/ {
|
||||
|
||||
private static final error.NonExistentClass delegatedProp2$delegate;
|
||||
|
||||
private static final error.NonExistentClass intConst;
|
||||
private static final error.NonExistentClass intConst = 30 /* initializer type: int */;
|
||||
|
||||
private static final int f1;
|
||||
private static final int f1 = 2 /* initializer type: int */;
|
||||
|
||||
private static final int plainField;
|
||||
private static final int plainField = 1 /* initializer type: int */;
|
||||
|
||||
private static final int privateVal;
|
||||
private static final int privateVal = 42 /* initializer type: int */;
|
||||
|
||||
private static final int privateVar;
|
||||
private static final int privateVar = 42 /* initializer type: int */;
|
||||
|
||||
private static int counter;
|
||||
private static int counter = 0 /* initializer type: int */;
|
||||
|
||||
private static int f2;
|
||||
private static int f2 = 3 /* initializer type: int */;
|
||||
|
||||
private static int int1;
|
||||
|
||||
private static int int2;
|
||||
|
||||
private static int internalWithPrivateSet;
|
||||
private static int internalWithPrivateSet = 1 /* initializer type: int */;
|
||||
|
||||
private static java.lang.String internalVarPrivateSet;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user