如何解决如何在 Kotlin 中创建没有支持字段的外部属性?
我正在使用 JNI 在 Kotlin 中为 C++ 库创建包装器。为了在 C++ 库中实现属性,我需要将属性的 getter 和 setter 标记为 external
以创建标记为 getX
、{setX
和 native
的方法{3}}。
虽然这按预期工作,这也会为属性生成一个支持字段,这在我的情况下没有用,因为该值仅位于本机端。
例如,我有以下类,包含一个外部属性:
class Something {
var name: String
external get
external set
}
通过IntellIJ中的“Kotlin Bytecode”工具在Java中反编译生成的字节码(去掉@Metadata
注解)如下:
public final class Something {
@NotNull
private String name;
@NotNull
public final native String getName();
public final native void setName(@NotNull String var1);
}
如您所见,存在不需要的 name
字段。有没有办法摆脱这个?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。