[AA] Deserialize reference to typealias from stubs as fully expanded
#KT-58335
This commit is contained in:
committed by
Space Team
parent
80d68fc908
commit
3c22b1ce53
analysis/decompiled/decompiler-to-file-stubs/testData/clsFileStubBuilder/TypeAliases/TypeAliases.txt
Vendored
+65
-38
@@ -13,55 +13,82 @@ PsiJetFileStubImpl[package=test]
|
|||||||
VALUE_PARAMETER_LIST
|
VALUE_PARAMETER_LIST
|
||||||
VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=a]
|
VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=a]
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
FUNCTION_TYPE
|
||||||
USER_TYPE
|
VALUE_PARAMETER_LIST
|
||||||
REFERENCE_EXPRESSION[referencedName=dependency]
|
TYPE_REFERENCE
|
||||||
REFERENCE_EXPRESSION[referencedName=A]
|
USER_TYPE
|
||||||
|
USER_TYPE
|
||||||
|
REFERENCE_EXPRESSION[referencedName=kotlin]
|
||||||
|
REFERENCE_EXPRESSION[referencedName=Unit]
|
||||||
VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=b]
|
VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=b]
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
FUNCTION_TYPE
|
||||||
USER_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
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION[referencedName=test]
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION[referencedName=TypeAliases]
|
REFERENCE_EXPRESSION[referencedName=kotlin]
|
||||||
REFERENCE_EXPRESSION[referencedName=B]
|
REFERENCE_EXPRESSION[referencedName=Unit]
|
||||||
VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=ta]
|
VALUE_PARAMETER[fqName=null, hasDefaultValue=false, hasValOrVar=false, isMutable=false, name=ta]
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
USER_TYPE
|
REFERENCE_EXPRESSION[referencedName=kotlin]
|
||||||
REFERENCE_EXPRESSION[referencedName=test]
|
REFERENCE_EXPRESSION[referencedName=collections]
|
||||||
REFERENCE_EXPRESSION[referencedName=Outer]
|
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]
|
|
||||||
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]
|
|
||||||
TYPE_ARGUMENT_LIST
|
TYPE_ARGUMENT_LIST
|
||||||
TYPE_PROJECTION[projectionKind=NONE]
|
TYPE_PROJECTION[projectionKind=NONE]
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION[referencedName=kotlin]
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION[referencedName=Boolean]
|
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
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
@@ -88,8 +115,8 @@ PsiJetFileStubImpl[package=test]
|
|||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
REFERENCE_EXPRESSION[referencedName=test]
|
REFERENCE_EXPRESSION[referencedName=dependency]
|
||||||
REFERENCE_EXPRESSION[referencedName=Z]
|
REFERENCE_EXPRESSION[referencedName=SomeClass]
|
||||||
TYPE_REFERENCE
|
TYPE_REFERENCE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
USER_TYPE
|
USER_TYPE
|
||||||
|
|||||||
+1
-2
@@ -5,7 +5,6 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.analysis.decompiler.psi.text
|
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_INITIALIZER
|
||||||
import org.jetbrains.kotlin.analysis.decompiler.stub.COMPILED_DEFAULT_PARAMETER_VALUE
|
import org.jetbrains.kotlin.analysis.decompiler.stub.COMPILED_DEFAULT_PARAMETER_VALUE
|
||||||
import org.jetbrains.kotlin.builtins.StandardNames
|
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.renderer.render
|
||||||
import org.jetbrains.kotlin.resolve.DataClassDescriptorResolver
|
import org.jetbrains.kotlin.resolve.DataClassDescriptorResolver
|
||||||
import org.jetbrains.kotlin.resolve.DescriptorUtils.isEnumEntry
|
import org.jetbrains.kotlin.resolve.DescriptorUtils.isEnumEntry
|
||||||
import org.jetbrains.kotlin.resolve.constants.*
|
|
||||||
import org.jetbrains.kotlin.resolve.descriptorUtil.secondaryConstructors
|
import org.jetbrains.kotlin.resolve.descriptorUtil.secondaryConstructors
|
||||||
import org.jetbrains.kotlin.types.isFlexible
|
import org.jetbrains.kotlin.types.isFlexible
|
||||||
import org.jetbrains.kotlin.util.OperatorNameConventions
|
import org.jetbrains.kotlin.util.OperatorNameConventions
|
||||||
@@ -42,6 +40,7 @@ fun DescriptorRendererOptions.defaultDecompilerRendererOptions() {
|
|||||||
defaultParameterValueRenderer = { _ -> COMPILED_DEFAULT_PARAMETER_VALUE }
|
defaultParameterValueRenderer = { _ -> COMPILED_DEFAULT_PARAMETER_VALUE }
|
||||||
includePropertyConstant = true
|
includePropertyConstant = true
|
||||||
propertyConstantRenderer = { _ -> COMPILED_DEFAULT_INITIALIZER }
|
propertyConstantRenderer = { _ -> COMPILED_DEFAULT_INITIALIZER }
|
||||||
|
renderTypeExpansions = true
|
||||||
}
|
}
|
||||||
|
|
||||||
internal fun CallableMemberDescriptor.mustNotBeWrittenToDecompiledText(): Boolean {
|
internal fun CallableMemberDescriptor.mustNotBeWrittenToDecompiledText(): Boolean {
|
||||||
|
|||||||
+1
-5
@@ -40,11 +40,7 @@ class TypeClsStubBuilder(private val c: ClsStubBuilderContext) {
|
|||||||
additionalAnnotations: () -> List<AnnotationWithTarget> = { emptyList() },
|
additionalAnnotations: () -> List<AnnotationWithTarget> = { emptyList() },
|
||||||
loadTypeAnnotations: (Type) -> List<AnnotationWithArgs> = { c.components.annotationLoader.loadTypeAnnotations(it, c.nameResolver) }
|
loadTypeAnnotations: (Type) -> List<AnnotationWithArgs> = { c.components.annotationLoader.loadTypeAnnotations(it, c.nameResolver) }
|
||||||
) {
|
) {
|
||||||
val abbreviatedType = type.abbreviatedType(c.typeTable)
|
// TODO: Return abbreviated type aliases, see KT-58542
|
||||||
if (abbreviatedType != null) {
|
|
||||||
return createTypeReferenceStub(parent, abbreviatedType, additionalAnnotations)
|
|
||||||
}
|
|
||||||
|
|
||||||
val typeReference = KotlinPlaceHolderStubImpl<KtTypeReference>(parent, KtStubElementTypes.TYPE_REFERENCE)
|
val typeReference = KotlinPlaceHolderStubImpl<KtTypeReference>(parent, KtStubElementTypes.TYPE_REFERENCE)
|
||||||
|
|
||||||
val allAnnotationsInType = loadTypeAnnotations(type)
|
val allAnnotationsInType = loadTypeAnnotations(type)
|
||||||
|
|||||||
Reference in New Issue
Block a user