ScalaSignature
[!INFO] Git Commit:
7808254| Updated: 2026-10-02
| 属性 | 值 |
|---|---|
| 类名 | codechicken.multipart.asm.ScalaSignature |
| 类型 | object + trait Flags / SymbolRef / ClassSymbolRef + class ScalaSignature(bytes),370 行 |
| 启用版本 | Minecraft 1.7.10 |
解析 JVM class 上的 @ScalaSignature 注解,把 Scala 的符号表还原出来。 |
|
| 这是 ForgeMultipart 能读懂 Scala trait 的唯一途径。 |
关键点
ScalaSignature构造时调用ByteCodeReader流式读取编码字节流。- 符号种类齐全:
ClassSymbol/MethodSymbol/ClassType/MethodType/PackageSymbol/ModuleSymbol/TypeSymbol等。 ExternalSymbol/ParameterlessType处理 Scala 的外部类型引用。- 字面量节点:
IntLiteral/LongLiteral/StringLiteral/BooleanLiteral等。 AnnotationInfo:读取注解。- 实体类型
Flags承载访问标志。
相关条目
- ASMMixinCompiler - 消费解析结果的编译器
- ByteCodecs - 字节流读取用到的 varint 编解码