New J2K: Fix types for kotlin properties
This commit is contained in:
committed by
Ilya Kirillov
parent
667ead10a3
commit
410000f94c
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user