Kotlin 1.5.20

Par:
fredericmazue

lun, 05/07/2021 - 17:21

Kotlin, le langage maison de l'éditeur JetBrains, vient de sortir en version 1.5.20. cette mouture apporte principalement les nouveautés suivantes :

  • Concaténation de chaînes via invokedynamic
  • Prise en charge des annotations de nullité JSpecify
  • Prise en charge de l'appel des méthodes générées par Lombok de Java dans les modules contenant du code Kotlin et Java

Kotlin 1.5.20 compile les concaténations de chaînes en appels dynamiques ( invokedynamic) sur les cibles JVM 9+, respectant ainsi les versions Java modernes. Plus précisément, il utilise StringConcatFactory.makeConcatWithConstants() pour la concaténation de chaînes. Pour revenir à la concaténation via StringBuilder.append()utilisée dans les versions précédentes, ajoutez l'option du compilateur -Xstring-concat=inline.

Le compilateur Kotlin peut lire divers types d' annotations de nullité pour transmettre des informations de nullité de Java à Kotlin. La version 1.5.20 introduit la prise en charge du projet JSpecify , qui inclut l'ensemble unifié standard d'annotations de nullité Java.

Avec JSpecify, vous pouvez fournir des informations de nullité plus détaillées pour aider Kotlin à maintenir l'interopérabilité de la sécurité null avec Java. Vous pouvez définir la valeur NULL par défaut pour la déclaration, le package ou la portée du module, spécifier la valeur NULL paramétrique, etc.

Kotlin 1.5.20 introduit un plugin de compilateur Lombok expérimental. Ce plugin permet de générer et d'utiliser les déclarations Lombok de Java dans des modules qui ont du code Kotlin et Java. Les annotations Lombok ne fonctionnent que dans les sources Java et sont ignorées si vous les utilisez dans le code Kotlin.

Le plugin prend en charge les annotations suivantes :

  • @Getter, @Setter
  • @NoArgsConstructor, @RequiredArgsConstructor, et@AllArgsConstructor
  • @Data
  • @With
  • @Value