为什么打电话给KTFILE的孩子触发Nosuchmethoderror?

发布于 2025-01-31 06:09:34 字数 765 浏览 2 评论 0原文

我有以下调用儿童的代码 ktfile 。当我进入此儿童的定义时,我可以看到它是在package com.intellij.psi下定义的,该方法称为getchildren() getchildren()返回psielement的数组。

import org.jetbrains.kotlin.psi.*

fun KtFile.getFunctionList(): List<KtNamedFunction> {
    val functionList = mutableListOf<KtNamedFunction>()
    children.forEach {
        if (it is KtNamedFunction) functionList.add(it)
    }
    return functionList
}

但是,我会收到以下错误:

Exception in thread "main" java.lang.NoSuchMethodError: 'com.intellij.psi.PsiElement[] org.jetbrains.kotlin.psi.KtFile.getChildren()'
    at docGenerator.KtParserKt.getFunctionList(KtParser.kt:36)
    ...

为什么会发生这种错误?

I have the following code that calls children of the KtFile. When I go inside the definition of this children, I can see that it is defined in package com.intellij.psi under the method called getChildren() which returns an array of PsiElement.

import org.jetbrains.kotlin.psi.*

fun KtFile.getFunctionList(): List<KtNamedFunction> {
    val functionList = mutableListOf<KtNamedFunction>()
    children.forEach {
        if (it is KtNamedFunction) functionList.add(it)
    }
    return functionList
}

However, I get the following error:

Exception in thread "main" java.lang.NoSuchMethodError: 'com.intellij.psi.PsiElement[] org.jetbrains.kotlin.psi.KtFile.getChildren()'
    at docGenerator.KtParserKt.getFunctionList(KtParser.kt:36)
    ...

Why is this happening?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文