except:\r
EdkLogger.error("Parser", FILE_READ_FAILURE, ExtraData=self.MetaFile)\r
\r
+ self._DefinesCount = 0\r
for Index in range(0, len(Content)):\r
Line, Comment = CleanString2(Content[Index])\r
self._CurrentLine = Line\r
# section header\r
if Line[0] == TAB_SECTION_START and Line[-1] == TAB_SECTION_END:\r
self._SectionHeaderParser()\r
+ if self._SectionName == TAB_DEC_DEFINES.upper():\r
+ self._DefinesCount += 1\r
self._Comments = []\r
continue\r
+ if self._SectionType == MODEL_UNKNOWN:\r
+ EdkLogger.error("Parser", FORMAT_INVALID,\r
+ ""\r
+ "Not able to determine \"%s\" in which section."%self._CurrentLine,\r
+ self.MetaFile, self._LineIndex + 1)\r
elif len(self._SectionType) == 0:\r
self._Comments = []\r
continue\r
0\r
)\r
self._Comments = []\r
+ if self._DefinesCount > 1:\r
+ EdkLogger.error('Parser', FORMAT_INVALID, 'Multiple [Defines] section is exist.', self.MetaFile )\r
+ if self._DefinesCount == 0:\r
+ EdkLogger.error('Parser', FORMAT_INVALID, 'No [Defines] section exist.',self.MetaFile)\r
self._Done()\r
\r
\r
\r
# different types of PCD are permissible in one section\r
self._SectionName = ItemList[0].upper()\r
+ if self._SectionName == TAB_DEC_DEFINES.upper() and (len(ItemList) > 1 or len(Line.split(TAB_COMMA_SPLIT)) > 1):\r
+ EdkLogger.error("Parser", FORMAT_INVALID, "Defines section format is invalid",\r
+ self.MetaFile, self._LineIndex + 1, self._CurrentLine)\r
if self._SectionName in self.DataType:\r
if self.DataType[self._SectionName] not in self._SectionType:\r
self._SectionType.append(self.DataType[self._SectionName])\r