Progammiersprache: Kotlin/JS Inspection Pack vereinfacht die Compiler-Migration

Das neue Plug-in Kotlin/JS Inspection Pack bietet Inspections und Quick-Fixes für die Migration zum Kotlin/JS IR Compiler.

Lesezeit: 2 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen
Umfrage: Wanderer wollen trotz Smartphones weiter Wegemarkierungen

(Bild: Shutterstock)

Von
  • Maika Möbus

Eine Woche nach dem letzten Kotlin-Release 1.5.30 hat die hinter der Programmiersprache stehende Softwarefirma JetBrains das Plug-in Kotlin/JS Inspection Pack veröffentlicht. Es soll sowohl bei der Erstellung neuer Projekte mit Kotlin/JS als auch bei der Migration bestehender Projekte zum neuen Kotlin/JS IR (Intermediate Representation) Compiler unterstützen. Dieser ist in Kotlin derzeit als Beta-Version an Bord und soll den Legacy Compiler ablösen.

Bei Interfaces und Klassen, inklusive data class, die aus reinen JavaScript-Klassen stammen, kann es zu der ClassCastException-Fehlermeldung kommen. Das tritt etwa bei den React-Klassen State und Props auf und liegt daran, dass der IR Compiler annimmt, sie seien Kotlin-Objekte anstatt nicht im Code definierter JavaScript-Objekte. An dieser Stelle soll das Kotlin/JS Inspection Pack ansetzen, indem es solche Klassen und Interfaces durch Highlighting kenntlich macht und vorschlägt, sie in externe Interfaces umzuwandeln:

Das Kotlin/JS Inspection Pack schlägt die Umwandlung von JavaScript-Klassen in externe Interfaces vor.

(Bild: JetBrains)

Zudem bietet das Inspection Pack Vorschläge für einen Workaround im Umgang mit externen Interfaces. Das Zuweisen von Werten an immutable (unveränderbare) Eigenschaften wäre erst nach dem Erstellen von Objekten mittels js() oder jsObject() möglich. Das lässt sich allerdings, wie das Plug-in vorschlägt, durch die Verwandlung solcher Eigenschaften in mutable (veränderbare) Eigenschaften mithilfe von var umgehen.

Auch schlägt das Kotlin/JS Inspection Pack vor, Boolesche Eigenschaften in externen Interfaces als nullable zu spezifizieren. Das soll helfen, einen weiteren ClassCastException-Fehler zu vermeiden, denn während diese Werte in JavaScript null oder undefined sein können, verlangt Kotlin deren explizite Spezifizierung.

Das Kotlin/JS Inspection Pack steht bei JetBrains zum Download zur Verfügung. Es lässt sich sowohl mit IntelliJ IDEA als auch mit Android Studio nutzen.

Zusätzlich empfiehlt JetBrains, sich in das neue Kotlin/JS IR Backend einzulesen und auch den Kotlin/JS-Migrationsguide zu berücksichtigen. Kotlin selbst ist derzeit in Version 1.5.30 verfügbar, im November soll Kotlin 1.6 erscheinen.

Weitere Informationen zum Kotlin/JS Inspection Pack bietet der JetBrains-Blog.

(mai)