ASMMixinCompiler

[!INFO] Git Commit: 7808254 | Updated: 2026-10-02

属性 值
类名 codechicken.multipart.asm.ASMMixinCompiler
类型 object + ClassInfo / MethodInfo + ReflectionClassInfo / ScalaClassInfo,873 行,全仓最大文件
启用版本 Minecraft 1.7.10
字节码编译器:读取「已被 trait 增强的类」,把其中的字段与方法反向合成为
一个可动态生成的父类。这是 ForgeMultipart 能在运行时给 TileMultipart
挂上任意 Forge 接口的底层。

关键点

  • ClassInfo 是核心抽象;ReflectionClassInfo 从 java.lang.reflect 读, ScalaClassInfo 从 Scala 签名读(Scala trait 编译后不带反射信息)。
  • MethodInfo 把方法签名标准化,便于去重与排序。
  • convertMethod / define / internalDefine 是生成路径。
  • allParents / heirachy:沿父类链收集待合并内容。
  • DebugPrinter 对象用于排查生成失败(受 debug_asm 配置控制)。
  • 依赖 ASM 的 ClassNode / MethodNode / TypeInsnNode / MethodInsnNode。

相关条目