MainFunctionDetector: cleanup after J2K
This commit is contained in:
@@ -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
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user