From 5e20f509b743159e6b106e6c71fa0c2f9ba9fc47 Mon Sep 17 00:00:00 2001 From: Valentin Kipyatkov Date: Mon, 16 Dec 2013 21:10:29 +0400 Subject: [PATCH] Smart completion: minor code editing --- .../jet/plugin/completion/SmartCompletion.kt | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/idea/src/org/jetbrains/jet/plugin/completion/SmartCompletion.kt b/idea/src/org/jetbrains/jet/plugin/completion/SmartCompletion.kt index 58fed65683f..ef400679902 100644 --- a/idea/src/org/jetbrains/jet/plugin/completion/SmartCompletion.kt +++ b/idea/src/org/jetbrains/jet/plugin/completion/SmartCompletion.kt @@ -80,7 +80,7 @@ fun buildSmartCompletionData(expression: JetSimpleNameExpression, resolveSession return returnType.toList() } else if (descriptor is ClassDescriptor && descriptor.getKind() == ClassKind.ENUM_ENTRY) { - return descriptor.getDefaultType().toList() + return listOf(descriptor.getDefaultType()) } else { return listOf() @@ -251,10 +251,11 @@ private fun staticMembers(context: JetExpression, expectedType: JetType, resolve val descriptors = ArrayList() - val isSuitableCallable: (DeclarationDescriptor) -> Boolean = { it is CallableDescriptor && it.getReturnType()?.let { JetTypeChecker.INSTANCE.isSubtypeOf(it, expectedType) } ?: false } + val isSuitableCallable: (DeclarationDescriptor) -> Boolean = { + it is CallableDescriptor && it.getReturnType()?.let { JetTypeChecker.INSTANCE.isSubtypeOf(it, expectedType) } ?: false + } if (classDescriptor is JavaClassDescriptor) { - //TODO: shouldn't we have special util to obtain this pseudo package? val container = classDescriptor.getContainingDeclaration() //TODO: nested classes! if (container is NamespaceDescriptor) { val pseudoPackage: NamespaceDescriptor? = container.getMemberScope().getNamespace(classDescriptor.getName()) @@ -271,7 +272,7 @@ private fun staticMembers(context: JetExpression, expectedType: JetType, resolve if (classDescriptor.getKind() == ClassKind.ENUM_CLASS) { classDescriptor.getDefaultType().getMemberScope().getAllDescriptors() - .filterTo(descriptors) { it is ClassDescriptor && it.getKind() == ClassKind.ENUM_ENTRY && JetTypeChecker.INSTANCE.isSubtypeOf(it.getDefaultType(), expectedType) } + .filterTo(descriptors) { it is ClassDescriptor && it.getKind() == ClassKind.ENUM_ENTRY } } return descriptors @@ -284,7 +285,10 @@ private fun staticMembers(context: JetExpression, expectedType: JetType, resolve .withIcon(presentation.getIcon()) .withStrikeoutness(presentation.isStrikeout()) .withTailText(" (" + DescriptorUtils.getFQName(classDescriptor.getContainingDeclaration()) + ")") - .withTypeText(if (presentation.getTypeText() != "") presentation.getTypeText() else DescriptorRenderer.TEXT.renderType(classDescriptor.getDefaultType())) + .withTypeText(if (!presentation.getTypeText().isNullOrEmpty()) + presentation.getTypeText() + else + DescriptorRenderer.TEXT.renderType(classDescriptor.getDefaultType())) if (it is FunctionDescriptor) { builder = builder.withPresentableText(builder.getLookupString() + "()") val caretPosition = if (it.getValueParameters().empty) CaretPosition.AFTER_BRACKETS else CaretPosition.IN_BRACKETS @@ -300,4 +304,6 @@ private fun MutableCollection.addAll(iterator: Iterator) { for (item in iterator) { add(item) } -} \ No newline at end of file +} + +private fun String?.isNullOrEmpty() = this == null || this.isEmpty() \ No newline at end of file