refactor: 新增 common 子包——XML/JSON 共用部分 + 单 import 全量可用

- src/common/(package simapi_serialization.common):
  Annotations.cj(@SerializerPropertyName/@SerializerIgnore)、
  ReflectionCache.cj(字段元数据 + 继承链缓存)、NamingPolicy.cj(PropertyNamingPolicy)
- 根锚点 public import common.* + json.*:import simapi_serialization.* 即可用全部
- JsonOption.propertyNamingPolicy 引用 common 枚举;getFields 改收命名策略
- 枚举值 PropertyNamingPolicy.None → Keep(None 与内置 Option.None 构造器同名冲突)
- JsonWriter/JsonReader 单类 import common,避免循环依赖
- 测试/独立项目验证:16 用例全绿;serialization_test 单 import 即可运行
This commit is contained in:
2026-08-17 14:06:13 +08:00
parent e24b73ee96
commit f593f96d9a
8 changed files with 58 additions and 31 deletions
+11 -5
View File
@@ -1,12 +1,18 @@
/*
* Copyright (c) 2025 SimcuTeam. All rights reserved.
*
* simapi_serialization 根包锚点:注解类(@SerializerPropertyName / @SerializerIgnore)同包于此。
* 序列化器位于子包 simapi_serialization.json(对应 .NET System.Text.Json)。
* simapi_serialization 根包锚点:聚合重导出,`import simapi_serialization.*`
* 即可使用全部能力:
* - 注解(@SerializerPropertyName / @SerializerIgnore → common 子包
* - 序列化器(JsonSerializer / JsonOption → json 子包
*
* 用法
* import simapi_serialization.* // 注解
* import simapi_serialization.json.* // JsonSerializer / JsonOption
* 子包结构
* simapi_serialization.common XML/JSON 共用(注解、字段反射缓存、命名策略)
* simapi_serialization.json JSON 序列化
* simapi_serialization.macros @SerializerParent 宏
*/
package simapi_serialization
public import simapi_serialization.common.*
public import simapi_serialization.json.*