From 9340b61f0f8cf21b7e7ee3dcea5699a3fe0f9f7e Mon Sep 17 00:00:00 2001 From: Noah Santschi-Cooney Date: Mon, 17 Jul 2023 17:36:51 +0100 Subject: [PATCH] emit overridden_symbols for methods (and fix filter conditioin) --- .../semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt index 2e203fb..659c15a 100644 --- a/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt +++ b/semanticdb-kotlinc/src/main/kotlin/com/sourcegraph/semanticdb_kotlinc/SemanticdbTextDocumentBuilder.kt @@ -16,6 +16,7 @@ import org.jetbrains.kotlin.com.intellij.psi.PsiElement import org.jetbrains.kotlin.descriptors.ClassDescriptor import org.jetbrains.kotlin.descriptors.DeclarationDescriptor import org.jetbrains.kotlin.descriptors.DeclarationDescriptorWithSource +import org.jetbrains.kotlin.descriptors.SimpleFunctionDescriptor import org.jetbrains.kotlin.idea.KotlinLanguage import org.jetbrains.kotlin.ir.backend.js.lower.serialization.ir.JsManglerDesc.fqnString import org.jetbrains.kotlin.psi.KtConstructor @@ -66,10 +67,14 @@ class SemanticdbTextDocumentBuilder( .getAllSuperClassifiers() // first is the class itself .drop(1) - .filter { it.fqnString == "kotlin.Any" || it.fqnString == "java.lang.Object" } + .filter { + it.fqnString != "kotlin.Any" && it.fqnString != "java.lang.Object" + } .flatMap { cache[it] } .map { it.toString() } .asIterable() + is SimpleFunctionDescriptor -> + descriptor.overriddenDescriptors.flatMap { cache[it] }.map { it.toString() } else -> emptyList().asIterable() } return SymbolInformation {