No parameter names in types for error messages
This commit is contained in:
@@ -193,6 +193,7 @@ interface DescriptorRendererOptions {
|
||||
var renderConstructorKeyword: Boolean
|
||||
var renderUnabbreviatedType: Boolean
|
||||
var includeAdditionalModifiers: Boolean
|
||||
var parameterNamesInFunctionalTypes: Boolean
|
||||
}
|
||||
|
||||
object ExcludedTypeAnnotations {
|
||||
|
||||
@@ -310,16 +310,16 @@ internal class DescriptorRendererImpl(
|
||||
|
||||
append("(")
|
||||
val parameterTypes = getValueParameterTypesFromFunctionType(type)
|
||||
val parameterNames = type.getParameterNamesFromFunctionType() ?: parameterTypes.map { SpecialNames.NO_NAME_PROVIDED }
|
||||
assert(parameterNames.size == parameterTypes.size) { "Number of names does not match number of types for $type"}
|
||||
val parameterNames = if (parameterNamesInFunctionalTypes) type.getParameterNamesFromFunctionType() else null
|
||||
assert(parameterNames == null || parameterNames.size == parameterTypes.size) { "Number of names does not match number of types for $type"}
|
||||
|
||||
for (index in parameterTypes.indices) {
|
||||
val typeProjection = parameterTypes[index]
|
||||
val name = parameterNames[index]
|
||||
val name = parameterNames?.get(index)
|
||||
|
||||
if (index > 0) append(", ")
|
||||
|
||||
if (!name.isSpecial) {
|
||||
if (name != null && !name.isSpecial) {
|
||||
append(renderName(name))
|
||||
append(": ")
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@ package org.jetbrains.kotlin.renderer
|
||||
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.types.KotlinType
|
||||
import java.lang.IllegalStateException
|
||||
import java.lang.reflect.Modifier
|
||||
import kotlin.jvm.internal.PropertyReference1Impl
|
||||
import kotlin.properties.Delegates
|
||||
@@ -103,4 +104,6 @@ internal class DescriptorRendererOptionsImpl : DescriptorRendererOptions {
|
||||
override var renderUnabbreviatedType: Boolean by property(true)
|
||||
|
||||
override var includeAdditionalModifiers: Boolean by property(true)
|
||||
|
||||
override var parameterNamesInFunctionalTypes: Boolean by property(true)
|
||||
}
|
||||
Reference in New Issue
Block a user