- §1.5 读源码总结 soulsoft_serialization 的做法:宏给每个类生成 4 个序列化方法 + superType 参数,继承靠编译期 super/静态方法调用链,零反射读字段 - §2 方案总览明确路线 A(入口不变+父类宏)为主方案 - §8 新增路线 A/B 取舍对比表,明确推荐路线 A 的理由: 保留 Serialize(obj)/Deserialize<T>(json) 免标注 API,只借 soulsoft 「宏生成静态类型字段代码」技巧
调研结论:Cangjie 反射对字段/prop/方法的声明类严格校验(declaringClass != instance 类型) 堵死运行时方案;宏无法编译期查询父类字段;编译器禁止子类遮蔽父类字段。 唯一可行通路(已实测):宏标注父类生成 exportJsonFields/importJsonFields 静态方法, 序列化库遍历 superClass 链通过静态方法反射调用(静态方法无实例声明类检查, 子类实例可直接作父类类型参数)。