From 564d179cfb924fce955e1ba9c93cc0363436f6d3 Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Wed, 25 May 2022 12:40:25 +0200 Subject: [PATCH] FE10 analysis API: fix flexible type pretty-printing --- .../descriptors/utils/KtFe10TypeRenderer.kt | 5 +++-- ...ava_util_Collection.descriptors.pretty.txt | 20 +++++++++---------- .../classFromJdk.descriptors.pretty.txt | 2 +- ...tructorViaTypeAlias.descriptors.pretty.txt | 2 +- 4 files changed, 15 insertions(+), 14 deletions(-) diff --git a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/utils/KtFe10TypeRenderer.kt b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/utils/KtFe10TypeRenderer.kt index 569189c73ab..591ff29a9e2 100644 --- a/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/utils/KtFe10TypeRenderer.kt +++ b/analysis/analysis-api-fe10/src/org/jetbrains/kotlin/analysis/api/descriptors/utils/KtFe10TypeRenderer.kt @@ -11,6 +11,7 @@ import org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.bas import org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.base.getKtNamedAnnotationArguments import org.jetbrains.kotlin.analysis.api.descriptors.symbols.descriptorBased.base.maybeLocalClassId import org.jetbrains.kotlin.analysis.utils.printer.PrettyPrinter +import org.jetbrains.kotlin.analysis.utils.printer.prettyPrint import org.jetbrains.kotlin.builtins.* import org.jetbrains.kotlin.builtins.functions.FunctionClassDescriptor import org.jetbrains.kotlin.descriptors.ClassifierDescriptorWithTypeParameters @@ -136,8 +137,8 @@ internal class KtFe10TypeRenderer(private val options: KtTypeRendererOptions, pr return } - val lowerBoundText = buildString { renderType(type.lowerBound) } - val upperBoundText = buildString { renderType(type.upperBound) } + val lowerBoundText = prettyPrint { renderType(type.lowerBound) } + val upperBoundText = prettyPrint { renderType(type.upperBound) } append(DescriptorRenderer.COMPACT.renderFlexibleType(lowerBoundText, upperBoundText, type.builtIns)) } diff --git a/analysis/analysis-api/testData/scopes/substitutionOverridesUnwrapping/Implement_java_util_Collection.descriptors.pretty.txt b/analysis/analysis-api/testData/scopes/substitutionOverridesUnwrapping/Implement_java_util_Collection.descriptors.pretty.txt index 74a9b6d9f94..d2f6e95b6a2 100644 --- a/analysis/analysis-api/testData/scopes/substitutionOverridesUnwrapping/Implement_java_util_Collection.descriptors.pretty.txt +++ b/analysis/analysis-api/testData/scopes/substitutionOverridesUnwrapping/Implement_java_util_Collection.descriptors.pretty.txt @@ -1,4 +1,4 @@ -override operator fun iterator(): kotlin.collections.MutableIterator +override operator fun iterator(): kotlin.collections.MutableIterator open operator fun equals(other: kotlin.Any?): kotlin.Boolean @@ -10,22 +10,22 @@ fun size(): kotlin.Int fun isEmpty(): kotlin.Boolean -operator fun contains(p0: kotlin.Anykotlin.Any?!): kotlin.Boolean +operator fun contains(p0: kotlin.Any!): kotlin.Boolean -fun toArray(): kotlin.Arraykotlin.Array?! +fun toArray(): kotlin.Array<(out) kotlin.Any!>! -fun toArray(p0: kotlin.Arraykotlin.Array?!): kotlin.Arraykotlin.Array?! +fun toArray(p0: kotlin.Array<(out) T!>!): kotlin.Array<(out) T!>! -fun add(p0: EE?!): kotlin.Boolean +fun add(p0: E!): kotlin.Boolean -fun remove(p0: kotlin.Anykotlin.Any?!): kotlin.Boolean +fun remove(p0: kotlin.Any!): kotlin.Boolean -fun containsAll(p0: kotlin.collections.MutableCollection<*>kotlin.collections.Collection<*>?!): kotlin.Boolean +fun containsAll(p0: kotlin.collections.(Mutable)Collection<*>!): kotlin.Boolean -fun addAll(p0: kotlin.collections.MutableCollectionkotlin.collections.Collection?!): kotlin.Boolean +fun addAll(p0: (kotlin.collections.MutableCollection..kotlin.collections.Collection?)): kotlin.Boolean -fun removeAll(p0: kotlin.collections.MutableCollection<*>kotlin.collections.Collection<*>?!): kotlin.Boolean +fun removeAll(p0: kotlin.collections.(Mutable)Collection<*>!): kotlin.Boolean -fun retainAll(p0: kotlin.collections.MutableCollection<*>kotlin.collections.Collection<*>?!): kotlin.Boolean +fun retainAll(p0: kotlin.collections.(Mutable)Collection<*>!): kotlin.Boolean fun clear() \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/symbolByFqName/classFromJdk.descriptors.pretty.txt b/analysis/analysis-api/testData/symbols/symbolByFqName/classFromJdk.descriptors.pretty.txt index a043afad1f4..ca1f6abaacc 100644 --- a/analysis/analysis-api/testData/symbols/symbolByFqName/classFromJdk.descriptors.pretty.txt +++ b/analysis/analysis-api/testData/symbols/symbolByFqName/classFromJdk.descriptors.pretty.txt @@ -1 +1 @@ -class String : java.io.Serializable, kotlin.Comparable, kotlin.CharSequence \ No newline at end of file +class String : java.io.Serializable, kotlin.Comparable, kotlin.CharSequence \ No newline at end of file diff --git a/analysis/analysis-api/testData/symbols/symbolByReference/constructorViaTypeAlias.descriptors.pretty.txt b/analysis/analysis-api/testData/symbols/symbolByReference/constructorViaTypeAlias.descriptors.pretty.txt index 8afd0582100..8a99c5e60e9 100644 --- a/analysis/analysis-api/testData/symbols/symbolByReference/constructorViaTypeAlias.descriptors.pretty.txt +++ b/analysis/analysis-api/testData/symbols/symbolByReference/constructorViaTypeAlias.descriptors.pretty.txt @@ -1 +1 @@ -constructor(c: kotlin.collections.MutableCollectionkotlin.collections.Collection?!) \ No newline at end of file +constructor(c: (kotlin.collections.MutableCollection..kotlin.collections.Collection?)) \ No newline at end of file