jextract/jni: Enum case record names can collide with enclosing types
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 57/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Área
- backend-api-design
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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
- Lenguaje dominante
- Swift
- Estrellas
- 1.3k
- Forks
- 127
- Merge medio
- 2 d 14 h
- PR fusionados (30 d)
- 5
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de swiftlang/swift-java
-
wrap-java: Optional convenience methods can fail to compile when a parameter shadows the method nameAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
swiftlang/swift-java#945 ·
Los mantenedores suelen responder en 1 día
-
android
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
swiftlang/swift-java#663 · 4 comentarios · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 56/100
swiftlang/swift-java#949 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
swiftlang/swift-java#948 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 54/100
swiftlang/swift-java#947 ·
Los mantenedores suelen responder en 1 día
Todos los issues de swiftlang/swift-java
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
VictorKildahl/cra#192 ·
Los mantenedores suelen responder en 1 día
-
area:docs phase:release priority:p0 type:test
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
-
[Type] Bug Accessibility Notifications
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
wordpress-mobile/WordPress-iOS#26340 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día