NativeScript / NativeScript/android

Improve support for Java varargs methods

Ouverte
#469 5 commentaires 1 réaction 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

feature severity: low
Langage dominant
C++
Étoiles
563
Forks
144
Merge moyen
10 h 46 min
PR mergées (30 j)
14

Description

Java supports varargs methods. For example, [Class.getMethod](https://developer.android.com/reference/java/lang/Class.html#getMethod%28java.lang.String, java.lang.Class<?>...%29)

Method getMethod (String name, Class...<?> parameterTypes)

This is syntax sugar for the actual method signature which is

Method getMethod (String name, Class<?>[] parameterTypes)

Currently, NativeScript for Android does not support calling such method with implicit parameter

var klass = java.lang.Object.class;

// option 1) not supported
var method = klass.getMethod("hasCode");

// option 2) supported
var method = klass.getMethod("hasCode", null);

We can provide another implementation for the current method resolution algorithm so it tries to find a method with one additional parameter (array) as a fallback and if this fail then the method resolution fails as expected.

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par l’algorithme actuel de résolution des méthodes dans le runtime NativeScript Android et suivez la manière dont les appels JavaScript sont associés aux méthodes Java. Vérifiez le comportement avec les exemples de varargs implicites et explicites de l’issue. C’est terminé lorsqu’un argument varargs omis est résolu via le fallback du paramètre tableau, tandis que les méthodes non résolues échouent toujours normalement.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
cpp, java, javascript
Domaine
mobile-dev
Type d'issue
Fonctionnalité
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.