New J2K: Fix types for kotlin properties

This commit is contained in:
Ilya Kirillov
2018-12-19 15:47:27 +03:00
committed by Ilya Kirillov
parent 667ead10a3
commit 410000f94c
2 changed files with 8 additions and 1 deletions
@@ -10,8 +10,10 @@ import org.jetbrains.kotlin.j2k.conversions.resolveFqName
import org.jetbrains.kotlin.j2k.tree.*
import org.jetbrains.kotlin.j2k.tree.impl.*
import org.jetbrains.kotlin.name.ClassId
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.psi.KtClassOrObject
import org.jetbrains.kotlin.psi.KtNamedFunction
import org.jetbrains.kotlin.psi.KtParameter
import org.jetbrains.kotlin.utils.addToStdlib.safeAs
import org.jetbrains.kotlin.psi.KtProperty
@@ -35,6 +37,7 @@ class JKSymbolProvider {
is PsiField -> JKMultiverseFieldSymbol(psi, this)
is KtNamedFunction -> JKMultiverseFunctionSymbol(psi, this)
is KtProperty -> JKMultiversePropertySymbol(psi, this)
is KtParameter -> JKMultiversePropertySymbol(psi, this)
is PsiLocalVariable -> JKMultiverseFieldSymbol(psi, this)
else -> TODO(psi::class.toString())
}
@@ -94,6 +97,10 @@ class JKSymbolProvider {
internal inline fun <reified T : JKSymbol> provideByFqName(fqName: String, context: PsiElement = symbolsByPsi.keys.first()): T =
provideByFqName(ClassId.fromString(fqName), context)
internal inline fun <reified T : JKSymbol> provideByFqName(fqName: FqName, context: PsiElement = symbolsByPsi.keys.first()): T =
provideByFqName(fqName.asString(), context)
private inner class ElementVisitor : JavaElementVisitor() {
override fun visitClass(aClass: PsiClass) {
provideUniverseSymbol(aClass)
@@ -93,7 +93,7 @@ class TypeMappingConversion(val context: ConversionContext) : RecursiveApplicabl
return when (parent) {
is JKJavaMethod -> typeFlavorCalculator.methodNullability(parent.psi as PsiMethod)
is JKJavaField -> typeFlavorCalculator.variableNullability(parent.psi as PsiVariable)
is JKLocalVariable -> typeFlavorCalculator.variableNullability(parent.psi as PsiVariable)
is JKVariable -> typeFlavorCalculator.variableNullability(parent.psi as PsiVariable)
else -> Nullability.Default
}
}