]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/Workspace/DscBuildData.py
BaseTools: replace 'UINT8','UINT16','UINT32','UINT64','VOID*' with shared constants.
[mirror_edk2.git] / BaseTools / Source / Python / Workspace / DscBuildData.py
index e2af803420f6b5f62c433777d061e7345f4743a8..7e3187fb5d2d82720dd353d1f27371c3cdad1528 100644 (file)
@@ -41,13 +41,7 @@ from Common.Misc import SaveFileOnChange
 from Workspace.BuildClassObject import PlatformBuildClassObject, StructurePcd, PcdClassObject, ModuleBuildClassObject\r
 from collections import OrderedDict\r
 \r
-#\r
-# Treat CHAR16 as a synonym for UINT16.  CHAR16 support is required for VFR C structs\r
-#\r
 PcdValueInitName = 'PcdValueInit'\r
-PcdSupportedBaseTypes = ['BOOLEAN', 'UINT8', 'UINT16', 'UINT32', 'UINT64', 'CHAR16']\r
-PcdSupportedBaseTypeWidth = {'BOOLEAN':8, 'UINT8':8, 'UINT16':16, 'UINT32':32, 'UINT64':64}\r
-PcdUnsupportedBaseTypes = ['INT8', 'INT16', 'INT32', 'INT64', 'CHAR8', 'UINTN', 'INTN', 'VOID']\r
 \r
 PcdMainCHeader = '''\r
 /**\r
@@ -1057,7 +1051,7 @@ class DscBuildData(PlatformBuildClassObject):
             TokenCName += '.' + FieldName\r
         if PcdValue.startswith('H'):\r
             if FieldName and IsFieldValueAnArray(PcdValue[1:]):\r
-                PcdDatumType = 'VOID*'\r
+                PcdDatumType = TAB_VOID\r
                 IsArray = True\r
             if FieldName and not IsArray:\r
                 return PcdValue\r
@@ -1068,7 +1062,7 @@ class DscBuildData(PlatformBuildClassObject):
                                 (TokenSpaceGuidCName, TokenCName, PcdValue, Value))\r
         elif PcdValue.startswith("L'") or PcdValue.startswith("'"):\r
             if FieldName and IsFieldValueAnArray(PcdValue):\r
-                PcdDatumType = 'VOID*'\r
+                PcdDatumType = TAB_VOID\r
                 IsArray = True\r
             if FieldName and not IsArray:\r
                 return PcdValue\r
@@ -1080,7 +1074,7 @@ class DscBuildData(PlatformBuildClassObject):
         elif PcdValue.startswith('L'):\r
             PcdValue = 'L"' + PcdValue[1:] + '"'\r
             if FieldName and IsFieldValueAnArray(PcdValue):\r
-                PcdDatumType = 'VOID*'\r
+                PcdDatumType = TAB_VOID\r
                 IsArray = True\r
             if FieldName and not IsArray:\r
                 return PcdValue\r
@@ -1095,7 +1089,7 @@ class DscBuildData(PlatformBuildClassObject):
             if PcdValue.upper() == 'TRUE':\r
                 PcdValue = str(1)\r
             if not FieldName:\r
-                if PcdDatumType not in ['UINT8','UINT16','UINT32','UINT64','BOOLEAN']:\r
+                if PcdDatumType not in TAB_PCD_NUMERIC_TYPES:\r
                     PcdValue = '"' + PcdValue + '"'\r
             else:\r
                 IsArray = False\r
@@ -1107,7 +1101,7 @@ class DscBuildData(PlatformBuildClassObject):
                 except:\r
                     PcdValue = '"' + PcdValue + '"'\r
                 if IsFieldValueAnArray(PcdValue):\r
-                    PcdDatumType = 'VOID*'\r
+                    PcdDatumType = TAB_VOID\r
                     IsArray = True\r
                 if not IsArray:\r
                     return PcdValue\r
@@ -1246,7 +1240,7 @@ class DscBuildData(PlatformBuildClassObject):
                             for defaultstore in SkuInfo.DefaultStoreDict:\r
                                 SkuInfo.DefaultStoreDict[defaultstore] = NoFiledValues[(Pcd.TokenSpaceGuidCName,Pcd.TokenCName)][0]\r
                     if Pcd.Type in [self._PCD_TYPE_STRING_[MODEL_PCD_DYNAMIC_EX_HII], self._PCD_TYPE_STRING_[MODEL_PCD_DYNAMIC_HII]]:\r
-                        if Pcd.DatumType == "VOID*":\r
+                        if Pcd.DatumType == TAB_VOID:\r
                             if not Pcd.MaxDatumSize:\r
                                 Pcd.MaxDatumSize = '0'\r
                             CurrentSize = int(Pcd.MaxDatumSize,16) if Pcd.MaxDatumSize.upper().startswith("0X") else int(Pcd.MaxDatumSize)\r
@@ -1568,7 +1562,7 @@ class DscBuildData(PlatformBuildClassObject):
                 IsArray = IsFieldValueAnArray(FieldList[FieldName.strip(".")][0])\r
                 if IsArray and not (FieldList[FieldName.strip(".")][0].startswith('{GUID') and FieldList[FieldName.strip(".")][0].endswith('}')):\r
                     try:\r
-                        Value = ValueExpressionEx(FieldList[FieldName.strip(".")][0], "VOID*", self._GuidDict)(True)\r
+                        Value = ValueExpressionEx(FieldList[FieldName.strip(".")][0], TAB_VOID, self._GuidDict)(True)\r
                     except BadExpression:\r
                         EdkLogger.error('Build', FORMAT_INVALID, "Invalid value format for %s. From %s Line %d " %\r
                                         (".".join((Pcd.TokenSpaceGuidCName, Pcd.TokenCName, FieldName.strip('.'))), FieldList[FieldName.strip(".")][1], FieldList[FieldName.strip(".")][2]))\r
@@ -1598,7 +1592,7 @@ class DscBuildData(PlatformBuildClassObject):
                         IsArray = IsFieldValueAnArray(FieldList[FieldName.strip(".")][0])\r
                         if IsArray and not (FieldList[FieldName.strip(".")][0].startswith('{GUID') and FieldList[FieldName.strip(".")][0].endswith('}')):\r
                             try:\r
-                                Value = ValueExpressionEx(FieldList[FieldName.strip(".")][0], "VOID*", self._GuidDict)(True)\r
+                                Value = ValueExpressionEx(FieldList[FieldName.strip(".")][0], TAB_VOID, self._GuidDict)(True)\r
                             except BadExpression:\r
                                 EdkLogger.error('Build', FORMAT_INVALID, "Invalid value format for %s. From %s Line %d " %\r
                                                 (".".join((Pcd.TokenSpaceGuidCName, Pcd.TokenCName, FieldName.strip('.'))), FieldList[FieldName.strip(".")][1], FieldList[FieldName.strip(".")][2]))\r
@@ -1622,7 +1616,7 @@ class DscBuildData(PlatformBuildClassObject):
             IsArray = IsFieldValueAnArray(Pcd.PcdFieldValueFromComm[FieldName.strip(".")][0])\r
             if IsArray and not (Pcd.PcdFieldValueFromComm[FieldName.strip(".")][0].startswith('{GUID') and Pcd.PcdFieldValueFromComm[FieldName.strip(".")][0].endswith('}')):\r
                 try:\r
-                    Value = ValueExpressionEx(Pcd.PcdFieldValueFromComm[FieldName.strip(".")][0], "VOID*", self._GuidDict)(True)\r
+                    Value = ValueExpressionEx(Pcd.PcdFieldValueFromComm[FieldName.strip(".")][0], TAB_VOID, self._GuidDict)(True)\r
                 except BadExpression:\r
                     EdkLogger.error('Build', FORMAT_INVALID, "Invalid value format for %s. From %s Line %d " %\r
                                     (".".join((Pcd.TokenSpaceGuidCName, Pcd.TokenCName, FieldName.strip('.'))), Pcd.PcdFieldValueFromComm[FieldName.strip(".")][1], Pcd.PcdFieldValueFromComm[FieldName.strip(".")][2]))\r
@@ -1658,7 +1652,7 @@ class DscBuildData(PlatformBuildClassObject):
         IsArray = IsFieldValueAnArray(Pcd.DefaultValueFromDec)\r
         if IsArray:\r
             try:\r
-                DefaultValueFromDec = ValueExpressionEx(Pcd.DefaultValueFromDec, "VOID*")(True)\r
+                DefaultValueFromDec = ValueExpressionEx(Pcd.DefaultValueFromDec, TAB_VOID)(True)\r
             except BadExpression:\r
                 EdkLogger.error("Build", FORMAT_INVALID, "Invalid value format for %s.%s, from DEC: %s" %\r
                                 (Pcd.TokenSpaceGuidCName, Pcd.TokenCName, DefaultValueFromDec))\r
@@ -1679,7 +1673,7 @@ class DscBuildData(PlatformBuildClassObject):
                 IsArray = IsFieldValueAnArray(FieldList[FieldName][0])\r
                 if IsArray:\r
                     try:\r
-                        FieldList[FieldName][0] = ValueExpressionEx(FieldList[FieldName][0], "VOID*", self._GuidDict)(True)\r
+                        FieldList[FieldName][0] = ValueExpressionEx(FieldList[FieldName][0], TAB_VOID, self._GuidDict)(True)\r
                     except BadExpression:\r
                         EdkLogger.error('Build', FORMAT_INVALID, "Invalid value format for %s. From %s Line %d " %\r
                                         (".".join((Pcd.TokenSpaceGuidCName, Pcd.TokenCName, FieldName)), FieldList[FieldName][1],FieldList[FieldName][2]))\r
@@ -1732,7 +1726,7 @@ class DscBuildData(PlatformBuildClassObject):
                 IsArray = IsFieldValueAnArray(FieldList)\r
                 if IsArray:\r
                     try:\r
-                        FieldList = ValueExpressionEx(FieldList, "VOID*")(True)\r
+                        FieldList = ValueExpressionEx(FieldList, TAB_VOID)(True)\r
                     except BadExpression:\r
                         EdkLogger.error("Build", FORMAT_INVALID, "Invalid value format for %s.%s, from DSC: %s" %\r
                                         (Pcd.TokenSpaceGuidCName, Pcd.TokenCName, FieldList))\r
@@ -1762,7 +1756,7 @@ class DscBuildData(PlatformBuildClassObject):
                     IsArray = IsFieldValueAnArray(FieldList[FieldName][0])\r
                     if IsArray:\r
                         try:\r
-                            FieldList[FieldName][0] = ValueExpressionEx(FieldList[FieldName][0], "VOID*", self._GuidDict)(True)\r
+                            FieldList[FieldName][0] = ValueExpressionEx(FieldList[FieldName][0], TAB_VOID, self._GuidDict)(True)\r
                         except BadExpression:\r
                             EdkLogger.error('Build', FORMAT_INVALID, "Invalid value format for %s. From %s Line %d " %\r
                                             (".".join((Pcd.TokenSpaceGuidCName, Pcd.TokenCName, FieldName)), FieldList[FieldName][1], FieldList[FieldName][2]))\r
@@ -1806,7 +1800,7 @@ class DscBuildData(PlatformBuildClassObject):
                 IsArray = IsFieldValueAnArray(FieldList)\r
                 if IsArray:\r
                     try:\r
-                        FieldList = ValueExpressionEx(FieldList, "VOID*")(True)\r
+                        FieldList = ValueExpressionEx(FieldList, TAB_VOID)(True)\r
                     except BadExpression:\r
                         EdkLogger.error("Build", FORMAT_INVALID, "Invalid value format for %s.%s, from Command: %s" %\r
                                         (Pcd.TokenSpaceGuidCName, Pcd.TokenCName, FieldList))\r
@@ -1825,7 +1819,7 @@ class DscBuildData(PlatformBuildClassObject):
                 IsArray = IsFieldValueAnArray(FieldList[FieldName][0])\r
                 if IsArray:\r
                     try:\r
-                        FieldList[FieldName][0] = ValueExpressionEx(FieldList[FieldName][0], "VOID*", self._GuidDict)(True)\r
+                        FieldList[FieldName][0] = ValueExpressionEx(FieldList[FieldName][0], TAB_VOID, self._GuidDict)(True)\r
                     except BadExpression:\r
                         EdkLogger.error('Build', FORMAT_INVALID, "Invalid value format for %s. From %s Line %d " %\r
                                         (".".join((Pcd.TokenSpaceGuidCName, Pcd.TokenCName, FieldName)), FieldList[FieldName][1], FieldList[FieldName][2]))\r
@@ -2497,7 +2491,7 @@ class DscBuildData(PlatformBuildClassObject):
                 MaxSize = int(pcd.MaxDatumSize, 0)\r
             else:\r
                 MaxSize = 0\r
-            if pcd.DatumType not in ['BOOLEAN','UINT8','UINT16','UINT32','UINT64']:\r
+            if pcd.DatumType not in TAB_PCD_NUMERIC_TYPES:\r
                 for (_, skuobj) in pcd.SkuInfoList.items():\r
                     datalen = 0\r
                     skuobj.HiiDefaultValue = StringToArray(skuobj.HiiDefaultValue)\r