给学习 kotlin 以及 Java 的小伙伴提供的 IDEA 反编译插件

原版插件是 ASM Bytecode Outline. 这款插件翻译成字节码指令,看起来比较晕.个人改了一个版本(没有提交到 JB 仓库,需要自己去 github 下载),加入了 cfr decompile 选项,看起来更加清晰.

举个例子

kotlin 代码

data class TableModel(val tableName: String,
                      val columns: List<ColumnModel>) {
}

cfr decompile 反编译后则是,是不是一下子就明白 data 的作用了呢

public final class TableModel {
    @NotNull
    private final String tableName;
    @NotNull
    private final List<ColumnModel> columns;

    @NotNull
    public final String getTableName() {
        return this.tableName;
    }

    @NotNull
    public final List<ColumnModel> getColumns() {
        return this.columns;
    }

    public TableModel(@NotNull String tableName, @NotNull List<ColumnModel> 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<ColumnModel> component2() {
        return this.columns;
    }
    .... 等等

插件给需要的朋友:

https://github.com/mrdear/asm-bytecode-intellij

猜你喜欢

转载自my.oschina.net/sfshine/blog/1810621