jextract/jni: Enum case record names can collide with enclosing types
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 57/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Ambito
- backend-api-design
Direzione di ricerca
Read the jextract/jni enum extraction code and its generated Java output for the Message example. Trace how Swift case names determine record names, payload accessors, and case dispatch; check the generated output with a case that collides with an enclosing type. Done means the generated record avoids the collision and its accessor and dispatch names stay consistent.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Problem
JNI enum extraction capitalizes each Swift case name to generate a nested Java record. That record can have the same name as its enum, another enclosing type, or the generated Case interface. Java rejects these declarations because a nested type cannot share an enclosing type's name.
Example
public enum Message {
case message(Int64)
}
The generated Java code contains a record named Message inside Message.Case. This conflicts with the enclosing Message type and causes Java compilation to fail.
The generated record name should avoid collisions with enclosing types. Its payload accessor and case dispatch should use the same name consistently.
Reference workaround implementation: https://github.com/qoncept/swift-java/pull/7
- Lingua principale
- Swift
- Stelle
- 1.3k
- Fork
- 127
- Merge medio
- 2g 14h
- PR unite (30g)
- 5
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di swiftlang/swift-java
-
wrap-java: Optional convenience methods can fail to compile when a parameter shadows the method nameAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
swiftlang/swift-java#945 ·
I maintainer di solito rispondono entro 1 giorno
-
android
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
swiftlang/swift-java#663 · 4 commenti · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 56/100
swiftlang/swift-java#949 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
swiftlang/swift-java#948 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 54/100
swiftlang/swift-java#947 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di swiftlang/swift-java
Issue simili
-
Tests fail when the Mac isn't set to EnglishForse già presa @zolferfigueiredo l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 3 giorni
-
area:shell order:3 status:ready type:bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
krystianslowik/arkt#618 ·
I maintainer di solito rispondono entro 1 giorno
-
needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
nightscout/Trio#1741 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
deepsealabs/libdc-swift#107 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
alexandrereol/ethmensa#30 ·