xlang 5.2 更新日志
xlang2025-09-21 16:46:171.为 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 更新日志

