Improve performance

This commit is contained in:
Him188 2020-09-18 12:09:49 +08:00
parent e299ecffb9
commit e4f37b9a52

View File

@ -92,17 +92,15 @@ class PluginDescriptionChecker : DeclarationChecker {
call.valueParametersWithArguments().asSequence() call.valueParametersWithArguments().asSequence()
} }
.mapNotNull { (p, a) -> .mapNotNull { (p, a) ->
p.resolveContextKind?.takeIf { it in checkersMap }?.let { it to a } p.resolveContextKind?.let(checkersMap::get)?.let { it to a }
} }
.mapNotNull { (kind, argument) -> .mapNotNull { (kind, argument) ->
argument.resolveStringConstantValue(context.bindingContext)?.let { const -> argument.resolveStringConstantValue(context.bindingContext)?.let { const ->
Triple(kind, argument, const) Triple(kind, argument, const)
} }
} }
.forEach { (parameterContextKind, argument, resolvedConstant) -> .forEach { (fn, argument, resolvedConstant) ->
for ((kind, fn) in checkersMap) { fn(argument.asElement(), resolvedConstant)?.let { context.report(it) }
if (parameterContextKind == kind) fn(argument.asElement(), resolvedConstant)?.let { context.report(it) }
}
} }
return return
/* /*