jextract/jni: Overloads with protocol parameters generate duplicate adapter classes
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 新手友好度
- 53/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 活跃
调研方向
Start by reading the JNI extraction path that emits protocol-parameter adapters when enableJavaCallbacks is enabled; the issue does not name a file or test, so locate it from that option and the generated adapter name. Reproduce with the two Client initializers in the issue and inspect generated Swift for duplicate class declarations. Done when overloaded initializers, instance methods, and free functions that need the same adapter generate compilable Swift.
由索引模型根据 Issue 内容生成。
描述
Problem
With enableJavaCallbacks enabled, JNI extraction emits a protocol-parameter adapter for each function declaration. Overloads with the same function name, parameter name, and enclosing type can require the same adapter, so the generated Swift contains duplicate class declarations and fails to compile.
Example
Both initializers below generate an adapter with the same name for store:
public protocol Store {
func value() -> Int64
}
public struct Client {
public init(store: some Store) {}
public init(store: some Store, extra: Int64) {}
}
The duplicate adapter declarations cause the generated Swift to fail compilation. The same problem can occur with overloaded instance methods and free functions.
Reference workaround implementation: https://github.com/qoncept/swift-java/pull/9
- 主要语言
- Swift
- 星标
- 1.3k
- 派生
- 127
- 平均合并
- 1 小时 6 分钟
- 30 天内合并 PR
- 3
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
swiftlang/swift-java 的其他 Issue
-
Document main actor execution requirements in Java-hosted processes可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭
难度 2/5 1-3 小时 新手友好度 76/100
swiftlang/swift-java#955 ·
维护者通常 1 天内回复
-
wrap-java: Optional convenience methods can fail to compile when a parameter shadows the method name未关闭
难度 2/5 1-3 小时 新手友好度 70/100
swiftlang/swift-java#945 ·
维护者通常 1 天内回复
-
android
难度 2/5 1-3 小时 新手友好度 75/100
swiftlang/swift-java#663 · 4 条评论 · 1 个 reaction ·
维护者通常 1 天内回复
-
难度 3/5 1-2 天 新手友好度 56/100
swiftlang/swift-java#949 ·
维护者通常 1 天内回复
-
难度 5/5 一周以上 新手友好度 35/100
swiftlang/swift-java#948 ·
维护者通常 1 天内回复
查看 swiftlang/swift-java 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 74/100
swiftlang/swift-markdown#299 ·
-
area: agents follow-up
难度 2/5 1-3 小时 新手友好度 77/100
manaflow-ai/cmux#37234 · 1 条评论 ·
维护者通常 1 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 68/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 67/100
维护者通常 1 天内回复
-
bug product / functions
难度 2/5 1-3 小时 新手友好度 88/100
维护者通常 1 天内回复