Kotlin 语言 类型转换安全检查工具

Kotlin阿木 发布于 20 天前 3 次阅读


Kotlin 类型转换安全检查工具实现与探讨

Kotlin 作为一种现代的编程语言,以其简洁、安全、互操作性强等特点受到了越来越多开发者的喜爱。在 Kotlin 中,类型转换是一个常见的操作,但如果不正确处理,可能会导致运行时错误。为了提高代码的安全性和可维护性,本文将探讨如何实现一个 Kotlin 类型转换安全检查工具,并对其原理和实现进行详细分析。

类型转换安全检查的重要性

在 Kotlin 中,类型转换分为两种:显式转换和隐式转换。隐式转换在编译时自动进行,而显式转换则需要开发者显式指定类型。如果类型转换不正确,可能会导致以下问题:

1. 运行时错误:如 ClassCastException,导致程序崩溃。

2. 逻辑错误:类型转换错误可能导致程序逻辑错误,影响程序的正确性。

3. 代码可读性降低:错误的类型转换会使代码难以理解,降低代码的可读性。

实现一个类型转换安全检查工具对于提高 Kotlin 代码的质量具有重要意义。

类型转换安全检查工具的设计

工具功能

我们的类型转换安全检查工具应具备以下功能:

1. 检查隐式转换是否安全。

2. 检查显式转换是否正确。

3. 提供详细的错误信息,方便开发者定位问题。

工具架构

工具采用以下架构:

1. 解析器:解析 Kotlin 代码,生成抽象语法树(AST)。

2. 分析器:遍历 AST,检查类型转换是否安全。

3. 报告生成器:生成错误报告,展示问题位置和原因。

实现细节

解析器

解析器使用 Kotlin 的解析库 `kotlin-stdlib` 中的 `KotlinParser` 类。通过解析 Kotlin 代码,生成 AST。

```kotlin

import org.jetbrains.kotlin.com.intellij.lang.parser.KotlinParserDefinition

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinition

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionBase

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtil

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import org.jetbrains.kotlin.com.intellij.lang.parser.ParserDefinitionUtilKt

import