如何为 djinni 定义 const getter?

How to define const getters for djinni?

我用 djinni 定义了一个 C++ 接口:

member = interface +c {
    get_id(): string;
    get_name(): string;
}

我继承的实现使用 const getter,即

class MyMemeber: public Member {
  private:
    string id;
    string name;
  public:
    string get_id() const override { return id; }
    string get_name() const override { return name; }
}

这显然无法编译,因为 const 属性。我也可以教 djinni 使用 const getter 生成基本接口吗?

尽管从一开始 djinni 就生成常量方法 (line 295 of src/source/CppGenerator.scala),但没有任何记载。在idl文件的方法签名前加上const即可:

member = interface +c {
    const get_id(): string;
    const get_name(): string;
}

我认为为这个功能(和一些文档)拉取请求测试是个好主意,currently only const fields are tested