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 } } }