eclipse-vertx / eclipse-vertx/vertx-codegen
Allow DataObject properties to be ignored by generated converter
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Java
- Sterne
- 111
- Forks
- 88
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
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:
@DataObject(generateConverter = true)
class EnumSetDataObject() {
var enumSet: Set<MyEnum> = 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.
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne damit, den Pfad zur Converter-Generierung für @DataObject und die Verarbeitung seiner Properties zu finden, und vergleiche dann das bestehende Verhalten von @JvmField mit dem vorgeschlagenen Ansatz @GenIgnore oder @ConverterIgnore. Die Arbeit ist abgeschlossen, wenn eine sprachunabhängige Annotation eine DataObject-Property von der generierten Konvertierung ausschließen kann und das EnumSet-Beispiel nicht mehr dazu führt, dass die Generierung fehlschlägt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- java, kotlin
- Bereich
- tooling
- Issue-Typ
- Feature
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100