[lc] KotlinAsJavaSupportBase: implement getLightClass

add more caching

^KT-50241
This commit is contained in:
Dmitry Gridin
2022-09-01 17:37:01 +02:00
committed by Space
parent 2d0e95cea0
commit 46548e5443
15 changed files with 184 additions and 140 deletions
@@ -94,8 +94,6 @@ class CliKotlinAsJavaSupport(project: Project, private val traceHolder: CliTrace
).mapNotNull { member -> (member as? PackageViewDescriptor)?.fqName }
}
override fun getLightClass(classOrObject: KtClassOrObject): KtLightClass? = KotlinLightClassFactory.createClass(classOrObject)
override fun getLightClassForScript(script: KtScript): KtLightClassForScript? = KotlinLightClassFactory.createScript(script)
override fun findClassOrObjectDeclarations(fqName: FqName, searchScope: GlobalSearchScope): Collection<KtClassOrObject> {
@@ -114,4 +112,12 @@ class CliKotlinAsJavaSupport(project: Project, private val traceHolder: CliTrace
}
override fun createFacadeForSyntheticFile(file: KtFile): KtLightClassForFacade = error("Should not be called")
override fun declarationLocation(file: KtFile, module: KtFile): DeclarationLocation = DeclarationLocation.ProjectSources
override fun createInstanceOfDecompiledLightClass(classOrObject: KtClassOrObject, module: KtFile): KtLightClass? {
error("Should not be called")
}
override fun createInstanceOfLightClass(classOrObject: KtClassOrObject, module: KtFile): KtLightClass? {
return LightClassGenerationSupport.getInstance(classOrObject.project).createUltraLightClass(classOrObject)
}
}