文字大小:

xlang 5.2 更新日志

xlang2025-09-21 16:46:17




1.为 xlang 增加自动生成getter setter的功能,支持 类成员变量,静态变量,全局变量,以及模板中的成员及静态变量。

     使用方法:

class MyClass{
    @Getter @Setter // Getter Seeter注解 
    int a = 0;
};

//如需控制访问权限,则如下方式

class MyClass{
    @Getter(Public) @Setter(Private) // Getter Seeter 注解 get 方法为public 而set则为 private
    int a = 0;
};

注意:xlang中默认生成的getter 和 setter 的方法名称规则是 tll2+u1 , 命令参数为 -gsr tll2+u1

该规则的含义为,如果左侧小写字符小于等于2个,则去掉,然后将剩余部分第一个字母大写,然后使用get 或者set 进行连接产生,例如:

class Temp<T>{
    @Getter @Setter 
    public T bValue;
    public Temp(T init){
        bValue = init;
    }
};

/// 使用如下
    Temp<int> s = new Temp<int>(0);
    s.setValue(50);
    int k = s.getValue();

/// 解释:对 bValue 使用了getter 和setter, 因为bValue 左侧有一个小写字符,则删去,然后将V大写,在前面增加get或者set
/// 所以最终的getter 和setter方法为 getValue 和 setValue

注意: 使用getter 和setter生成的方法为 final ,不可在派生类中重写,且getter 和setter 将无视 = 重载操作符,直接改写其值。

2.修复模板类中注解不起作用的问题。

3.修复特定情况下的对象取hash时,出现不支持的警告信息的问题。

4.首次发布xre运行时环境,支持 exc 文件双击运行,注意:如果使用了带有cef的qt库版本,需要在QCefConfig 初始化时指定ResourcesDirPath、LocalesDirPath、BrowserSubprocessPath,因为xre的主程序不在app目录下,所以cef初始化时这三个路径会无法找到,导致初始化出错,应做如下处理:

        // 指定ResourcesDirPath 为exc所在目录下的resources
        config.setResourcesDirPath(_system_.getAppDirectory().appendPath("resources"));
        // 指定LocalesDirPath为exc所在目录下的locales
        config.setLocalesDirPath(_system_.getAppDirectory().appendPath("locales"));
        // 指定BrowserSubprocessPath为exc所在目录下的CefViewWing.exe
        config.setBrowserSubprocessPath(_system_.getAppDirectory().appendPath("CefViewWing.exe"));

5._system_ 类的 setProperty 增加 DumpNativeCore 选项,值为bool类型,当native层(app调用的第三方dll)中出现不可恢复的错误时,此值为 true 时,会生成核心转储文件(.dmp),为false时,则不生成。

6.添加int\long类型的字面量类型检测, 以l/L结尾的整数(含16进制 [0x开头]及8进制[0开头]),以及解析后范围 小于 (-2147483647 - 1) 或者 大于 2147483647的整数类型会被默认设为long类型,反之 为int类型。

7.规范 float 与double字面量的区分, 以f 结尾的浮点数字面量,被解析为 float, 否则被解析为double.

8. 修复整数位运算的默认类型提升规则。

9.修复字面量对象在编译期间运算优化中的一个bug.






上一篇:xlang5.1更新说明下一篇:xlang5.4 更新日志

评论

写评论

点击刷新