To avoid obtaining stub-based types with no underlying AST node, create class types from reference elements manually
This commit is contained in:
@@ -171,8 +171,8 @@ class Converter private constructor(
|
|||||||
val annotations = convertAnnotations(psiClass)
|
val annotations = convertAnnotations(psiClass)
|
||||||
var modifiers = convertModifiers(psiClass, false)
|
var modifiers = convertModifiers(psiClass, false)
|
||||||
val typeParameters = convertTypeParameterList(psiClass.typeParameterList)
|
val typeParameters = convertTypeParameterList(psiClass.typeParameterList)
|
||||||
val extendsTypes = convertToNotNullableTypes(psiClass.extendsListTypes)
|
val extendsTypes = convertToNotNullableTypes(psiClass.extendsList)
|
||||||
val implementsTypes = convertToNotNullableTypes(psiClass.implementsListTypes)
|
val implementsTypes = convertToNotNullableTypes(psiClass.implementsList)
|
||||||
val name = psiClass.declarationIdentifier()
|
val name = psiClass.declarationIdentifier()
|
||||||
|
|
||||||
val converted = when {
|
val converted = when {
|
||||||
@@ -703,8 +703,11 @@ class Converter private constructor(
|
|||||||
fun convertTypeElement(element: PsiTypeElement?, nullability: Nullability): Type
|
fun convertTypeElement(element: PsiTypeElement?, nullability: Nullability): Type
|
||||||
= (if (element == null) ErrorType() else typeConverter.convertType(element.type, nullability)).assignPrototype(element)
|
= (if (element == null) ErrorType() else typeConverter.convertType(element.type, nullability)).assignPrototype(element)
|
||||||
|
|
||||||
private fun convertToNotNullableTypes(types: Array<out PsiType?>): List<Type>
|
private fun convertToNotNullableTypes(refs: PsiReferenceList?): List<Type> {
|
||||||
= types.map { typeConverter.convertType(it, Nullability.NotNull) }
|
if (refs == null) return emptyList()
|
||||||
|
val factory = JavaPsiFacade.getInstance(project).elementFactory
|
||||||
|
return refs.referenceElements.map { ref -> typeConverter.convertType(factory.createType(ref), Nullability.NotNull) }
|
||||||
|
}
|
||||||
|
|
||||||
fun convertParameter(
|
fun convertParameter(
|
||||||
parameter: PsiParameter,
|
parameter: PsiParameter,
|
||||||
|
|||||||
Reference in New Issue
Block a user