MainFunctionDetector: cleanup after J2K

This commit is contained in:
Dmitry Jemerov
2016-07-06 19:19:39 +02:00
parent b58c659e46
commit 30d721c458
@@ -68,26 +68,11 @@ class MainFunctionDetector {
return isMain(getFunctionDescriptor(function)) return isMain(getFunctionDescriptor(function))
} }
fun getMainFunction(files: Collection<KtFile>): KtNamedFunction? { fun getMainFunction(files: Collection<KtFile>): KtNamedFunction? =
for (file in files) { files.asSequence().map { findMainFunction(it.declarations) }.firstOrNull { it != null }
val mainFunction = findMainFunction(file.declarations)
if (mainFunction != null) {
return mainFunction
}
}
return null
}
private fun findMainFunction(declarations: List<KtDeclaration>): KtNamedFunction? { private fun findMainFunction(declarations: List<KtDeclaration>) =
for (declaration in declarations) { declarations.filterIsInstance<KtNamedFunction>().find { isMain(it) }
if (declaration is KtNamedFunction) {
if (isMain(declaration)) {
return declaration
}
}
}
return null
}
companion object { companion object {
@@ -125,22 +110,10 @@ class MainFunctionDetector {
} }
private fun getJVMFunctionName(functionDescriptor: FunctionDescriptor): String { private fun getJVMFunctionName(functionDescriptor: FunctionDescriptor): String {
val platformName = DescriptorUtils.getJvmName(functionDescriptor) return DescriptorUtils.getJvmName(functionDescriptor) ?: functionDescriptor.name.asString()
if (platformName != null) {
return platformName
}
return functionDescriptor.name.asString()
} }
private fun hasAnnotationWithExactNumberOfArguments(function: KtNamedFunction, number: Int): Boolean { private fun hasAnnotationWithExactNumberOfArguments(function: KtNamedFunction, number: Int) =
for (entry in function.annotationEntries) { function.annotationEntries.any { it.valueArguments.size == number }
if (entry.valueArguments.size == number) {
return true
}
}
return false
}
} }
} }