super(VAR_CHECK_PCD_VALID_LIST, self).__init__(VarOffset, validlist, PcdDataType)\r
self.Type = 1\r
valid_num_list = []\r
- data_list = []\r
for item in self.rawdata:\r
valid_num_list.extend(item.split(','))\r
\r
valid_num = valid_num.strip()\r
\r
if valid_num.startswith('0x') or valid_num.startswith('0X'):\r
- data_list.append(int(valid_num, 16))\r
+ self.data.add(int(valid_num, 16))\r
else:\r
- data_list.append(int(valid_num))\r
+ self.data.add(int(valid_num))\r
\r
\r
- self.data = set(data_list)\r
self.Length = 5 + len(self.data) * self.StorageWidth\r
\r
\r
super(VAR_CHECK_PCD_VALID_RANGE, self).__init__(VarOffset, validrange, PcdDataType)\r
self.Type = 2\r
RangeExpr = ""\r
- data_list = []\r
i = 0\r
for item in self.rawdata:\r
if i == 0:\r
range_result = RangeExpression(RangeExpr, self.PcdDataType)(True)\r
for rangelist in range_result:\r
for obj in rangelist.pop():\r
- data_list.append((obj.start, obj.end))\r
- self.data = set(data_list)\r
+ self.data.add((obj.start, obj.end))\r
self.Length = 5 + len(self.data) * 2 * self.StorageWidth\r
\r
\r
-class VAR_VALID_OBJECT_FACTORY(object):\r
- def __init__(self):\r
- pass\r
- @staticmethod\r
- def Get_valid_object(PcdClass, VarOffset):\r
- if PcdClass.validateranges:\r
- return VAR_CHECK_PCD_VALID_RANGE(VarOffset, PcdClass.validateranges, PcdClass.DatumType)\r
- if PcdClass.validlists:\r
- return VAR_CHECK_PCD_VALID_LIST(VarOffset, PcdClass.validlists, PcdClass.DatumType)\r
- else:\r
- return None\r
+def GetValidationObject(PcdClass, VarOffset):\r
+ if PcdClass.validateranges:\r
+ return VAR_CHECK_PCD_VALID_RANGE(VarOffset, PcdClass.validateranges, PcdClass.DatumType)\r
+ if PcdClass.validlists:\r
+ return VAR_CHECK_PCD_VALID_LIST(VarOffset, PcdClass.validlists, PcdClass.DatumType)\r
+ else:\r
+ return None\r