]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/C/VfrCompile/VfrSyntax.g
Update vfr format for orderedlist opcode to consistent with other opcode, also compat...
[mirror_edk2.git] / BaseTools / Source / C / VfrCompile / VfrSyntax.g
index 5da87675ae80c2ccb83b04b52b8033dda2ad046c..e12677fd4fe402f19a3c76c087ecb058ed1b7c02 100644 (file)
@@ -505,10 +505,10 @@ vfrFormSetDefinition :
   {\r
     ClassGuid "=" guidDefinition[ClassGuid1]        << ++ClassGuidNum; >>\r
                   {\r
-                   "\|" guidDefinition[ClassGuid2]  << ++ClassGuidNum; >>\r
-                  }\r
-                  {\r
-                   "\|" guidDefinition[ClassGuid3]  << ++ClassGuidNum; >>\r
+                     "\|" guidDefinition[ClassGuid2]  << ++ClassGuidNum; >>\r
+                     {\r
+                      "\|" guidDefinition[ClassGuid3]  << ++ClassGuidNum; >>\r
+                     }\r
                   }\r
                   ","\r
   }\r
@@ -1184,9 +1184,35 @@ questionheaderFlagsField[UINT8 & Flags] :
     ReadOnlyFlag                                    << $Flags |= 0x01; >>\r
   | InteractiveFlag                                 << $Flags |= 0x04; >>\r
   | ResetRequiredFlag                               << $Flags |= 0x10; >>\r
-  | OptionOnlyFlag                                  << $Flags |= 0x80; >>\r
-  | NVAccessFlag\r
-  | LateCheckFlag\r
+  | O:OptionOnlyFlag                                << \r
+                                                       if (mCompatibleMode) {\r
+                                                         $Flags |= 0x80;\r
+                                                       } else {\r
+                                                         gCVfrErrorHandle.HandleWarning (\r
+                                                            VFR_WARNING_OBSOLETED_FRAMEWORK_OPCODE,\r
+                                                            O->getLine(),\r
+                                                            O->getText()\r
+                                                            );\r
+                                                       }\r
+                                                    >>\r
+  | N:NVAccessFlag                                  << \r
+                                                       if (!mCompatibleMode) {\r
+                                                          gCVfrErrorHandle.HandleWarning (\r
+                                                            VFR_WARNING_OBSOLETED_FRAMEWORK_OPCODE,\r
+                                                            N->getLine(),\r
+                                                            N->getText()\r
+                                                            );\r
+                                                       }\r
+                                                    >>\r
+  | L:LateCheckFlag                                 << \r
+                                                       if (!mCompatibleMode) {\r
+                                                          gCVfrErrorHandle.HandleWarning (\r
+                                                            VFR_WARNING_OBSOLETED_FRAMEWORK_OPCODE,\r
+                                                            L->getLine(),\r
+                                                            L->getText()\r
+                                                            );\r
+                                                       }\r
+                                                    >>\r
   ;\r
 \r
 vfrStorageVarId[EFI_VARSTORE_INFO & Info, CHAR8 *&QuestVarIdStr, BOOLEAN CheckFlag = TRUE] :\r
@@ -1617,8 +1643,29 @@ vfrStatementInvalid :
   ;\r
 \r
 flagsField :\r
-  Number | InteractiveFlag | ManufacturingFlag | DefaultFlag |\r
-  NVAccessFlag | ResetRequiredFlag | LateCheckFlag\r
+  Number \r
+  | InteractiveFlag \r
+  | ManufacturingFlag \r
+  | DefaultFlag \r
+  | ResetRequiredFlag \r
+  | N:NVAccessFlag                                     << \r
+                                                          if (!mCompatibleMode) {\r
+                                                            gCVfrErrorHandle.HandleWarning (\r
+                                                              VFR_WARNING_OBSOLETED_FRAMEWORK_OPCODE,\r
+                                                              N->getLine(),\r
+                                                              N->getText()\r
+                                                              );\r
+                                                          }\r
+                                                       >>\r
+  | L:LateCheckFlag                                    << \r
+                                                          if (!mCompatibleMode) {\r
+                                                            gCVfrErrorHandle.HandleWarning (\r
+                                                              VFR_WARNING_OBSOLETED_FRAMEWORK_OPCODE,\r
+                                                              L->getLine(),\r
+                                                              L->getText()\r
+                                                              );\r
+                                                          }\r
+                                                       >> \r
   ;\r
 \r
 vfrStatementValue :\r
@@ -1652,7 +1699,7 @@ vfrStatementSubTitle :
   |\r
     { "," vfrStatementStatTagList}\r
     { "," (vfrStatementStat | vfrStatementQuestions)*}\r
-    E: EndSubtitle ";"                                  << CRT_END_OP (E); >>\r
+    D: EndSubtitle ";"                                  << CRT_END_OP (D); >>\r
   )\r
   ;\r
 \r
@@ -2530,7 +2577,7 @@ vfrStatementOrderedList :
                                                           OLObj.SetMaxContainers (_STOU8(M->getText(), M->getLine()));\r
                                                        >>\r
   }\r
-  { F:FLAGS "=" vfrOrderedListFlags[OLObj, F->getLine()] }\r
+  { F:FLAGS "=" vfrOrderedListFlags[OLObj, F->getLine()] {","}}\r
   vfrStatementQuestionOptionList\r
   E:EndList                                            << CRT_END_OP (E); >>\r
   ";"\r
@@ -3042,11 +3089,31 @@ oneofoptionFlagsField [UINT8 & HFlags, UINT8 & LFlags] :
   | "OPTION_DEFAULT"                                   << $LFlags |= 0x10; >>\r
   | "OPTION_DEFAULT_MFG"                               << $LFlags |= 0x20; >>\r
   | InteractiveFlag                                    << $HFlags |= 0x04; >>\r
-  | NVAccessFlag                                       << $HFlags |= 0x08; >>\r
   | ResetRequiredFlag                                  << $HFlags |= 0x10; >>\r
-  | LateCheckFlag                                      << $HFlags |= 0x20; >>\r
   | ManufacturingFlag                                  << $LFlags |= 0x20; >>\r
   | DefaultFlag                                        << $LFlags |= 0x10; >>\r
+  | A:NVAccessFlag                                     << \r
+                                                          if (mCompatibleMode) {\r
+                                                            $HFlags |= 0x08;\r
+                                                          } else {\r
+                                                            gCVfrErrorHandle.HandleWarning (\r
+                                                              VFR_WARNING_OBSOLETED_FRAMEWORK_OPCODE,\r
+                                                              A->getLine(),\r
+                                                              A->getText()\r
+                                                              );\r
+                                                          }\r
+                                                       >>\r
+  | L:LateCheckFlag                                    << \r
+                                                          if (mCompatibleMode) {\r
+                                                            $HFlags |= 0x20;\r
+                                                          } else {\r
+                                                            gCVfrErrorHandle.HandleWarning (\r
+                                                              VFR_WARNING_OBSOLETED_FRAMEWORK_OPCODE,\r
+                                                              L->getLine(),\r
+                                                              L->getText()\r
+                                                              );\r
+                                                          }\r
+                                                       >>\r
   ;\r
 \r
 vfrStatementLabel :\r