Minor, simplify code in parseCommandLineArguments
This commit is contained in:
+4
-6
@@ -136,12 +136,10 @@ private fun <A : CommonToolArguments> parsePreprocessedCommandLineArguments(args
|
|||||||
errors.unknownExtraFlags += arg
|
errors.unknownExtraFlags += arg
|
||||||
} else {
|
} else {
|
||||||
val newInternalArgument = parser.parseInternalArgument(arg, errors) ?: continue
|
val newInternalArgument = parser.parseInternalArgument(arg, errors) ?: continue
|
||||||
val argumentWillBeOverridden = when (newInternalArgument) {
|
// Manual language feature setting overrides the previous value of the same feature setting, if it exists.
|
||||||
is ManualLanguageFeatureSetting -> internalArguments.firstOrNull { (it is ManualLanguageFeatureSetting) && (it.languageFeature == newInternalArgument.languageFeature) }
|
internalArguments.removeIf {
|
||||||
else -> null
|
(it as? ManualLanguageFeatureSetting)?.languageFeature ==
|
||||||
}
|
(newInternalArgument as? ManualLanguageFeatureSetting)?.languageFeature
|
||||||
if (argumentWillBeOverridden != null) {
|
|
||||||
internalArguments.remove(argumentWillBeOverridden)
|
|
||||||
}
|
}
|
||||||
internalArguments.add(newInternalArgument)
|
internalArguments.add(newInternalArgument)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user