From 30d721c45808e4d087b7f1cac0fd8aadb99f8b03 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Wed, 6 Jul 2016 19:19:39 +0200 Subject: [PATCH] MainFunctionDetector: cleanup after J2K --- .../kotlin/idea/MainFunctionDetector.kt | 41 ++++--------------- 1 file changed, 7 insertions(+), 34 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/kotlin/idea/MainFunctionDetector.kt b/compiler/frontend/src/org/jetbrains/kotlin/idea/MainFunctionDetector.kt index cc2123a529a..c9e60295128 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/idea/MainFunctionDetector.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/idea/MainFunctionDetector.kt @@ -68,26 +68,11 @@ class MainFunctionDetector { return isMain(getFunctionDescriptor(function)) } - fun getMainFunction(files: Collection): KtNamedFunction? { - for (file in files) { - val mainFunction = findMainFunction(file.declarations) - if (mainFunction != null) { - return mainFunction - } - } - return null - } + fun getMainFunction(files: Collection): KtNamedFunction? = + files.asSequence().map { findMainFunction(it.declarations) }.firstOrNull { it != null } - private fun findMainFunction(declarations: List): KtNamedFunction? { - for (declaration in declarations) { - if (declaration is KtNamedFunction) { - if (isMain(declaration)) { - return declaration - } - } - } - return null - } + private fun findMainFunction(declarations: List) = + declarations.filterIsInstance().find { isMain(it) } companion object { @@ -125,22 +110,10 @@ class MainFunctionDetector { } private fun getJVMFunctionName(functionDescriptor: FunctionDescriptor): String { - val platformName = DescriptorUtils.getJvmName(functionDescriptor) - if (platformName != null) { - return platformName - } - - return functionDescriptor.name.asString() + return DescriptorUtils.getJvmName(functionDescriptor) ?: functionDescriptor.name.asString() } - private fun hasAnnotationWithExactNumberOfArguments(function: KtNamedFunction, number: Int): Boolean { - for (entry in function.annotationEntries) { - if (entry.valueArguments.size == number) { - return true - } - } - - return false - } + private fun hasAnnotationWithExactNumberOfArguments(function: KtNamedFunction, number: Int) = + function.annotationEntries.any { it.valueArguments.size == number } } }