咚隆东
|
8bd127b247
|
fix: 修复构建阻断和聚合体成员误删问题
改动点:
1. _validate_single_file_syntax: 校验参数统一为 -x c++-header -std=c++11
2. 写文件前 l.rstrip('\r') 修复 CRLF 双换行
3. node.get('name') 无名节点 fallback 为 node_kind,修复 unknown 误报
4. _find_brace_block_end: 逐字符解析跳过注释中的花括号,避免 Doxygen {@link} 干扰计数
5. _regex_check_in_aggregate: 往上回溯时跳过注释行和空行,避免误匹配注释中的 enum/struct
6. collect_functions_to_remove: 遇聚合体节点直接 return,不再递归 inner 子节点
根因:
- 校验阶段用 C 模式校验 C++ 头文件导致误报
- CRLF 换行符处理不当导致输出双换行
- Doxygen 注释 {@link Type} 中花括号被计入 brace_count,
导致超长枚举结束行计算错误,枚举成员被误删
- regex 回溯匹配到注释中的 enum 关键字,成员 @systemapi 被当作独立声明删除
Signed-off-by: 咚隆东 <renlian1@h-partners.com>
|
2026-05-25 17:03:57 +08:00 |
|
咚隆东
|
2079e27844
|
fix: 修复空文件删除和include清理功能
- _is_content_effectively_empty 增加 #include、#ifdef __cplusplus、
extern "C" {/}/ 等空壳结构跳过,正确判定裁剪后的无效文件
- _remove_empty_output_files 限制只扫描被修改的文件,
避免误删不含 @systemapi 的聚合头文件
- 修复裁剪结果校验误判输入路径为输出路径的问题
- 代码审查问题修复(两轮)
Signed-off-by: 咚隆东 <renlian1@h-partners.com>
|
2026-05-23 20:39:08 +08:00 |
|
咚隆东
|
f75eb78fbc
|
fix: 修复裁剪结果校验误判输入路径为输出路径的问题
_validate_output_files 中 clang_modified_files 存的是输入路径,
校验时需要映射到输出目录再校验。
Signed-off-by: 咚隆东 <renlian1@h-partners.com>
|
2026-05-20 17:53:39 +08:00 |
|
咚隆东
|
d15de4105e
|
fix: 修复systemapi裁剪脚本的7个Bug并增强鲁棒性
- 清理裁剪残留的孤立分号行(;、;;、; ;)
- 修复 Windows 中文系统 subprocess 编码问题(GBK → utf-8 手动解码)
- 不再清理空条件编译块,保留#ifdef/#endif空壳
Signed-off-by: 咚隆东 <renlian1@h-partners.com>
|
2026-05-19 16:11:11 +08:00 |
|
咚隆东
|
13f550a7be
|
feat: NDK构建添加public SDK裁剪systemapi能力
- 新增header_processor.py: 基于clang AST删除@systemapi声明
- 修改parse_ndk_headers.py: 集成systemapi裁剪步骤,支持--sdk-build-public参数
- 采用方案C: 复制到临时目录处理,成功后覆盖回原目录
Signed-off-by: 咚隆东 <renlian1@h-partners.com>
|
2026-05-10 12:51:26 +08:00 |
|