NativeScript / NativeScript/android
Android d.ts generator fails to create typings for nested data class
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- C++
- Estrellas
- 563
- Forks
- 144
- Merge medio
- 10 h 46 min
- PR fusionados (30 d)
- 14
Descripción
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.
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.
Línea de trabajo
Comienza con la declaración de función de Kotlin enlazada en la reproducción y compara su salida con los typings generados que se muestran en el issue. Sigue el tratamiento de las data classes anidadas por parte de Android d.ts Generator y verifica que se complete regenerando los typings sin la llave faltante del módulo.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- android, kotlin, typescript
- Área
- mobile, tooling
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 38/100