eclipse-vertx / eclipse-vertx/vertx-codegen
Allow DataObject properties to be ignored by generated converter
- Lingua principale
- Java
- Stelle
- 111
- Fork
- 89
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
In certain circumstances it is desirable or necessary to omit a property from the generated converter.
For example, the following Kotlin DataObject will not compile successfully:
```kotlin
@DataObject(generateConverter = true)
class EnumSetDataObject() {
var enumSet: Set = emptySet()
...
}
error: Could not generate element for io.vertx.example.EnumSetDataObject:
Illegal type ? extends io.vertx.example.MyEnum of kind WILDCARD
```
The desired effect (omitting `enumSet` from the converter) can be accomplished in Kotlin by using the `@JvmField` annotation, however, that is a language-specific solution.
I think that it would be useful to provide this functionality, either via the `@GenIgnore` annotation or a new `@ConverterIgnore` annotation.
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia individuando il percorso di generazione dei converter per @DataObject e il modo in cui elabora le properties, quindi confronta il comportamento esistente di @JvmField con l’approccio proposto @GenIgnore o @ConverterIgnore. Il lavoro è completato quando un’annotation indipendente dal linguaggio può escludere una property di DataObject dalla conversione generata e l’esempio EnumSet non causa più il fallimento della generazione.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- java, kotlin
- Ambito
- tooling
- Tipo di issue
- Funzionalità
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100