minor: Move sameSignature function into single use site to avoid local build problems

This commit is contained in:
Ilya Chernikov
2017-03-21 14:42:29 +01:00
parent b24ce04dea
commit adc541c3b1
2 changed files with 10 additions and 9 deletions
@@ -30,6 +30,8 @@ import org.jetbrains.kotlin.psi.KtScript
import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstanceOrNull
import java.io.File
import kotlin.reflect.KClass
import kotlin.reflect.KFunction
import kotlin.reflect.KParameter
import kotlin.reflect.full.memberFunctions
import kotlin.reflect.full.primaryConstructor
@@ -68,6 +70,14 @@ open class KotlinScriptDefinitionFromAnnotatedTemplate(
}
private val acceptedAnnotations: List<KClass<out Annotation>> by lazy {
fun sameSignature(left: KFunction<*>, right: KFunction<*>): Boolean =
left.parameters.size == right.parameters.size &&
left.parameters.zip(right.parameters).all {
it.first.kind == KParameter.Kind.INSTANCE ||
it.first.type == it.second.type
}
val resolveMethod = ScriptDependenciesResolver::resolve
val resolverMethodAnnotations =
resolver?.let { it::class }?.memberFunctions?.find { function ->
@@ -20,8 +20,6 @@ import java.io.File
import java.util.concurrent.Future
import java.util.concurrent.TimeUnit
import kotlin.reflect.KClass
import kotlin.reflect.KFunction
import kotlin.reflect.KParameter
const val DEFAULT_SCRIPT_FILE_PATTERN = ".*\\.kts"
@@ -80,10 +78,3 @@ class BasicScriptDependenciesResolver : ScriptDependenciesResolver
@Retention(AnnotationRetention.RUNTIME)
annotation class AcceptedAnnotations(vararg val supportedAnnotationClasses: KClass<out Annotation>)
internal fun sameSignature(left: KFunction<*>, right: KFunction<*>): Boolean =
left.parameters.size == right.parameters.size &&
left.parameters.zip(right.parameters).all {
it.first.kind == KParameter.Kind.INSTANCE ||
it.first.type == it.second.type
}