eclipse-vertx / eclipse-vertx/vertx-codegen

Allow DataObject properties to be ignored by generated converter

Aperta
#213 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
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

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.