Replace map { ... }.filterNotNull() with mapNotNull { ... }

This commit is contained in:
Ilya Gorbunov
2015-11-13 23:43:05 +03:00
parent 5b02a59cb7
commit 32151c077e
112 changed files with 197 additions and 269 deletions
@@ -138,9 +138,9 @@ public class CodeFragmentAnalyzer(
return scopeForContextElement to dataFlowInfo
}
val importScopes = importList.imports.map {
val importScopes = importList.imports.mapNotNull {
qualifierResolver.processImportReference(it, resolveSession.moduleDescriptor, resolveSession.trace, null)
}.filterNotNull()
}
return scopeForContextElement.addImportingScopes(importScopes) to dataFlowInfo
}
@@ -185,7 +185,7 @@ public class IDELightClassGenerationSupport(private val project: Project) : Ligh
return withFakeLightClasses(lightClassForFacade, facadeFiles)
}
else {
return facadeFiles.filter { it.isCompiled }.map { createLightClassForDecompiledKotlinFile(it) }.filterNotNull()
return facadeFiles.filter { it.isCompiled }.mapNotNull { createLightClassForDecompiledKotlinFile(it) }
}
}
@@ -61,8 +61,7 @@ public object JsAnalyzerFacade : AnalyzerFacade<PlatformAnalysisParameters>() {
val providers = moduleInfo.library.getFiles(OrderRootType.CLASSES)
.flatMap { KotlinJavascriptMetadataUtils.loadMetadata(PathUtil.getLocalPath(it)!!) }
.filter { it.isAbiVersionCompatible }
.map { KotlinJavascriptSerializationUtil.createPackageFragmentProvider(moduleDescriptor, it.body, moduleContext.storageManager) }
.filterNotNull()
.mapNotNull { KotlinJavascriptSerializationUtil.createPackageFragmentProvider(moduleDescriptor, it.body, moduleContext.storageManager) }
if (providers.isNotEmpty()) {
packageFragmentProvider = CompositePackageFragmentProvider(listOf(packageFragmentProvider) + providers)
@@ -177,9 +177,9 @@ public class KotlinCacheService(val project: Project) {
return ResolutionFacadeImpl(projectFacade, file.getModuleInfo())
}
private fun findSyntheticFiles(files: Collection<KtFile>) = files.map {
private fun findSyntheticFiles(files: Collection<KtFile>) = files.mapNotNull {
if (it is KtCodeFragment) it.getContextFile() else it
}.filterNotNull().filter {
}.filter {
!ProjectRootsUtil.isInProjectSource(it)
}.toSet()
@@ -72,11 +72,10 @@ public fun KtElement.addToShorteningWaitSet(options: Options = Options.DEFAULT)
public fun performDelayedShortening(project: Project) {
project.elementsToShorten?.let { requests ->
project.elementsToShorten = null
val elements = requests.map { it.pointer.getElement() }
val options = requests.map { it.options }
val elementToOptions = (elements zip options).toMap()
val elementToOptions = requests.mapNotNull { req -> req.pointer.element?.let { it to req.options } }.toMap()
val elements = elementToOptions.keys
//TODO: this is not correct because it should not shorten deep into the elements!
ShortenReferences({ elementToOptions[it] ?: ShortenReferences.Options.DEFAULT }).process(elements.filterNotNull())
ShortenReferences({ elementToOptions[it] ?: ShortenReferences.Options.DEFAULT }).process(elements)
}
}
@@ -88,7 +88,7 @@ public fun findMultifileClassParts(file: VirtualFile, multifileClass: KotlinJvmB
val packageFqName = multifileClass.classId.packageFqName
val partsFinder = DirectoryBasedClassFinder(file.parent!!, packageFqName)
val partNames = multifileClass.classHeader.filePartClassNames ?: return emptyList()
return partNames.map {
return partNames.mapNotNull {
partsFinder.findKotlinClass(ClassId(packageFqName, Name.identifier(it.substringAfterLast('/'))))
}.filterNotNull()
}
}
@@ -244,7 +244,7 @@ fun createModifierListStubForDeclaration(
): KotlinModifierListStubImpl {
assert(flagsToTranslate.isNotEmpty())
val modifiers = flagsToTranslate.map { it.getModifiers(flags) }.filterNotNull() + additionalModifiers
val modifiers = flagsToTranslate.mapNotNull { it.getModifiers(flags) } + additionalModifiers
return createModifierListStub(parent, modifiers)!!
}
@@ -70,7 +70,7 @@ public fun buildDecompiledText(
classHeader.isCompatibleFileFacadeKind() ->
buildDecompiledText(packageFqName, ArrayList(resolver.resolveDeclarationsInFacade(classId.asSingleFqName())))
classHeader.isCompatibleClassKind() ->
buildDecompiledText(packageFqName, listOf(resolver.resolveTopLevelClass(classId)).filterNotNull())
buildDecompiledText(packageFqName, listOfNotNull(resolver.resolveTopLevelClass(classId)))
classHeader.isCompatibleMultifileClassKind() -> {
val partClasses = findMultifileClassParts(classFile, kotlinClass)
val partMembers = partClasses.flatMap { partClass -> resolver.resolveDeclarationsInFacade(partClass.classId.asSingleFqName()) }
@@ -95,7 +95,7 @@ public fun buildDecompiledTextFromJsMetadata(
}
else {
val classId = JsMetaFileUtils.getClassId(classFile)
return buildDecompiledText(packageFqName, listOf(resolver.resolveTopLevelClass(classId)).filterNotNull(), descriptorRendererForKotlinJavascriptDecompiler)
return buildDecompiledText(packageFqName, listOfNotNull(resolver.resolveTopLevelClass(classId)), descriptorRendererForKotlinJavascriptDecompiler)
}
}
@@ -78,8 +78,7 @@ public object IdeRenderers {
data: ConflictingJvmDeclarationsData ->
val conflicts = data.signatureOrigins
.map { it.descriptor }
.filterNotNull()
.mapNotNull { it.descriptor }
.sortedWith(MemberComparator.INSTANCE)
.joinToString("") { "<li>" + HTML_COMPACT_WITH_MODIFIERS.render(it) + "</li>\n" }
@@ -38,7 +38,7 @@ public class KtForLoopInReference(element: KtForExpression) : KtMultiReference<K
if (loopRange == null) {
return Collections.emptyList()
}
return LOOP_RANGE_KEYS.map { key -> context.get(key, loopRange)?.getCandidateDescriptor() }.filterNotNull()
return LOOP_RANGE_KEYS.mapNotNull { key -> context.get(key, loopRange)?.getCandidateDescriptor() }
}
companion object {
@@ -27,9 +27,9 @@ import org.jetbrains.kotlin.idea.caches.resolve.analyze
class KtMultiDeclarationReference(element: KtMultiDeclaration) : KtMultiReference<KtMultiDeclaration>(element) {
override fun getTargetDescriptors(context: BindingContext): Collection<DeclarationDescriptor> {
return expression.getEntries().map { entry ->
return expression.getEntries().mapNotNull { entry ->
context.get(BindingContext.COMPONENT_RESOLVED_CALL, entry)?.getCandidateDescriptor()
}.filterNotNull()
}
}
override fun getRangeInElement(): TextRange? {
@@ -42,9 +42,9 @@ public class KtPropertyDelegationMethodsReference(element: KtPropertyDelegate) :
if (descriptor !is PropertyDescriptor) {
return Collections.emptyList()
}
return (descriptor.getAccessors().map {
return (descriptor.getAccessors().mapNotNull {
accessor ->
context.get(BindingContext.DELEGATED_PROPERTY_RESOLVED_CALL, accessor)?.getCandidateDescriptor()
} + listOf(context.get(BindingContext.DELEGATED_PROPERTY_PD_RESOLVED_CALL, descriptor)?.getCandidateDescriptor())).filterNotNull()
} + listOfNotNull(context.get(BindingContext.DELEGATED_PROPERTY_PD_RESOLVED_CALL, descriptor)?.getCandidateDescriptor()))
}
}
@@ -55,7 +55,7 @@ public val PsiReference.unwrappedTargets: Set<PsiElement>
}
return when (this) {
is PsiPolyVariantReference -> multiResolve(false).map { it.getElement()?.adjust() }.filterNotNullTo(HashSet<PsiElement>())
is PsiPolyVariantReference -> multiResolve(false).mapNotNullTo(HashSet<PsiElement>()) { it.getElement()?.adjust() }
else -> emptyOrSingletonList(resolve()?.adjust()).toSet()
}
}
@@ -333,8 +333,7 @@ public class CommentSaver(originalElements: PsiChildRange, private val saveLineB
if (leaf is LineBreakTreeElement) return null
return leaf.parentsWithSelf
.takeWhile { it != lineBreakParent }
.map { toNewPsiElementMap[it]?.first() } //TODO: what about multiple?
.filterNotNull()
.mapNotNull { toNewPsiElementMap[it]?.first() } //TODO: what about multiple?
.firstOrNull()
}