Ajouter un commentaire

Kotlin Symbol Processing 1.0

Par:
fredericmazue

jeu, 09/09/2021 - 13:16

Google a annoncé la disponibilité de Kotlin Symbol Processing 1.0. Kotlin Symbol Processing (KSP) rst, un outil pour créer des plugins de compilation légers dans Kotlin. KSP offre des fonctionnalités similaires à KAPT, tout en étant 2 fois plus rapide que ce dernier selon Google.

KSP a été conçu pour répondre à la demande n° des développeurs qui est, selon Google, la réduction du temps de construction des projets. Mountain View souligne que l'un des plus grands défis de la compilation du code Kotlin est que Kotlin ne dispose pas d'un système natif de traitement des annotations. 

Pour répondre à ce problème, lors de la conception de KSP, Google a réfléchi à ce à quoi ressemblerait le traitement des annotations pour Kotlin s'il était construit à partir de zéro. Le résultat est KSP qui offre une API pour analyser directement le code Kotlin, réduisant ainsi la pénalisation sur la vitesse de construction imposée par la génération de stub de KAPT. 

L'API KSP traite les programmes Kotlin de manière idiomatique. KSP comprend les fonctionnalités spécifiques à Kotlin, telles que les fonctions d'extension, la variance du site de déclaration et les fonctions locales. KSP modélise également les types de manière explicite et fournit une vérification de type de base, telle que l'équivalence et la compatibilité d'affectation.L'API modélise les structures du programme Kotlin au niveau des symboles selon la grammaire Kotlin. Lorsque les plugins basés sur KSP traitent les programmes source, les constructions telles que les classes, les membres de classe, les fonctions et les paramètres associés sont facilement accessibles pour les processeurs, alors que des choses comme les blocs if et les boucles for ne le sont pas.

KSP est un logiciel libre sous licence Apache 2.0, disponible sur GitHub.

Filtered HTML

Plain text

CAPTCHA
Cette question permet de vérifier que vous n'êtes pas un robot spammeur :-)
 L     TTTTTT      J   QQQ    DDD  
L TT J Q Q D D
L TT J Q Q D D
L TT J J Q QQ D D
LLLL TT JJJ QQQQ DDD
Q