Selaa lähdekoodia

VS: Generalize CSharp /langversion flag mapping

Map the `/langversion:` flag followed by any value to a `LangVersion`
element with the specified value in the `.csproj` file.

Fixes: #22089
Brad King 4 vuotta sitten
vanhempi
sitoutus
11c0bfff89

+ 6 - 45
Templates/MSBuild/FlagTables/v10_CSharp.json

@@ -363,52 +363,13 @@
   },
   {
     "name":  "LangVersion",
-    "switch": "langversion:ISO-1",
+    "switch": "langversion:",
     "comment": "",
-    "value": "ISO-1",
-    "flags": []
-  },
-  {
-    "name":  "LangVersion",
-    "switch": "langversion:ISO-2",
-    "comment": "",
-    "value": "ISO-2",
-    "flags": []
-  },
-  {
-    "name":  "LangVersion",
-    "switch": "langversion:3",
-    "comment": "",
-    "value": "3",
-    "flags": []
-  },
-  {
-    "name":  "LangVersion",
-    "switch": "langversion:4",
-    "comment": "",
-    "value": "4",
-    "flags": []
-  },
-  {
-    "name":  "LangVersion",
-    "switch": "langversion:5",
-    "comment": "",
-    "value": "5",
-    "flags": []
-  },
-  {
-    "name":  "LangVersion",
-    "switch": "langversion:6",
-    "comment": "",
-    "value": "6",
-    "flags": []
-  },
-  {
-    "name":  "LangVersion",
-    "switch": "langversion:default",
-    "comment": "",
-    "value": "default",
-    "flags": []
+    "value": "",
+    "flags": [
+      "UserValue",
+      "UserRequired"
+    ]
   },
   {
     "name":  "DelaySign",

+ 6 - 45
Templates/MSBuild/FlagTables/v11_CSharp.json

@@ -363,52 +363,13 @@
   },
   {
     "name":  "LangVersion",
-    "switch": "langversion:ISO-1",
+    "switch": "langversion:",
     "comment": "",
-    "value": "ISO-1",
-    "flags": []
-  },
-  {
-    "name":  "LangVersion",
-    "switch": "langversion:ISO-2",
-    "comment": "",
-    "value": "ISO-2",
-    "flags": []
-  },
-  {
-    "name":  "LangVersion",
-    "switch": "langversion:3",
-    "comment": "",
-    "value": "3",
-    "flags": []
-  },
-  {
-    "name":  "LangVersion",
-    "switch": "langversion:4",
-    "comment": "",
-    "value": "4",
-    "flags": []
-  },
-  {
-    "name":  "LangVersion",
-    "switch": "langversion:5",
-    "comment": "",
-    "value": "5",
-    "flags": []
-  },
-  {
-    "name":  "LangVersion",
-    "switch": "langversion:6",
-    "comment": "",
-    "value": "6",
-    "flags": []
-  },
-  {
-    "name":  "LangVersion",
-    "switch": "langversion:default",
-    "comment": "",
-    "value": "default",
-    "flags": []
+    "value": "",
+    "flags": [
+      "UserValue",
+      "UserRequired"
+    ]
   },
   {
     "name":  "DelaySign",

+ 6 - 45
Templates/MSBuild/FlagTables/v12_CSharp.json

@@ -363,52 +363,13 @@
   },
   {
     "name":  "LangVersion",
-    "switch": "langversion:ISO-1",
+    "switch": "langversion:",
     "comment": "",
-    "value": "ISO-1",
-    "flags": []
-  },
-  {
-    "name":  "LangVersion",
-    "switch": "langversion:ISO-2",
-    "comment": "",
-    "value": "ISO-2",
-    "flags": []
-  },
-  {
-    "name":  "LangVersion",
-    "switch": "langversion:3",
-    "comment": "",
-    "value": "3",
-    "flags": []
-  },
-  {
-    "name":  "LangVersion",
-    "switch": "langversion:4",
-    "comment": "",
-    "value": "4",
-    "flags": []
-  },
-  {
-    "name":  "LangVersion",
-    "switch": "langversion:5",
-    "comment": "",
-    "value": "5",
-    "flags": []
-  },
-  {
-    "name":  "LangVersion",
-    "switch": "langversion:6",
-    "comment": "",
-    "value": "6",
-    "flags": []
-  },
-  {
-    "name":  "LangVersion",
-    "switch": "langversion:default",
-    "comment": "",
-    "value": "default",
-    "flags": []
+    "value": "",
+    "flags": [
+      "UserValue",
+      "UserRequired"
+    ]
   },
   {
     "name":  "DelaySign",

+ 6 - 45
Templates/MSBuild/FlagTables/v140_CSharp.json

@@ -363,52 +363,13 @@
   },
   {
     "name":  "LangVersion",
-    "switch": "langversion:ISO-1",
+    "switch": "langversion:",
     "comment": "",
-    "value": "ISO-1",
-    "flags": []
-  },
-  {
-    "name":  "LangVersion",
-    "switch": "langversion:ISO-2",
-    "comment": "",
-    "value": "ISO-2",
-    "flags": []
-  },
-  {
-    "name":  "LangVersion",
-    "switch": "langversion:3",
-    "comment": "",
-    "value": "3",
-    "flags": []
-  },
-  {
-    "name":  "LangVersion",
-    "switch": "langversion:4",
-    "comment": "",
-    "value": "4",
-    "flags": []
-  },
-  {
-    "name":  "LangVersion",
-    "switch": "langversion:5",
-    "comment": "",
-    "value": "5",
-    "flags": []
-  },
-  {
-    "name":  "LangVersion",
-    "switch": "langversion:6",
-    "comment": "",
-    "value": "6",
-    "flags": []
-  },
-  {
-    "name":  "LangVersion",
-    "switch": "langversion:default",
-    "comment": "",
-    "value": "default",
-    "flags": []
+    "value": "",
+    "flags": [
+      "UserValue",
+      "UserRequired"
+    ]
   },
   {
     "name":  "DelaySign",

+ 6 - 45
Templates/MSBuild/FlagTables/v141_CSharp.json

@@ -363,52 +363,13 @@
   },
   {
     "name":  "LangVersion",
-    "switch": "langversion:ISO-1",
+    "switch": "langversion:",
     "comment": "",
-    "value": "ISO-1",
-    "flags": []
-  },
-  {
-    "name":  "LangVersion",
-    "switch": "langversion:ISO-2",
-    "comment": "",
-    "value": "ISO-2",
-    "flags": []
-  },
-  {
-    "name":  "LangVersion",
-    "switch": "langversion:3",
-    "comment": "",
-    "value": "3",
-    "flags": []
-  },
-  {
-    "name":  "LangVersion",
-    "switch": "langversion:4",
-    "comment": "",
-    "value": "4",
-    "flags": []
-  },
-  {
-    "name":  "LangVersion",
-    "switch": "langversion:5",
-    "comment": "",
-    "value": "5",
-    "flags": []
-  },
-  {
-    "name":  "LangVersion",
-    "switch": "langversion:6",
-    "comment": "",
-    "value": "6",
-    "flags": []
-  },
-  {
-    "name":  "LangVersion",
-    "switch": "langversion:default",
-    "comment": "",
-    "value": "default",
-    "flags": []
+    "value": "",
+    "flags": [
+      "UserValue",
+      "UserRequired"
+    ]
   },
   {
     "name":  "DelaySign",

+ 6 - 45
Templates/MSBuild/FlagTables/v142_CSharp.json

@@ -381,52 +381,13 @@
   },
   {
     "name":  "LangVersion",
-    "switch": "langversion:ISO-1",
+    "switch": "langversion:",
     "comment": "",
-    "value": "ISO-1",
-    "flags": []
-  },
-  {
-    "name":  "LangVersion",
-    "switch": "langversion:ISO-2",
-    "comment": "",
-    "value": "ISO-2",
-    "flags": []
-  },
-  {
-    "name":  "LangVersion",
-    "switch": "langversion:3",
-    "comment": "",
-    "value": "3",
-    "flags": []
-  },
-  {
-    "name":  "LangVersion",
-    "switch": "langversion:4",
-    "comment": "",
-    "value": "4",
-    "flags": []
-  },
-  {
-    "name":  "LangVersion",
-    "switch": "langversion:5",
-    "comment": "",
-    "value": "5",
-    "flags": []
-  },
-  {
-    "name":  "LangVersion",
-    "switch": "langversion:6",
-    "comment": "",
-    "value": "6",
-    "flags": []
-  },
-  {
-    "name":  "LangVersion",
-    "switch": "langversion:default",
-    "comment": "",
-    "value": "default",
-    "flags": []
+    "value": "",
+    "flags": [
+      "UserValue",
+      "UserRequired"
+    ]
   },
   {
     "name":  "DelaySign",