diff --git a/analysis/decompiled/decompiler-to-file-stubs/testData/clsFileStubBuilder/TypeAliases/TypeAliases.txt b/analysis/decompiled/decompiler-to-file-stubs/testData/clsFileStubBuilder/TypeAliases/TypeAliases.txt index 316a462d3ae..1c74cfb4ce9 100644 --- a/analysis/decompiled/decompiler-to-file-stubs/testData/clsFileStubBuilder/TypeAliases/TypeAliases.txt +++ b/analysis/decompiled/decompiler-to-file-stubs/testData/clsFileStubBuilder/TypeAliases/TypeAliases.txt @@ -13,55 +13,82 @@ PsiJetFileStubImpl[package=test] VALUE_PARAMETER_LIST VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=a] TYPE_REFERENCE - USER_TYPE - USER_TYPE - REFERENCE_EXPRESSION[referencedName=dependency] - REFERENCE_EXPRESSION[referencedName=A] + FUNCTION_TYPE + VALUE_PARAMETER_LIST + TYPE_REFERENCE + USER_TYPE + USER_TYPE + REFERENCE_EXPRESSION[referencedName=kotlin] + REFERENCE_EXPRESSION[referencedName=Unit] VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=b] TYPE_REFERENCE - USER_TYPE - USER_TYPE + FUNCTION_TYPE + VALUE_PARAMETER_LIST + VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=null] + TYPE_REFERENCE + FUNCTION_TYPE + VALUE_PARAMETER_LIST + TYPE_REFERENCE + USER_TYPE + USER_TYPE + REFERENCE_EXPRESSION[referencedName=kotlin] + REFERENCE_EXPRESSION[referencedName=Unit] + TYPE_REFERENCE USER_TYPE - REFERENCE_EXPRESSION[referencedName=test] - REFERENCE_EXPRESSION[referencedName=TypeAliases] - REFERENCE_EXPRESSION[referencedName=B] + USER_TYPE + REFERENCE_EXPRESSION[referencedName=kotlin] + REFERENCE_EXPRESSION[referencedName=Unit] VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=ta] TYPE_REFERENCE USER_TYPE USER_TYPE USER_TYPE - USER_TYPE - REFERENCE_EXPRESSION[referencedName=test] - REFERENCE_EXPRESSION[referencedName=Outer] - TYPE_ARGUMENT_LIST - TYPE_PROJECTION[projectionKind=NONE] - TYPE_REFERENCE - USER_TYPE - USER_TYPE - REFERENCE_EXPRESSION[referencedName=kotlin] - REFERENCE_EXPRESSION[referencedName=String] - TYPE_PROJECTION[projectionKind=NONE] - TYPE_REFERENCE - USER_TYPE - USER_TYPE - REFERENCE_EXPRESSION[referencedName=kotlin] - REFERENCE_EXPRESSION[referencedName=Double] - REFERENCE_EXPRESSION[referencedName=Inner] - TYPE_ARGUMENT_LIST - TYPE_PROJECTION[projectionKind=NONE] - TYPE_REFERENCE - USER_TYPE - USER_TYPE - REFERENCE_EXPRESSION[referencedName=kotlin] - REFERENCE_EXPRESSION[referencedName=Int] - REFERENCE_EXPRESSION[referencedName=TA] + REFERENCE_EXPRESSION[referencedName=kotlin] + REFERENCE_EXPRESSION[referencedName=collections] + REFERENCE_EXPRESSION[referencedName=Map] TYPE_ARGUMENT_LIST TYPE_PROJECTION[projectionKind=NONE] TYPE_REFERENCE USER_TYPE USER_TYPE - REFERENCE_EXPRESSION[referencedName=kotlin] - REFERENCE_EXPRESSION[referencedName=Boolean] + USER_TYPE + REFERENCE_EXPRESSION[referencedName=kotlin] + REFERENCE_EXPRESSION[referencedName=collections] + REFERENCE_EXPRESSION[referencedName=Map] + TYPE_ARGUMENT_LIST + TYPE_PROJECTION[projectionKind=NONE] + TYPE_REFERENCE + USER_TYPE + USER_TYPE + REFERENCE_EXPRESSION[referencedName=kotlin] + REFERENCE_EXPRESSION[referencedName=String] + TYPE_PROJECTION[projectionKind=NONE] + TYPE_REFERENCE + USER_TYPE + USER_TYPE + REFERENCE_EXPRESSION[referencedName=kotlin] + REFERENCE_EXPRESSION[referencedName=Double] + TYPE_PROJECTION[projectionKind=NONE] + TYPE_REFERENCE + USER_TYPE + USER_TYPE + USER_TYPE + REFERENCE_EXPRESSION[referencedName=kotlin] + REFERENCE_EXPRESSION[referencedName=collections] + REFERENCE_EXPRESSION[referencedName=Map] + TYPE_ARGUMENT_LIST + TYPE_PROJECTION[projectionKind=NONE] + TYPE_REFERENCE + USER_TYPE + USER_TYPE + REFERENCE_EXPRESSION[referencedName=kotlin] + REFERENCE_EXPRESSION[referencedName=Int] + TYPE_PROJECTION[projectionKind=NONE] + TYPE_REFERENCE + USER_TYPE + USER_TYPE + REFERENCE_EXPRESSION[referencedName=kotlin] + REFERENCE_EXPRESSION[referencedName=Boolean] TYPE_REFERENCE USER_TYPE USER_TYPE @@ -88,8 +115,8 @@ PsiJetFileStubImpl[package=test] TYPE_REFERENCE USER_TYPE USER_TYPE - REFERENCE_EXPRESSION[referencedName=test] - REFERENCE_EXPRESSION[referencedName=Z] + REFERENCE_EXPRESSION[referencedName=dependency] + REFERENCE_EXPRESSION[referencedName=SomeClass] TYPE_REFERENCE USER_TYPE USER_TYPE diff --git a/analysis/decompiled/decompiler-to-psi/src/org/jetbrains/kotlin/analysis/decompiler/psi/text/buildDecompiledText.kt b/analysis/decompiled/decompiler-to-psi/src/org/jetbrains/kotlin/analysis/decompiler/psi/text/buildDecompiledText.kt index 56fb4f0436f..fd5f21fa7cb 100644 --- a/analysis/decompiled/decompiler-to-psi/src/org/jetbrains/kotlin/analysis/decompiler/psi/text/buildDecompiledText.kt +++ b/analysis/decompiled/decompiler-to-psi/src/org/jetbrains/kotlin/analysis/decompiler/psi/text/buildDecompiledText.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.analysis.decompiler.psi.text -import com.intellij.openapi.util.TextRange import org.jetbrains.kotlin.analysis.decompiler.stub.COMPILED_DEFAULT_INITIALIZER import org.jetbrains.kotlin.analysis.decompiler.stub.COMPILED_DEFAULT_PARAMETER_VALUE import org.jetbrains.kotlin.builtins.StandardNames @@ -20,7 +19,6 @@ import org.jetbrains.kotlin.renderer.DescriptorRendererOptions import org.jetbrains.kotlin.renderer.render import org.jetbrains.kotlin.resolve.DataClassDescriptorResolver import org.jetbrains.kotlin.resolve.DescriptorUtils.isEnumEntry -import org.jetbrains.kotlin.resolve.constants.* import org.jetbrains.kotlin.resolve.descriptorUtil.secondaryConstructors import org.jetbrains.kotlin.types.isFlexible import org.jetbrains.kotlin.util.OperatorNameConventions @@ -42,6 +40,7 @@ fun DescriptorRendererOptions.defaultDecompilerRendererOptions() { defaultParameterValueRenderer = { _ -> COMPILED_DEFAULT_PARAMETER_VALUE } includePropertyConstant = true propertyConstantRenderer = { _ -> COMPILED_DEFAULT_INITIALIZER } + renderTypeExpansions = true } internal fun CallableMemberDescriptor.mustNotBeWrittenToDecompiledText(): Boolean { diff --git a/analysis/decompiled/decompiler-to-stubs/src/org/jetbrains/kotlin/analysis/decompiler/stub/TypeClsStubBuilder.kt b/analysis/decompiled/decompiler-to-stubs/src/org/jetbrains/kotlin/analysis/decompiler/stub/TypeClsStubBuilder.kt index 9438d565136..725bb38c213 100644 --- a/analysis/decompiled/decompiler-to-stubs/src/org/jetbrains/kotlin/analysis/decompiler/stub/TypeClsStubBuilder.kt +++ b/analysis/decompiled/decompiler-to-stubs/src/org/jetbrains/kotlin/analysis/decompiler/stub/TypeClsStubBuilder.kt @@ -40,11 +40,7 @@ class TypeClsStubBuilder(private val c: ClsStubBuilderContext) { additionalAnnotations: () -> List = { emptyList() }, loadTypeAnnotations: (Type) -> List = { c.components.annotationLoader.loadTypeAnnotations(it, c.nameResolver) } ) { - val abbreviatedType = type.abbreviatedType(c.typeTable) - if (abbreviatedType != null) { - return createTypeReferenceStub(parent, abbreviatedType, additionalAnnotations) - } - + // TODO: Return abbreviated type aliases, see KT-58542 val typeReference = KotlinPlaceHolderStubImpl(parent, KtStubElementTypes.TYPE_REFERENCE) val allAnnotationsInType = loadTypeAnnotations(type)