@@ -26,23 +26,17 @@ final case class TestFlags(
2626 private val languageFeatureFlag = " -language:"
2727 private def withoutLanguageFeaturesOptions = options.filterNot(_.startsWith(languageFeatureFlag))
2828
29- // TODO simplify to add `-language:feature` to `options` once
30- // https://github.com/lampepfl/dotty-feature-requests/issues/107 is implemented
31- def andLanguageFeature (feature : String ) = {
32- val (languageFeatures, rest) = options.partition(_.startsWith(languageFeatureFlag))
33- val existingFeatures = if (languageFeatures.isEmpty) languageFeatures.mkString(" ," ) + " ," else " "
34- copy(options = rest ++ Array (languageFeatureFlag + existingFeatures + feature))
35- }
29+ def andLanguageFeature (feature : String ) =
30+ copy(options = options ++ Array (s " $languageFeatureFlag$feature" ))
3631
37- def withoutLanguageFeature (feature : String ) = {
32+ def withoutLanguageFeature (feature : String ) =
3833 val (languageFeatures, rest) = options.partition(_.startsWith(languageFeatureFlag))
39- val filteredFeatures = languageFeatures.filter(_ == feature)
34+ val existingFeatures = languageFeatures.flatMap(_.stripPrefix(languageFeatureFlag).split(" ," ))
35+ val filteredFeatures = existingFeatures.filterNot(_ == feature)
4036 val newOptions =
41- if ( filteredFeatures.isEmpty) rest
37+ if filteredFeatures.isEmpty then rest
4238 else rest ++ Array (languageFeatureFlag + filteredFeatures.mkString(" ," ))
43-
4439 copy(options = newOptions)
45- }
4640
4741 /** Subset of the flags that should be passed to javac. */
4842 def javacFlags : Array [String ] = {
0 commit comments