diff options
Diffstat (limited to 'BaseTools/Source/Python/UPT/Object/Parser/InfProtocolObject.py')
-rw-r--r-- | BaseTools/Source/Python/UPT/Object/Parser/InfProtocolObject.py | 118 |
1 files changed, 59 insertions, 59 deletions
diff --git a/BaseTools/Source/Python/UPT/Object/Parser/InfProtocolObject.py b/BaseTools/Source/Python/UPT/Object/Parser/InfProtocolObject.py index 6cadeb5a21..819d2ff3a7 100644 --- a/BaseTools/Source/Python/UPT/Object/Parser/InfProtocolObject.py +++ b/BaseTools/Source/Python/UPT/Object/Parser/InfProtocolObject.py @@ -1,12 +1,12 @@ ## @file
-# This file is used to define class objects of INF file [Protocols] section.
-# It will consumed by InfParser.
+# This file is used to define class objects of INF file [Protocols] section.
+# It will consumed by InfParser.
#
-# Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
#
-# This program and the accompanying materials are licensed and made available
-# under the terms and conditions of the BSD License which accompanies this
-# distribution. The full text of the license may be found at
+# This program and the accompanying materials are licensed and made available
+# under the terms and conditions of the BSD License which accompanies this
+# distribution. The full text of the license may be found at
# http://opensource.org/licenses/bsd-license.php
#
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
@@ -18,8 +18,8 @@ InfProtocolObject from Library.ParserValidate import IsValidCVariableName
from Library.CommentParsing import ParseComment
-from Library.ExpressionValidate import IsValidFeatureFlagExp
-
+from Library.ExpressionValidate import IsValidFeatureFlagExp
+
from Library.Misc import Sdict
from Object.Parser.InfMisc import ErrorInInf
@@ -40,20 +40,20 @@ def ParseProtocolComment(CommentsList, InfProtocolItemObj): CommentItemNotify, \
CommentItemString, \
CommentItemHelpText = \
- ParseComment(CommentItem,
- DT.PROTOCOL_USAGE_TOKENS,
- DT.PROTOCOL_NOTIFY_TOKENS,
- ['PROTOCOL'],
+ ParseComment(CommentItem,
+ DT.PROTOCOL_USAGE_TOKENS,
+ DT.PROTOCOL_NOTIFY_TOKENS,
+ ['PROTOCOL'],
False)
-
+
if CommentItemString:
pass
-
+
if CommentItemHelpText is None:
CommentItemHelpText = ''
if Count == len(CommentsList) and CommentItemUsage == CommentItemNotify == DT.ITEM_UNDEFINED:
CommentItemHelpText = DT.END_OF_LINE
-
+
if Count == len(CommentsList):
if BlockFlag == 1 or BlockFlag == 2:
if CommentItemUsage == CommentItemNotify == DT.ITEM_UNDEFINED:
@@ -61,9 +61,9 @@ def ParseProtocolComment(CommentsList, InfProtocolItemObj): else:
BlockFlag = 3
elif BlockFlag == -1:
- BlockFlag = 4
-
- if BlockFlag == -1 or BlockFlag == 1 or BlockFlag == 2:
+ BlockFlag = 4
+
+ if BlockFlag == -1 or BlockFlag == 1 or BlockFlag == 2:
if CommentItemUsage == CommentItemNotify == DT.ITEM_UNDEFINED:
if BlockFlag == -1:
BlockFlag = 1
@@ -74,36 +74,36 @@ def ParseProtocolComment(CommentsList, InfProtocolItemObj): BlockFlag = 3
elif BlockFlag == -1:
BlockFlag = 4
-
+
#
# Combine two comment line if they are generic comment
- #
+ #
if CommentItemUsage == CommentItemNotify == PreUsage == PreNotify == DT.ITEM_UNDEFINED:
CommentItemHelpText = PreHelpText + DT.END_OF_LINE + CommentItemHelpText
-
+
PreHelpText = CommentItemHelpText
-
- if BlockFlag == 4:
+
+ if BlockFlag == 4:
CommentItemIns = InfProtocolItemCommentContent()
CommentItemIns.SetUsageItem(CommentItemUsage)
CommentItemIns.SetNotify(CommentItemNotify)
CommentItemIns.SetHelpStringItem(CommentItemHelpText)
CommentInsList.append(CommentItemIns)
-
+
BlockFlag = -1
PreUsage = None
PreNotify = None
PreHelpText = ''
-
+
elif BlockFlag == 3:
#
# Add previous help string
- #
+ #
CommentItemIns = InfProtocolItemCommentContent()
CommentItemIns.SetUsageItem(DT.ITEM_UNDEFINED)
CommentItemIns.SetNotify(DT.ITEM_UNDEFINED)
if PreHelpText == '' or PreHelpText.endswith(DT.END_OF_LINE):
- PreHelpText += DT.END_OF_LINE
+ PreHelpText += DT.END_OF_LINE
CommentItemIns.SetHelpStringItem(PreHelpText)
CommentInsList.append(CommentItemIns)
#
@@ -114,25 +114,25 @@ def ParseProtocolComment(CommentsList, InfProtocolItemObj): CommentItemIns.SetNotify(CommentItemNotify)
CommentItemIns.SetHelpStringItem(CommentItemHelpText)
CommentInsList.append(CommentItemIns)
-
+
BlockFlag = -1
PreUsage = None
PreNotify = None
- PreHelpText = ''
-
+ PreHelpText = ''
+
else:
PreUsage = CommentItemUsage
PreNotify = CommentItemNotify
PreHelpText = CommentItemHelpText
-
+
InfProtocolItemObj.SetCommentList(CommentInsList)
-
+
return InfProtocolItemObj
class InfProtocolItemCommentContent():
def __init__(self):
#
- # ## SOMETIMES_CONSUMES ## HelpString
+ # ## SOMETIMES_CONSUMES ## HelpString
#
self.UsageItem = ''
#
@@ -141,44 +141,44 @@ class InfProtocolItemCommentContent(): self.HelpStringItem = ''
self.Notify = ''
self.CommentList = []
-
+
def SetUsageItem(self, UsageItem):
self.UsageItem = UsageItem
def GetUsageItem(self):
return self.UsageItem
-
+
def SetNotify(self, Notify):
if Notify != DT.ITEM_UNDEFINED:
self.Notify = 'true'
def GetNotify(self):
return self.Notify
-
+
def SetHelpStringItem(self, HelpStringItem):
self.HelpStringItem = HelpStringItem
def GetHelpStringItem(self):
return self.HelpStringItem
-
+
class InfProtocolItem():
def __init__(self):
self.Name = ''
self.FeatureFlagExp = ''
self.SupArchList = []
self.CommentList = []
-
+
def SetName(self, Name):
self.Name = Name
def GetName(self):
return self.Name
-
+
def SetFeatureFlagExp(self, FeatureFlagExp):
self.FeatureFlagExp = FeatureFlagExp
def GetFeatureFlagExp(self):
return self.FeatureFlagExp
-
+
def SetSupArchList(self, SupArchList):
self.SupArchList = SupArchList
def GetSupArchList(self):
- return self.SupArchList
+ return self.SupArchList
def SetCommentList(self, CommentList):
self.CommentList = CommentList
@@ -196,13 +196,13 @@ class InfProtocolObject(): # Macro defined in this section should be only used in this section.
#
self.Macros = {}
-
+
def SetProtocol(self, ProtocolContent, Arch = None,):
__SupArchList = []
for ArchItem in Arch:
#
# Validate Arch
- #
+ #
if (ArchItem == '' or ArchItem is None):
ArchItem = 'COMMON'
__SupArchList.append(ArchItem)
@@ -233,7 +233,7 @@ class InfProtocolObject(): if len(Item) == 2:
#
# Contained CName and Feature Flag Express
- # <statements> ::= <CName> ["|"
+ # <statements> ::= <CName> ["|"
# <FeatureFlagExpress>]
# For Protocol Object
#
@@ -248,14 +248,14 @@ class InfProtocolObject(): ErrorInInf(ST.ERR_INF_PARSER_FEATURE_FLAG_EXP_SYNTAX_INVLID%(FeatureFlagRtv[1]),
LineInfo=LineInfo)
InfProtocolItemObj.SetFeatureFlagExp(Item[1])
-
+
if len(Item) < 1 or len(Item) > 2:
#
- # Invalid format of Protocols statement
+ # Invalid format of Protocols statement
#
ErrorInInf(ST.ERR_INF_PARSER_GUID_PPI_PROTOCOL_SECTION_CONTENT_ERROR,
LineInfo=LineInfo)
-
+
#
# Get/Set Usage and HelpString for Protocol entry
#
@@ -266,20 +266,20 @@ class InfProtocolObject(): CommentItemIns.SetUsageItem(DT.ITEM_UNDEFINED)
CommentItemIns.SetNotify(DT.ITEM_UNDEFINED)
InfProtocolItemObj.SetCommentList([CommentItemIns])
-
+
InfProtocolItemObj.SetSupArchList(__SupArchList)
-
+
#
# Determine protocol name duplicate. Follow below rule:
#
- # A protocol must not be duplicated within a [Protocols] section.
- # A protocol may appear in multiple architectural [Protocols]
- # sections. A protocol listed in an architectural [Protocols]
- # section must not be listed in the common architectural
+ # A protocol must not be duplicated within a [Protocols] section.
+ # A protocol may appear in multiple architectural [Protocols]
+ # sections. A protocol listed in an architectural [Protocols]
+ # section must not be listed in the common architectural
# [Protocols] section.
- #
+ #
# NOTE: This check will not report error now.
- #
+ #
for Item in self.Protocols:
if Item.GetName() == InfProtocolItemObj.GetName():
ItemSupArchList = Item.GetSupArchList()
@@ -294,8 +294,8 @@ class InfProtocolObject(): #
# ST.ERR_INF_PARSER_ITEM_DUPLICATE_COMMON
#
- pass
-
+ pass
+
if (InfProtocolItemObj) in self.Protocols:
ProcotolList = self.Protocols[InfProtocolItemObj]
ProcotolList.append(InfProtocolItemObj)
@@ -304,8 +304,8 @@ class InfProtocolObject(): ProcotolList = []
ProcotolList.append(InfProtocolItemObj)
self.Protocols[InfProtocolItemObj] = ProcotolList
-
+
return True
-
+
def GetProtocol(self):
return self.Protocols
|