跳到主要内容

实现 — Marshal(impl/marshal/

本目录描述 Registry、MarshalMeta、Overload 的 C++/C# 结构与调用链。类型转换与 [LuaMarshalAs] 规则见 ../../spec/marshal/

文件内容
REGISTRIES.mdObjectRegistry / StructRegistry:槽位、弱缓存、ByVal GC
MARSHAL-META.mdMarshalMetaInfoMarshalMeta::Create、writer 函数指针
OVERLOAD-RESOLVER.mdMethodGroupsMethodOverloadResolver;规范见 ../../spec/04-METHOD-OVERLOAD.md

分层: marshal/ 不依赖 mt/;Mt 通过 MetatableHooks(Mono)或上层 push 传入 metatable ref(Il2Cpp)。

Bridge 使用: MethodMarshalCtx / FieldMarshalCtxMetaBinding 创建,供 bridge/* 与 indexer 共用。

上级索引:../IL2CPP.md §4.3、../MONO.md