如何在Kotlin中创建没有支持字段的外部属性?

我正在使用 JNI 在 Kotlin 中为 C++ 库创建包装器。为了在 C++ 库中实现一个属性,我需要将属性的 getter 和 setter标记为externalcreate ,getX并将setX方法标记为native,如 Kotlin 文档中所述。

虽然这按预期工作,但这也会为 property 生成一个支持字段,这在我的情况下没有用,因为该值仅位于本机端。

例如,我有以下类,其中包含一个外部属性:

class Something {
    var name: String
        external get
        external set
}

@MetadataIntellIJ中的“Kotlin Bytecode”工具在Java中反编译生成的字节码(去掉注解)如下:

public final class Something {
   @NotNull
   private String name;

   @NotNull
   public final native String getName();

   public final native void setName(@NotNull String var1);
}

如您所见,存在不需要的name字段。有没有办法摆脱这个?

以上是如何在Kotlin中创建没有支持字段的外部属性?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>