This repository was archived by the owner on Apr 19, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 5
Niveau 2 #5
Copy link
Copy link
Open
Description
talk
Avec un AP, on peut étendre le compilateur => faire de la validation
- présentation de l'API Writer
- comment utiliser Processor#getSupportedAnnotationTypes()
- présentation de javax.lang.model.element.* et javax.lang.model.type.*
- qu'est-ce qu'un Element ? qu'est-ce qu'un type ?
- utilisation des visiteurs pour connaître les types réels
- les exos de validation sont l'occasion d'utiliser compile-testing => le présenter rapidement
exercices
-
exo 1 : validation d'annotations, erreur de compilationdéplacé du niveau 3- sujet : empêcher @Inject sur les propriétés
- apprendre en récupérer les annotations "surveillées"
- 1er contact avec l'API Element/Type + utilisation de Messager
-
exo 2 : et si vous affichiez la ligne à laquelle se trouve l'erreur ?déplacé au niveau 3- les paramètres des méthodes de Messager plus en détail
-
exo 3 : et si vous n'affichiez qu'un warning ?déplacé du niveau 3- que se passe-t-il ? (rien sous Maven -- je crois)
-
exo 4 : valider qu'une valeur d'un paramètre d'une annotation est unique par packagemise en avant de l'aspect statefull de l'AP et de son cycle de viedéjà couvert par la solution bourrin pour traiter le bégaiement du processor au niveau 1
- exo 5 à Z : connaître l'API
javax.lang.model- série de tests unitaires dont le code d'exploration de l'API est à écrire
- sujets multiples, mais il s'agit de découvrir les visiteurs, les classes
Elements,Types,ElementFilters, les visiteurs et comment les utiliser - le sujet étant vaste, certains exercices pourront être relégué au dernier niveau, pour les plus rapides et pour éviter que ce niveau ne dure trop longtemps
Metadata
Metadata
Assignees
Labels
No labels