NativeScript / NativeScript/android
Android d.ts generator fails to create typings for nested data class
Nessuno ha ancora preso questa issue.
- Lingua principale
- C++
- Stelle
- 563
- Fork
- 144
- Merge medio
- 10h 46m
- PR unite (30g)
- 14
Descrizione
Environment
Provide version numbers for the following components (information can be retrieved by running tns info in your project folder or by inspecting the package.json of the project):
- CLI: 8.5
- Cross-platform modules: 8.5.0
- Android Runtime: 8.5.0
- Android d.ts Generator : 3.0.0
- iOS Runtime (if applicable): 8.5.1
- Plugin(s):
Describe the bug
It seems Android d.ts generator has trouble generating types for data classes declared inside functions.
Generator log output:
Android d.ts Generator Version : 3.0.0
ignoring definitions in missing dependency: android.text.TextWatcher
ignoring definitions in missing dependency: android.view.View$OnFocusChangeListener
Generation of definitions took 712ms.
Typings have been generated in the following directory: ./typings
To Reproduce
This is the kotlin function with class declaration: https://github.com/RedMadRobot/input-mask-android/blob/eee78324eb4cdb4faab3248ef646d5750507b598/inputmask/src/main/kotlin/com/redmadrobot/inputmask/MaskedTextChangedListener.kt#L294
These are the typings generated, you will notice a brace is missing on module pickMask:
export module MaskedTextChangedListener {
export module pickMask {
export module ValueListener {
export class MaskAffinity {
public static class: java.lang.Class<com.redmadrobot.inputmask.MaskedTextChangedListener.pickMask.MaskAffinity>;
public component1(): com.redmadrobot.inputmask.helper.Mask;
public getAffinity(): number;
public component2(): number;
public copy(param0: com.redmadrobot.inputmask.helper.Mask, param1: number): com.redmadrobot.inputmask.MaskedTextChangedListener.pickMask.MaskAffinity;
public hashCode(): number;
public equals(param0: any): boolean;
public getMask(): com.redmadrobot.inputmask.helper.Mask;
public toString(): string;
public constructor(param0: com.redmadrobot.inputmask.helper.Mask, param1: number);
}
}
}
Expected behavior
Typings should be generated without problems.
Guida per i contributori
Apri 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.
Direzione di ricerca
Inizia dalla dichiarazione della funzione Kotlin collegata nella riproduzione e confronta il relativo output con i typings generati mostrati nell’issue. Traccia la gestione delle data classes annidate da parte di Android d.ts Generator e verifica il completamento rigenerando i typings senza la graffa mancante del modulo.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- android, kotlin, typescript
- Ambito
- mobile, tooling
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 38/100