Do not show synthesized parameter names in Parameter Info

This commit is contained in:
Valentin Kipyatkov
2015-10-06 22:33:09 +03:00
parent 6e8be8d5af
commit b5ee84075a
3 changed files with 28 additions and 6 deletions
@@ -168,6 +168,8 @@ abstract class KotlinParameterInfoWithCallHandlerBase<TArgumentList : JetElement
usedParameterIndices.add(substitutedDescriptor.valueParameters.lastIndex)
}
val includeParameterNames = !substitutedDescriptor.hasSynthesizedParameterNames()
fun appendParameter(parameter: ValueParameterDescriptor) {
if (length() > 0) {
append(", ")
@@ -178,7 +180,7 @@ abstract class KotlinParameterInfoWithCallHandlerBase<TArgumentList : JetElement
boldStartOffset = length()
}
append(renderParameter(parameter, namedMode, project))
append(renderParameter(parameter, includeParameterNames, namedMode, project))
if (highlightParameter) {
boldEndOffset = length()
@@ -230,15 +232,19 @@ abstract class KotlinParameterInfoWithCallHandlerBase<TArgumentList : JetElement
override fun getParametersForLookup(item: LookupElement, context: ParameterInfoContext) = emptyArray<Any>()
override fun getParametersForDocumentation(item: FunctionDescriptor, context: ParameterInfoContext) = emptyArray<Any>()
protected fun renderParameter(parameter: ValueParameterDescriptor, named: Boolean, project: Project): String {
private fun renderParameter(parameter: ValueParameterDescriptor, includeName: Boolean, named: Boolean, project: Project): String {
return StringBuilder {
if (named) append("[")
if (parameter.varargElementType != null) {
append("vararg ")
}
append(parameter.name)
append(": ")
if (includeName) {
append(parameter.name)
append(": ")
}
append(DescriptorRenderer.SHORT_NAMES_IN_TYPES.renderType(parameterTypeToRender(parameter)))
if (parameter.hasDefaultValue()) {
@@ -279,7 +285,7 @@ abstract class KotlinParameterInfoWithCallHandlerBase<TArgumentList : JetElement
return type
}
protected fun isResolvedToDescriptor(
private fun isResolvedToDescriptor(
call: Call,
functionDescriptor: FunctionDescriptor,
bindingContext: BindingContext
@@ -288,7 +294,7 @@ abstract class KotlinParameterInfoWithCallHandlerBase<TArgumentList : JetElement
return target != null && descriptorsEqual(target, functionDescriptor)
}
protected data class SignatureInfo(
private data class SignatureInfo(
val substitutedDescriptor: FunctionDescriptor,
val argumentToParameter: (ValueArgument) -> ValueParameterDescriptor?,
val highlightParameterIndex: Int?,
@@ -0,0 +1,10 @@
import java.io.File
val file = File(<caret>)
/*
Text: (<highlight>File!</highlight>, String!), Disabled: false, Strikeout: false, Green: false
Text: (<highlight>String!</highlight>), Disabled: false, Strikeout: false, Green: false
Text: (<highlight>String!</highlight>, String!), Disabled: false, Strikeout: false, Green: false
Text: (<highlight>URI!</highlight>), Disabled: false, Strikeout: false, Green: false
*/
@@ -160,6 +160,12 @@ public class ParameterInfoTestGenerated extends AbstractParameterInfoTest {
doTest(fileName);
}
@TestMetadata("NoSynthesizedParameterNames.kt")
public void testNoSynthesizedParameterNames() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/testData/parameterInfo/functionCall/NoSynthesizedParameterNames.kt");
doTest(fileName);
}
@TestMetadata("NotAccessible.kt")
public void testNotAccessible() throws Exception {
String fileName = JetTestUtils.navigationMetadata("idea/testData/parameterInfo/functionCall/NotAccessible.kt");