@@ -26,23 +26,17 @@ final case class TestFlags(
26
26
private val languageFeatureFlag = " -language:"
27
27
private def withoutLanguageFeaturesOptions = options.filterNot(_.startsWith(languageFeatureFlag))
28
28
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" ))
36
31
37
- def withoutLanguageFeature (feature : String ) = {
32
+ def withoutLanguageFeature (feature : String ) =
38
33
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)
40
36
val newOptions =
41
- if ( filteredFeatures.isEmpty) rest
37
+ if filteredFeatures.isEmpty then rest
42
38
else rest ++ Array (languageFeatureFlag + filteredFeatures.mkString(" ," ))
43
-
44
39
copy(options = newOptions)
45
- }
46
40
47
41
/** Subset of the flags that should be passed to javac. */
48
42
def javacFlags : Array [String ] = {
0 commit comments