FIR IDE: add option to render type without type args
This is useful for rendering type annotation for `super`, which does not require type arguments.
This commit is contained in:
committed by
Ilya Kirillov
parent
bdc71a3281
commit
603655d63f
+2
-2
@@ -236,7 +236,7 @@ internal class ConeTypeIdeRenderer(
|
|||||||
|
|
||||||
if (classSymbolToRender !is FirRegularClassSymbol) {
|
if (classSymbolToRender !is FirRegularClassSymbol) {
|
||||||
append(classSymbolToRender.classId.shortClassName)
|
append(classSymbolToRender.classId.shortClassName)
|
||||||
if (type.typeArguments.any()) {
|
if (options.renderTypeArguments && type.typeArguments.any()) {
|
||||||
type.typeArguments.joinTo(this, ", ", prefix = "<", postfix = ">") {
|
type.typeArguments.joinTo(this, ", ", prefix = "<", postfix = ">") {
|
||||||
renderTypeProjection(it)
|
renderTypeProjection(it)
|
||||||
}
|
}
|
||||||
@@ -263,7 +263,7 @@ internal class ConeTypeIdeRenderer(
|
|||||||
if (index != 0) append(".")
|
if (index != 0) append(".")
|
||||||
append(currentClass.name)
|
append(currentClass.name)
|
||||||
|
|
||||||
if (needToRenderTypeParameters(index)) {
|
if (options.renderTypeArguments && needToRenderTypeParameters(index)) {
|
||||||
val typeParametersCount = currentClass.typeParameters.count { it is FirTypeParameter }
|
val typeParametersCount = currentClass.typeParameters.count { it is FirTypeParameter }
|
||||||
val begin = typeParametersLeft - typeParametersCount
|
val begin = typeParametersLeft - typeParametersCount
|
||||||
val end = typeParametersLeft
|
val end = typeParametersLeft
|
||||||
|
|||||||
+5
@@ -31,6 +31,11 @@ public data class KtTypeRendererOptions(
|
|||||||
* When `false` will render as "ERROR_TYPE <symbol not found for UnresolvedQualifier>"
|
* When `false` will render as "ERROR_TYPE <symbol not found for UnresolvedQualifier>"
|
||||||
*/
|
*/
|
||||||
public val renderUnresolvedTypeAsResolved: Boolean = true,
|
public val renderUnresolvedTypeAsResolved: Boolean = true,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether to render type arguments.
|
||||||
|
*/
|
||||||
|
public val renderTypeArguments: Boolean = true
|
||||||
) {
|
) {
|
||||||
public companion object {
|
public companion object {
|
||||||
public val DEFAULT: KtTypeRendererOptions = KtTypeRendererOptions()
|
public val DEFAULT: KtTypeRendererOptions = KtTypeRendererOptions()
|
||||||
|
|||||||
Reference in New Issue
Block a user