Kapt: Use constant value references where possible in property initializers

This commit is contained in:
Yan Zhulanow
2019-03-14 14:57:45 +03:00
parent 66754e62da
commit ce13982cfc
3 changed files with 86 additions and 9 deletions
@@ -110,6 +110,20 @@ class MyActivity {
@Bind(B.id.textView)
fun plainIntConstant() {}
const val propA = B.id.textView
val propB = B.id.textView
var propC = B.id.textView
@JvmField
val propD = B.id.textView
@JvmField
var propE = B.id.textView
val propF = JJ.b.length
}
object JJ {
val b = c()
fun c() = "42"
}
// EXPECTED_ERROR class B is public, should be declared in a file named B.java
@@ -87,6 +87,33 @@ package app;
import java.lang.System;
@kotlin.Metadata()
public final class JJ {
@org.jetbrains.annotations.NotNull()
private static final java.lang.String b = null;
public static final app.JJ INSTANCE = null;
@org.jetbrains.annotations.NotNull()
public final java.lang.String getB() {
return null;
}
@org.jetbrains.annotations.NotNull()
public final java.lang.String c() {
return null;
}
private JJ() {
super();
}
}
////////////////////
package app;
import java.lang.System;
@kotlin.Metadata()
public final class MyActivity {
@BindField(id = lib.R.id.textView)
@@ -101,6 +128,12 @@ public final class MyActivity {
private final int e = 0;
@BindField(id = app.B.id.textView)
private final int f = 0;
public final int propA = app.B.id.textView;
private final int propB = app.B.id.textView;
private int propC;
public final int propD = app.B.id.textView;
public int propE;
private final int propF = 0;
@Bind(id = lib.R.id.textView)
public static void a$annotations() {
@@ -176,6 +209,21 @@ public final class MyActivity {
public final void plainIntConstant() {
}
public final int getPropB() {
return 0;
}
public final int getPropC() {
return 0;
}
public final void setPropC(int p0) {
}
public final int getPropF() {
return 0;
}
public MyActivity() {
super();
}