Kapt: Do not inline R.resType.resName constants in annotations (KT-18791)
This commit is contained in:
+51
@@ -0,0 +1,51 @@
|
||||
//FILE: lib/R.java
|
||||
package lib;
|
||||
|
||||
public class R {
|
||||
public static class id {
|
||||
public final static int textView = 100;
|
||||
}
|
||||
}
|
||||
|
||||
//FILE: app/R.java
|
||||
package app;
|
||||
|
||||
public class R {
|
||||
public static class layout {
|
||||
public final static int mainActivity = 100;
|
||||
}
|
||||
}
|
||||
|
||||
//FILE: app/B.java
|
||||
package app;
|
||||
|
||||
public class B {
|
||||
public static class id {
|
||||
public final static int textView = 200;
|
||||
}
|
||||
}
|
||||
|
||||
//FILE: test.kt
|
||||
package app
|
||||
|
||||
import lib.R as LibR
|
||||
import lib.R.id.textView
|
||||
|
||||
annotation class Bind(val id: Int)
|
||||
|
||||
class MyActivity {
|
||||
@Bind(LibR.id.textView)
|
||||
fun foo() {}
|
||||
|
||||
@Bind(lib.R.id.textView)
|
||||
fun foo2() {}
|
||||
|
||||
@Bind(app.R.layout.mainActivity)
|
||||
fun foo3() {}
|
||||
|
||||
@Bind(R.layout.mainActivity)
|
||||
fun foo4() {}
|
||||
|
||||
@Bind(B.id.textView)
|
||||
fun notResource() {}
|
||||
}
|
||||
+40
@@ -0,0 +1,40 @@
|
||||
package app;
|
||||
|
||||
@kotlin.Metadata()
|
||||
@java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME)
|
||||
public abstract @interface Bind {
|
||||
|
||||
public abstract int id();
|
||||
}
|
||||
|
||||
////////////////////
|
||||
|
||||
package app;
|
||||
|
||||
@kotlin.Metadata()
|
||||
public final class MyActivity {
|
||||
|
||||
@Bind(id = lib.R.id.textView)
|
||||
public final void foo() {
|
||||
}
|
||||
|
||||
@Bind(id = lib.R.id.textView)
|
||||
public final void foo2() {
|
||||
}
|
||||
|
||||
@Bind(id = app.R.layout.mainActivity)
|
||||
public final void foo3() {
|
||||
}
|
||||
|
||||
@Bind(id = app.R.layout.mainActivity)
|
||||
public final void foo4() {
|
||||
}
|
||||
|
||||
@Bind(id = 200)
|
||||
public final void notResource() {
|
||||
}
|
||||
|
||||
public MyActivity() {
|
||||
super();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user