Completion to complete non-imported classes on the first invocation

#KT-8527 Fixed
This commit is contained in:
Valentin Kipyatkov
2016-04-25 17:29:17 +03:00
parent f0dd70d94c
commit deb75b3f18
16 changed files with 88 additions and 49 deletions
@@ -67,8 +67,7 @@ class ImportableFqNameClassifier(private val file: KtFile) {
}
return when {
JavaToKotlinClassMap.INSTANCE.mapPlatformClass(fqName, DefaultBuiltIns.Instance).isNotEmpty()
|| JavaAnnotationMapper.javaToKotlinNameMap[fqName] != null -> Classification.notToBeUsedInKotlin
isJavaClassNotToBeUsedInKotlin(fqName) -> Classification.notToBeUsedInKotlin
fqName.parent() == file.packageFqName -> Classification.fromCurrentPackage
@@ -87,4 +86,7 @@ class ImportableFqNameClassifier(private val file: KtFile) {
private fun isImportedWithPreciseImport(name: FqName) = name in preciseImports
private fun isImportedWithAllUnderImport(name: FqName) = name.parent() in allUnderImports
private fun hasPreciseImportFromPackage(packageName: FqName) = packageName in preciseImportPackages
}
}
fun isJavaClassNotToBeUsedInKotlin(fqName: FqName): Boolean
= JavaToKotlinClassMap.INSTANCE.mapPlatformClass(fqName, DefaultBuiltIns.Instance).isNotEmpty() || JavaAnnotationMapper.javaToKotlinNameMap[fqName] != null