Annotasjoner

Annotasjoner

> LeekScript

For øyeblikket finnes det 7 annotasjoner. De kan brukes foran en funksjon eller en metode for å angi ekstra informasjon. De gjelder også for lokale variabler, globale variabler og klasser. I editoren vises dokumentasjonen for hver annotasjon når du holder musepekeren over den.

Hvordan bruker man annotasjoner?

For å bruke en annotasjon kan du skrive:

eller

Annotasjoner kan også kombineres:

De eksisterende annotasjonene

@deprecated

En funksjon eller metode annotert med @deprecated gir en advarsel ved kompilering når den kalles. Det angir at funksjonen ikke lenger skal brukes, og at den vil bli fjernet senere.

For eksempel:

@todo

En funksjon eller metode annotert med @todo setter inn en advarsel av typen todo ved kompilering for å angi at den ikke er ferdig.

@unused

En funksjon eller metode annotert med @unused gir ingen advarsel hvis den ikke brukes. Dette er særlig nyttig i streng modus hvis funksjonen er implementert, men koden ikke kaller den.

For eksempel:

Merk: å sette _ foran et navn (for eksempel var _resultat) fjerner allerede advarselen «brukes ikke», uten annotasjon.

@nodiscard

En funksjon eller metode annotert med @nodiscard gir en advarsel hvis returverdien ikke brukes.

@pure

For øyeblikket har @pure samme effekt som @nodiscard. Men @pure innebærer mer:

En ren funksjon skal ikke endre tilstand og skal ikke ha sideeffekter. Det vil si at den ikke skal endre variabler utenfor sitt eget scope, og den skal være deterministisk (ingen random).

@override

En metode annotert med @override forteller utvikleren at den endrer implementasjonen av en metode i foreldreklassen.

For eksempel:

@tailrec

En funksjon eller metode annotert med @tailrec angir at den er halerekursiv: det betyr at funksjonen er rekursiv, og at det rekursive kallet er den siste instruksjonen i funksjonen.

Denne annotasjonen kan være nyttig for kompilatoren, men brukes for øyeblikket aldri.