Scala 3 lazy val implementation breaks FieldAccess reflection
还没有人认领这个 Issue。
评估
调研方向
从 FieldAccess.get 的堆栈跟踪开始,使用包含 lazy val 的 Scala 3 类复现 ClassFormatError。跟踪生成的访问类如何处理 0bitmap$1 字段;完成的标准是 Scala 3 lazy-val 类不再触发此错误。
由索引模型根据 Issue 内容生成。
描述
Scala 3 changed the implementation of lazy vals. Classes containing a lazy val end up with a field called 0bitmap$1:
Compiled from "Test.scala"
public class Test implements scala.Product,java.io.Serializable {
public static final long OFFSET$0;
public long 0bitmap$1;
private final byte a;
...
This results in a ClassFormatError:
Cause: java.lang.ClassFormatError: Illegal field name "0bitmap$1" in class io/altoo/akka/serialization/kryo/TestFieldAccess
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1012)
at com.esotericsoftware.reflectasm.AccessClassLoader.defineClass(AccessClassLoader.java:78)
at com.esotericsoftware.reflectasm.AccessClassLoader.defineAccessClass(AccessClassLoader.java:57)
at com.esotericsoftware.reflectasm.FieldAccess.get(FieldAccess.java:173)
(Report from https://github.com/EsotericSoftware/kryo/issues/882)
- 主要语言
- Java
- 星标
- 1.5k
- 派生
- 217
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
EsotericSoftware/reflectasm 的其他 Issue
-
难度 4/5 3-5 天 新手友好度 20/100
-
难度 5/5 一周以上 新手友好度 25/100
EsotericSoftware/reflectasm#94 · 1 条评论 ·
-
难度 4/5 3-5 天 新手友好度 25/100
-
难度 3/5 1-2 天 新手友好度 45/100
EsotericSoftware/reflectasm#91 · 2 条评论 ·
-
难度 3/5 1-2 天 新手友好度 25/100
查看 EsotericSoftware/reflectasm 的全部 Issue
相似的 Issue
-
[Bug] dubbo.protocol.triple.max-message-size is only read from OS environment variables可能已有人在做 @CCCLL 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 72/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 64/100
hierynomus/sshj#1070 ·
-
难度 2/5 1-3 小时 新手友好度 84/100
intellij-elixir/intellij-elixir#4492 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 76/100
quarkiverse/quarkus-openapi-generator#1796 · 1 条评论 ·
-
难度 2/5 1-3 小时 新手友好度 66/100
quarkiverse/quarkus-jooq#324 ·
维护者通常 1 天内回复