Don't create light classes for platform declarations
#KT-15137 Fixed
This commit is contained in:
+3
-2
@@ -20,6 +20,7 @@ import com.intellij.openapi.util.io.FileUtil
|
||||
import com.intellij.openapi.vfs.VirtualFile
|
||||
import org.jetbrains.annotations.TestOnly
|
||||
import org.jetbrains.kotlin.idea.KotlinFileType
|
||||
import org.jetbrains.kotlin.lexer.KtTokens
|
||||
import org.jetbrains.kotlin.load.java.JvmAbi
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
@@ -69,10 +70,10 @@ object PackagePartClassUtils {
|
||||
|
||||
@JvmStatic fun fileHasTopLevelCallables(file: KtFile): Boolean =
|
||||
file.declarations.any {
|
||||
it is KtProperty ||
|
||||
(it is KtProperty ||
|
||||
it is KtNamedFunction ||
|
||||
it is KtScript ||
|
||||
it is KtTypeAlias
|
||||
it is KtTypeAlias) && !it.hasModifier(KtTokens.PLATFORM_KEYWORD)
|
||||
}
|
||||
|
||||
@JvmStatic fun getFilePartShortName(fileName: String): String =
|
||||
|
||||
+2
-1
@@ -46,6 +46,7 @@ import org.jetbrains.kotlin.asJava.elements.KtLightPsiReferenceList
|
||||
import org.jetbrains.kotlin.asJava.hasInterfaceDefaultImpls
|
||||
import org.jetbrains.kotlin.builtins.KotlinBuiltIns
|
||||
import org.jetbrains.kotlin.descriptors.ClassDescriptor
|
||||
import org.jetbrains.kotlin.lexer.KtTokens
|
||||
import org.jetbrains.kotlin.lexer.KtTokens.*
|
||||
import org.jetbrains.kotlin.load.java.structure.LightClassOriginKind
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
@@ -351,7 +352,7 @@ abstract class KtLightClassForSourceDeclaration(protected val classOrObject: KtC
|
||||
|
||||
|
||||
fun create(classOrObject: KtClassOrObject): KtLightClassForSourceDeclaration? {
|
||||
if (classOrObject.getContainingKtFile().isScript) {
|
||||
if (classOrObject.getContainingKtFile().isScript || classOrObject.hasModifier(KtTokens.PLATFORM_KEYWORD)) {
|
||||
return null
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user