Annotations

Annotations

Actuellement, il existe 7 annotations. Celles ci peuvent être utilisées devant une fonction ou une méthode pour indiquer une information supplémentaire.

Comment utiliser les annotations?

Pour utiliser une annotation, tu peux écrire:

ou

Les annotations peuvent aussi être cummulées:

Les annotations existantes

@deprecated

Une fonction ou méthode annotée @deprecated affiche un warning lorsqu'elle est appelée à la compilation comme quoi cette fonction est dépréciée. Cela indique que la fonction ne doit plus âtre utilisée et qu'elle sera supprimée plus tard

Par exemple:

@todo

Une fonction ou methode annotée @todo insère un warning de type todo à la compilation pour indiquer qu'elle n'est pas complète

@unused

Une fonction ou methode annotée @unused n'emmettra pas de warning si elle n'est pas utilisée. Ceci est particulièrement utile en mode strict si la fonction est implémentée mais que le code ne l'appelle pas.

Par exemple:

@nodiscard

Une fonction ou methode annotée @nodiscard affichera un warning si sa valeur de retour n'est pas utilisée.

@pure

Actuellement, @pure a le même effet que @nodiscard. Cependant, @pure implique plus de choses:

Une fonction pure ne doit pas muter l'état et ne dois pas avoir d'effets de bords. C'est à dire qu'elle ne doit pas modifier de variables en dehors de son scope, et doit être déterministe (pas de random).

@override

Une méthode annotée comme @override indique au développeur qu'elle change l'implémentation d'une méthode de la classe parente.

Par exemple:

@tailrec

Une fonction ou méthode annotée de @tailrec indique qu'elle est tail recursive cela signifie que cette fonction est récursive et que l'appel récursif est la dernière instruction de la fonction.

Cette annotation peut être utile pour le compilateur mais n'est actuellement jamais utilisée.