跳到主要内容

Codegen / Weaver / Emit

本目录描述 构建期 Il2Cpp stub 生成、Editor LuaInvoke IL 改写、运行时 Mono Expression Emit。不重复 ../../spec/ 中的 Lua 语义。

文件后端内容
STUBS-IL2CPP.mdIl2Cpp Playergenerated/*Stub*、ReducedType 签名复用、BuiltinScripts.inc
WEAVER.mdEditor + Player[LuaInvoke] ILPostProcessor;typed LuaInvokeBridgeobject[] legacy(Phase 4 删除)
EMIT-MONO.mdMono Editor每成员 Expression.Compile;无法 Emit → 绑定期显式失败

生成器入口

  • Il2Cpp C++: Packages/com.code-philosophy.zlua/Editor/CppCodeGen/CodeGenerator.cs → 输出至 build-win64/.../zlua/generated/
  • C# IL: Packages/com.code-philosophy.zlua/Editor/CodeGen/LuaInvokeILPostProcessor.cs

对照摘要

方向Il2CppMono
Lua→C#Method/Property/Delegate stub 表Emit/ 特化桥
C#→LuaLuaInvokeStub + InternalCallWeaver → LuaInvokeBridge catalog

上级索引:../IL2CPP.md../MONO.md