Cette question est spécifique à la fonction d'extension de Kotlin utilisée dans le développement d'Android.
Kotlin nous offre donc la possibilité d'ajouter certains comportements d'extension à une classe afin d'étendre le comportement de la classe de base.
Exemple : (tiré de mon projet Android actuel, pour viewAssertion en test avec Espresso)
fun Int.viewInteraction(): ViewInteraction {
return onView(CoreMatchers.allOf(ViewMatchers.withId(this), ViewMatchers.isDisplayed()))
}
Dans mon cas, je peux l'utiliser comme suit :
R.id.password_text.viewInteraction().perform(typeText(PASSWORD_PLAIN_TEXT), pressDone())
Tout va bien, sauf que cette fonction d'extension donne le comportement étendu à tous les utilisateurs. Int
et pas seulement les View ID dans Android, ce qui n'est pas bon du tout.
La question est de savoir s'il existe un moyen de donner un contexte à cela. Int
Comme pour Android, nous avons @IdRes dans l'annotation de support Android pour le cas susmentionné ?