Implement FIR loading for libraries (classes, supertypes, parameters)

Members aren't implemented yet
Related to KT-28788, KT-28918
This commit is contained in:
Mikhail Glukhikh
2019-02-11 11:04:59 +03:00
parent 0bef9f2afe
commit 4ea3df53cc
14 changed files with 137 additions and 139 deletions
@@ -5,30 +5,13 @@
package org.jetbrains.kotlin.fir.java.symbols
import org.jetbrains.kotlin.descriptors.ClassKind
import org.jetbrains.kotlin.fir.symbols.ConeClassSymbol
import org.jetbrains.kotlin.fir.symbols.ConeTypeParameterSymbol
import org.jetbrains.kotlin.fir.types.ConeClassErrorType
import org.jetbrains.kotlin.fir.types.ConeClassLikeType
import org.jetbrains.kotlin.load.java.structure.JavaClass
import org.jetbrains.kotlin.load.java.structure.classId
import org.jetbrains.kotlin.name.ClassId
class JavaClassSymbol(javaClass: JavaClass) : ConeClassSymbol {
override val classId: ClassId = javaClass.classId ?: error("!")
override val typeParameters: List<ConeTypeParameterSymbol> =
javaClass.typeParameters.map { JavaTypeParameterSymbol(it.name) }
override val kind: ClassKind = when {
javaClass.isEnum -> ClassKind.ENUM_CLASS
javaClass.isInterface -> ClassKind.INTERFACE
javaClass.isAnnotationType -> ClassKind.ANNOTATION_CLASS
else -> ClassKind.CLASS
}
override val superTypes: List<ConeClassLikeType> =
listOf(ConeClassErrorType("Not supported: Java class supertypes"))
}