[FIR IDE] Enabled usages services and added services stubs
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
/*
|
||||
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.idea.asJava
|
||||
|
||||
import com.intellij.psi.*
|
||||
import org.jetbrains.kotlin.asJava.classes.KtLightClass
|
||||
import org.jetbrains.kotlin.psi.*
|
||||
|
||||
class LightClassProviderFirImpl : LightClassProvider {
|
||||
override fun getLightFieldForCompanionObject(companionObject: KtClassOrObject): PsiField? {
|
||||
return null
|
||||
}
|
||||
|
||||
override fun getLightClassMethods(function: KtFunction): List<PsiMethod> {
|
||||
return emptyList()
|
||||
}
|
||||
|
||||
override fun getLightClassParameterDeclarations(parameter: KtParameter): List<PsiNamedElement> {
|
||||
return emptyList()
|
||||
}
|
||||
|
||||
override fun getLightClassPropertyDeclarations(property: KtProperty): List<PsiNamedElement> {
|
||||
return emptyList()
|
||||
}
|
||||
|
||||
override fun toLightClassWithBuiltinMapping(classOrObject: KtClassOrObject): PsiClass? {
|
||||
return null
|
||||
}
|
||||
|
||||
override fun toLightMethods(psiElement: PsiElement): List<PsiMethod> {
|
||||
return emptyList()
|
||||
}
|
||||
|
||||
override fun toLightClass(classOrObject: KtClassOrObject): KtLightClass? {
|
||||
return null
|
||||
}
|
||||
|
||||
override fun toLightElements(ktElement: KtElement): List<PsiNamedElement> {
|
||||
return emptyList()
|
||||
}
|
||||
|
||||
override fun createKtFakeLightClass(kotlinOrigin: KtClassOrObject): PsiClass? {
|
||||
return null
|
||||
}
|
||||
|
||||
override fun getRepresentativeLightMethod(psiElement: PsiElement): PsiMethod? {
|
||||
return null
|
||||
}
|
||||
|
||||
override fun isKtFakeLightClass(psiClass: PsiClass): Boolean {
|
||||
return false
|
||||
}
|
||||
|
||||
override fun isKtLightClassForDecompiledDeclaration(psiClass: PsiClass): Boolean {
|
||||
return false
|
||||
}
|
||||
|
||||
override fun createKtFakeLightMethod(ktDeclaration: KtNamedDeclaration): PsiMethod? {
|
||||
return null
|
||||
}
|
||||
}
|
||||
+42
@@ -0,0 +1,42 @@
|
||||
/*
|
||||
* Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.idea.findUsages
|
||||
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.psi.PsiElement
|
||||
import com.intellij.psi.PsiReference
|
||||
import com.intellij.psi.search.GlobalSearchScope
|
||||
import org.jetbrains.kotlin.psi.*
|
||||
|
||||
class KotlinFindUsagesSupportFirImpl : KotlinFindUsagesSupport {
|
||||
override fun isCallReceiverRefersToCompanionObject(element: KtElement, companionObject: KtObjectDeclaration): Boolean {
|
||||
return false
|
||||
}
|
||||
|
||||
override fun isDataClassComponentFunction(element: KtParameter): Boolean {
|
||||
return false
|
||||
}
|
||||
|
||||
override fun getTopMostOverriddenElementsToHighlight(target: PsiElement): List<PsiElement> {
|
||||
return emptyList()
|
||||
}
|
||||
|
||||
override fun tryRenderDeclarationCompactStyle(declaration: KtDeclaration): String? {
|
||||
return (declaration as? KtNamedDeclaration)?.name ?: "SUPPORT FOR FIR"
|
||||
}
|
||||
|
||||
override fun isConstructorUsage(psiReference: PsiReference, ktClassOrObject: KtClassOrObject): Boolean {
|
||||
return false
|
||||
}
|
||||
|
||||
override fun checkSuperMethods(declaration: KtDeclaration, ignore: Collection<PsiElement>?, actionString: String): List<PsiElement> {
|
||||
return listOf(declaration)
|
||||
}
|
||||
|
||||
override fun sourcesAndLibraries(delegate: GlobalSearchScope, project: Project): GlobalSearchScope {
|
||||
return delegate
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -38,7 +38,7 @@ interface LightClassProvider {
|
||||
|
||||
fun toLightElements(ktElement: KtElement): List<PsiNamedElement>
|
||||
|
||||
fun createKtFakeLightClass(kotlinOrigin: KtClassOrObject): PsiClass
|
||||
fun createKtFakeLightClass(kotlinOrigin: KtClassOrObject): PsiClass?
|
||||
|
||||
fun getRepresentativeLightMethod(psiElement: PsiElement): PsiMethod?
|
||||
|
||||
|
||||
@@ -97,6 +97,9 @@ The Kotlin FIR plugin provides language support in IntelliJ IDEA and Android Stu
|
||||
<projectService serviceImplementation="org.jetbrains.kotlin.idea.fir.low.level.api.FirIdeResolveStateService"/>
|
||||
<projectService serviceImplementation="org.jetbrains.kotlin.resolve.jvm.KotlinJavaPsiFacade"/>
|
||||
|
||||
<projectService serviceInterface="org.jetbrains.kotlin.idea.asJava.LightClassProvider"
|
||||
serviceImplementation="org.jetbrains.kotlin.idea.asJava.LightClassProviderFirImpl"/>
|
||||
|
||||
<completion.contributor language="kotlin"
|
||||
id="KotlinCompletionContributor"
|
||||
order="first"
|
||||
@@ -201,9 +204,28 @@ The Kotlin FIR plugin provides language support in IntelliJ IDEA and Android Stu
|
||||
order="first"/>
|
||||
|
||||
<findUsagesHandlerFactory implementation="org.jetbrains.kotlin.idea.findUsages.KotlinFindUsagesHandlerFactory"/>
|
||||
<projectService serviceInterface="org.jetbrains.kotlin.idea.findUsages.KotlinFindUsagesSupport"
|
||||
serviceImplementation="org.jetbrains.kotlin.idea.findUsages.KotlinFindUsagesSupportFirImpl"/>
|
||||
|
||||
<lang.findUsagesProvider language="kotlin" implementationClass="org.jetbrains.kotlin.idea.findUsages.KotlinFindUsagesProviderBase"/>
|
||||
|
||||
<gotoDeclarationHandler implementation="org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinImportAliasGotoDeclarationHandler"/>
|
||||
<referencesSearch implementation="org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReferencesSearcher"/>
|
||||
<referencesSearch implementation="org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinAliasedImportedElementSearcher"/>
|
||||
<!-- <directClassInheritorsSearch implementation="org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinDirectInheritorsSearcher"/>-->
|
||||
<!-- <overridingMethodsSearch implementation="org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinOverridingMethodsWithGenericsSearcher"/>-->
|
||||
<!-- <definitionsScopedSearch implementation="org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinDefinitionsSearcher"/>-->
|
||||
<!-- <annotatedElementsSearch implementation="org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinAnnotatedElementsSearcher"/>-->
|
||||
<!-- <classesWithAnnotatedMembersSearch implementation="org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinClassesWithAnnotatedMembersSearcher"/>-->
|
||||
<!-- <methodReferencesSearch implementation="org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinPropertyAccessorsReferenceSearcher"/>-->
|
||||
<!-- <methodReferencesSearch implementation="org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinConstructorDelegationCallReferenceSearcher"/>-->
|
||||
<!-- <methodReferencesSearch implementation="org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinOverridingMethodReferenceSearcher"/>-->
|
||||
<!-- <methodReferencesSearch implementation="org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinConventionMethodReferencesSearcher"/>-->
|
||||
<!-- <methodReferencesSearch implementation="org.jetbrains.kotlin.idea.search.ideaExtensions.DefaultAnnotationMethodKotlinImplicitReferenceSearcher"/>-->
|
||||
|
||||
<readWriteAccessDetector implementation="org.jetbrains.kotlin.idea.search.ideaExtensions.KotlinReadWriteAccessDetector" id="kotlin"/>
|
||||
|
||||
|
||||
<fileType name="Kotlin"
|
||||
implementationClass="org.jetbrains.kotlin.idea.KotlinFileType"
|
||||
fieldName="INSTANCE"
|
||||
|
||||
@@ -38,7 +38,7 @@ class LightClassProviderImpl : LightClassProvider {
|
||||
override fun toLightElements(ktElement: KtElement): List<PsiNamedElement> =
|
||||
ktElement.toLightElements()
|
||||
|
||||
override fun createKtFakeLightClass(kotlinOrigin: KtClassOrObject): PsiClass =
|
||||
override fun createKtFakeLightClass(kotlinOrigin: KtClassOrObject): PsiClass? =
|
||||
KtFakeLightClass(kotlinOrigin)
|
||||
|
||||
override fun getRepresentativeLightMethod(psiElement: PsiElement): PsiMethod? =
|
||||
|
||||
Reference in New Issue
Block a user