原版插件是 ASM Bytecode Outline. 这款插件翻译成字节码指令,看起来比较晕.个人改了一个版本(没有提交到 JB 仓库,需要自己去 github 下载),加入了 cfr decompile 选项,看起来更加清晰.
举个例子
kotlin 代码
data class TableModel(val tableName: String,
val columns: List) {
}
cfr decompile 反编译后则是,是不是一下子就明白 data 的作用了呢
public final class TableModel {
@NotNull
private final String tableName;
@NotNull
private final List columns;
@NotNull
public final String getTableName() {
return this.tableName;
}
@NotNull
public final List getColumns() {
return this.columns;
}
public TableModel(@NotNull String tableName, @NotNull List columns) {
Intrinsics.checkParameterIsNotNull((Object)tableName, (String)"tableName");
Intrinsics.checkParameterIsNotNull(columns, (String)"columns");
this.tableName = tableName;
this.columns = columns;
}
@NotNull
public final String component1() {
return this.tableName;
}
@NotNull
public final List component2() {
return this.columns;
}
.... 等等
插件给需要的朋友: