[RESTORED] Light Classes: Constant expression evaluator for light annotation arguments

This commit is contained in:
Alexey Sedunov
2016-03-21 19:14:05 +03:00
parent f2e2220560
commit 962b312fb7
6 changed files with 124 additions and 7 deletions
@@ -44,6 +44,7 @@ import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.psi.*
import org.jetbrains.kotlin.psi.psiUtil.getElementTextWithContext
import org.jetbrains.kotlin.resolve.BindingContext
import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode
import org.jetbrains.kotlin.resolve.lazy.ForceResolveUtil
import org.jetbrains.kotlin.resolve.lazy.NoDescriptorForDeclarationException
import org.jetbrains.kotlin.resolve.lazy.ResolveSession
@@ -225,6 +226,8 @@ class IDELightClassGenerationSupport(private val project: Project) : LightClassG
}
}
override fun analyze(element: KtElement) = element.analyze(BodyResolveMode.PARTIAL)
override fun getFacadeNames(packageFqName: FqName, scope: GlobalSearchScope): Collection<String> {
val facadeFilesInPackage = KotlinFileFacadeClassByPackageIndex.getInstance().get(packageFqName.asString(), project, scope)
return facadeFilesInPackage.map { it.javaFileFacadeFqName.shortName().asString() }