Fixed
Status Update
Comments
yb...@google.com <yb...@google.com> #2
I should probably elaborate on that a bit more here :P. The ideal case would be that data classes written in other modules work the same when consumed. A standard data class (no secondary constructors, `val` properties) works fine when in the same module. The errors produced are also pretty confusing. They'll usually give what they read from the bytecode (constructor params called "var0" or the like) and reports missing setters for fields without names of said fields.
Description
Version used: 1.1.0-alpha1
Devices/Android versions reproduced on: O MR1
This is like
// This Kotlin interface...
@Dao
interface MyDao {
@Transaction
fun doSomething() {
// ...
}
}
// ... looks like this from Java
@Metadata(
mv = {1, 1, 9},
bv = {1, 0, 2},
k = 1,
d1 = {"\u0000\u0010\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\u0002\n\u0000\bg\u0018\u00002\u00020\u0001J\b\u0010\u0002\u001a\u00020\u0003H\u0017¨\u0006\u0004"},
d2 = {"Landroid/arch/persistence/room/integration/kotlintestapp/MyDao;", "", "doSomething", "", "test sources for module kotlintestapp"}
)
@Dao
public interface MyDao {
@Transaction
void doSomething();
@Metadata(
mv = {1, 1, 9},
bv = {1, 0, 2},
k = 3
)
public static final class DefaultImpls {
@Transaction
public static void doSomething(MyDao $this) {
}
}
}