* [PATCH v2 1/1] BaseTools: Ecc - add dict for config file to internal translation
[not found] <cover.1525452194.git.jaben.carsey@intel.com>
@ 2018-05-04 16:46 ` Jaben Carsey
2018-05-04 18:24 ` Laszlo Ersek
0 siblings, 1 reply; 3+ messages in thread
From: Jaben Carsey @ 2018-05-04 16:46 UTC (permalink / raw)
To: edk2-devel; +Cc: Liming Gao, Yonghong Zhu, Laszlo Ersek
Commit eece4292acc80 changed a variable name, which was tied directly to a
config file entry. this seperates the itnernal variable names from the
config file entries by having the internal dict accessed through a translation
of key words.
Cc: Liming Gao <liming.gao@intel.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
---
BaseTools/Source/Python/Ecc/Configuration.py | 101 +++++++++++++++++++-
1 file changed, 98 insertions(+), 3 deletions(-)
diff --git a/BaseTools/Source/Python/Ecc/Configuration.py b/BaseTools/Source/Python/Ecc/Configuration.py
index b5b583be8c4a..72377070f831 100644
--- a/BaseTools/Source/Python/Ecc/Configuration.py
+++ b/BaseTools/Source/Python/Ecc/Configuration.py
@@ -1,7 +1,7 @@
## @file
# This file is used to define class Configuration
#
-# Copyright (c) 2008 - 2017, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2008 - 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
@@ -20,6 +20,101 @@ from Common.DataType import *
from Common.String import *
from Common.LongFilePathSupport import OpenLongFilePath as open
+_ConfigFileToInternalTranslation = {
+ # not same
+ "ModifierList":"ModifierSet",
+
+ # same
+ "Version":"Version",
+ "CheckAll":"CheckAll",
+ "AutoCorrect":"AutoCorrect",
+ "GeneralCheckAll":"GeneralCheckAll",
+ "GeneralCheckNoTab":"GeneralCheckNoTab",
+ "GeneralCheckTabWidth":"GeneralCheckTabWidth",
+ "GeneralCheckIndentation":"GeneralCheckIndentation",
+ "GeneralCheckIndentationWidth":"GeneralCheckIndentationWidth",
+ "GeneralCheckLine":"GeneralCheckLine",
+ "GeneralCheckLineWidth":"GeneralCheckLineWidth",
+ "GeneralCheckNo_Asm":"GeneralCheckNo_Asm",
+ "GeneralCheckNoProgma":"GeneralCheckNoProgma",
+ "GeneralCheckCarriageReturn":"GeneralCheckCarriageReturn",
+ "GeneralCheckFileExistence":"GeneralCheckFileExistence",
+ "GeneralCheckNonAcsii":"GeneralCheckNonAcsii",
+ "GeneralCheckUni":"GeneralCheckUni",
+ "SpaceCheckAll":"SpaceCheckAll",
+ "PredicateExpressionCheckAll":"PredicateExpressionCheckAll",
+ "PredicateExpressionCheckBooleanValue":"PredicateExpressionCheckBooleanValue",
+ "PredicateExpressionCheckNonBooleanOperator":"PredicateExpressionCheckNonBooleanOperator",
+ "PredicateExpressionCheckComparisonNullType":"PredicateExpressionCheckComparisonNullType",
+ "HeaderCheckAll":"HeaderCheckAll",
+ "HeaderCheckFile":"HeaderCheckFile",
+ "HeaderCheckFunction":"HeaderCheckFunction",
+ "HeaderCheckFileCommentEnd":"HeaderCheckFileCommentEnd",
+ "HeaderCheckCFileCommentStartSpacesNum":"HeaderCheckCFileCommentStartSpacesNum",
+ "HeaderCheckCFileCommentReferenceFormat":"HeaderCheckCFileCommentReferenceFormat",
+ "HeaderCheckCFileCommentLicenseFormat":"HeaderCheckCFileCommentLicenseFormat",
+ "CFunctionLayoutCheckAll":"CFunctionLayoutCheckAll",
+ "CFunctionLayoutCheckReturnType":"CFunctionLayoutCheckReturnType",
+ "CFunctionLayoutCheckOptionalFunctionalModifier":"CFunctionLayoutCheckOptionalFunctionalModifier",
+ "CFunctionLayoutCheckFunctionName":"CFunctionLayoutCheckFunctionName",
+ "CFunctionLayoutCheckFunctionPrototype":"CFunctionLayoutCheckFunctionPrototype",
+ "CFunctionLayoutCheckFunctionBody":"CFunctionLayoutCheckFunctionBody",
+ "CFunctionLayoutCheckDataDeclaration":"CFunctionLayoutCheckDataDeclaration",
+ "CFunctionLayoutCheckNoInitOfVariable":"CFunctionLayoutCheckNoInitOfVariable",
+ "CFunctionLayoutCheckNoStatic":"CFunctionLayoutCheckNoStatic",
+ "IncludeFileCheckAll":"IncludeFileCheckAll",
+ "IncludeFileCheckSameName":"IncludeFileCheckSameName",
+ "IncludeFileCheckIfndefStatement":"IncludeFileCheckIfndefStatement",
+ "IncludeFileCheckData":"IncludeFileCheckData",
+ "DeclarationDataTypeCheckAll":"DeclarationDataTypeCheckAll",
+ "DeclarationDataTypeCheckNoUseCType":"DeclarationDataTypeCheckNoUseCType",
+ "DeclarationDataTypeCheckInOutModifier":"DeclarationDataTypeCheckInOutModifier",
+ "DeclarationDataTypeCheckEFIAPIModifier":"DeclarationDataTypeCheckEFIAPIModifier",
+ "DeclarationDataTypeCheckEnumeratedType":"DeclarationDataTypeCheckEnumeratedType",
+ "DeclarationDataTypeCheckStructureDeclaration":"DeclarationDataTypeCheckStructureDeclaration",
+ "DeclarationDataTypeCheckSameStructure":"DeclarationDataTypeCheckSameStructure",
+ "DeclarationDataTypeCheckUnionType":"DeclarationDataTypeCheckUnionType",
+ "NamingConventionCheckAll":"NamingConventionCheckAll",
+ "NamingConventionCheckDefineStatement":"NamingConventionCheckDefineStatement",
+ "NamingConventionCheckTypedefStatement":"NamingConventionCheckTypedefStatement",
+ "NamingConventionCheckIfndefStatement":"NamingConventionCheckIfndefStatement",
+ "NamingConventionCheckPathName":"NamingConventionCheckPathName",
+ "NamingConventionCheckVariableName":"NamingConventionCheckVariableName",
+ "NamingConventionCheckFunctionName":"NamingConventionCheckFunctionName",
+ "NamingConventionCheckSingleCharacterVariable":"NamingConventionCheckSingleCharacterVariable",
+ "DoxygenCheckAll":"DoxygenCheckAll",
+ "DoxygenCheckFileHeader":"DoxygenCheckFileHeader",
+ "DoxygenCheckFunctionHeader":"DoxygenCheckFunctionHeader",
+ "DoxygenCheckCommentDescription":"DoxygenCheckCommentDescription",
+ "DoxygenCheckCommentFormat":"DoxygenCheckCommentFormat",
+ "DoxygenCheckCommand":"DoxygenCheckCommand",
+ "MetaDataFileCheckAll":"MetaDataFileCheckAll",
+ "MetaDataFileCheckPathName":"MetaDataFileCheckPathName",
+ "MetaDataFileCheckGenerateFileList":"MetaDataFileCheckGenerateFileList",
+ "MetaDataFileCheckPathOfGenerateFileList":"MetaDataFileCheckPathOfGenerateFileList",
+ "MetaDataFileCheckLibraryInstance":"MetaDataFileCheckLibraryInstance",
+ "MetaDataFileCheckLibraryInstanceDependent":"MetaDataFileCheckLibraryInstanceDependent",
+ "MetaDataFileCheckLibraryInstanceOrder":"MetaDataFileCheckLibraryInstanceOrder",
+ "MetaDataFileCheckLibraryNoUse":"MetaDataFileCheckLibraryNoUse",
+ "MetaDataFileCheckLibraryDefinedInDec":"MetaDataFileCheckLibraryDefinedInDec",
+ "MetaDataFileCheckBinaryInfInFdf":"MetaDataFileCheckBinaryInfInFdf",
+ "MetaDataFileCheckPcdDuplicate":"MetaDataFileCheckPcdDuplicate",
+ "MetaDataFileCheckPcdFlash":"MetaDataFileCheckPcdFlash",
+ "MetaDataFileCheckPcdNoUse":"MetaDataFileCheckPcdNoUse",
+ "MetaDataFileCheckGuidDuplicate":"MetaDataFileCheckGuidDuplicate",
+ "MetaDataFileCheckModuleFileNoUse":"MetaDataFileCheckModuleFileNoUse",
+ "MetaDataFileCheckPcdType":"MetaDataFileCheckPcdType",
+ "MetaDataFileCheckModuleFileGuidDuplication":"MetaDataFileCheckModuleFileGuidDuplication",
+ "UniCheckAll":"UniCheckAll",
+ "UniCheckHelpInfo":"UniCheckHelpInfo",
+ "UniCheckPCDInfo":"UniCheckPCDInfo",
+ "GeneralCheckUni":"GeneralCheckUni",
+ "SmmCommParaCheckAll":"SmmCommParaCheckAll",
+ "SmmCommParaCheckBufferType":"SmmCommParaCheckBufferType",
+ "BinaryExtList":"BinaryExtList",
+ "ScanOnlyDirList":"ScanOnlyDirList"
+ }
+
## Configuration
#
# This class is used to define all items in configuration file
@@ -297,7 +392,7 @@ class Configuration(object):
Line = CleanString(Line)
if Line != '':
List = GetSplitValueList(Line, TAB_EQUAL_SPLIT)
- if List[0] not in self.__dict__:
+ if _ConfigFileToInternalTranslation[List[0]] not in self.__dict__:
ErrorMsg = "Invalid configuration option '%s' was found" % List[0]
EdkLogger.error("Ecc", EdkLogger.ECC_ERROR, ErrorMsg, File = Filepath, Line = LineNo)
if List[0] == 'ModifierList':
@@ -312,7 +407,7 @@ class Configuration(object):
List[1] = GetSplitValueList(List[1], TAB_COMMA_SPLIT)
if List[0] == 'Copyright':
List[1] = GetSplitValueList(List[1], TAB_COMMA_SPLIT)
- self.__dict__[List[0]] = List[1]
+ self.__dict__[_ConfigFileToInternalTranslation[List[0]]] = List[1]
def ShowMe(self):
print self.Filename
--
2.16.2.windows.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v2 1/1] BaseTools: Ecc - add dict for config file to internal translation
2018-05-04 16:46 ` [PATCH v2 1/1] BaseTools: Ecc - add dict for config file to internal translation Jaben Carsey
@ 2018-05-04 18:24 ` Laszlo Ersek
2018-05-04 20:24 ` Carsey, Jaben
0 siblings, 1 reply; 3+ messages in thread
From: Laszlo Ersek @ 2018-05-04 18:24 UTC (permalink / raw)
To: Jaben Carsey, edk2-devel; +Cc: Liming Gao, Yonghong Zhu
On 05/04/18 18:46, Jaben Carsey wrote:
> Commit eece4292acc80 changed a variable name, which was tied directly to a
> config file entry. this seperates the itnernal variable names from the
> config file entries by having the internal dict accessed through a translation
> of key words.
>
> Cc: Liming Gao <liming.gao@intel.com>
> Cc: Yonghong Zhu <yonghong.zhu@intel.com>
> Cc: Laszlo Ersek <lersek@redhat.com>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
> ---
> BaseTools/Source/Python/Ecc/Configuration.py | 101 +++++++++++++++++++-
> 1 file changed, 98 insertions(+), 3 deletions(-)
>
> diff --git a/BaseTools/Source/Python/Ecc/Configuration.py b/BaseTools/Source/Python/Ecc/Configuration.py
> index b5b583be8c4a..72377070f831 100644
> --- a/BaseTools/Source/Python/Ecc/Configuration.py
> +++ b/BaseTools/Source/Python/Ecc/Configuration.py
> @@ -1,7 +1,7 @@
> ## @file
> # This file is used to define class Configuration
> #
> -# Copyright (c) 2008 - 2017, Intel Corporation. All rights reserved.<BR>
> +# Copyright (c) 2008 - 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
> @@ -20,6 +20,101 @@ from Common.DataType import *
> from Common.String import *
> from Common.LongFilePathSupport import OpenLongFilePath as open
>
> +_ConfigFileToInternalTranslation = {
> + # not same
> + "ModifierList":"ModifierSet",
> +
> + # same
> + "Version":"Version",
> + "CheckAll":"CheckAll",
> + "AutoCorrect":"AutoCorrect",
> + "GeneralCheckAll":"GeneralCheckAll",
> + "GeneralCheckNoTab":"GeneralCheckNoTab",
> + "GeneralCheckTabWidth":"GeneralCheckTabWidth",
> + "GeneralCheckIndentation":"GeneralCheckIndentation",
> + "GeneralCheckIndentationWidth":"GeneralCheckIndentationWidth",
> + "GeneralCheckLine":"GeneralCheckLine",
> + "GeneralCheckLineWidth":"GeneralCheckLineWidth",
> + "GeneralCheckNo_Asm":"GeneralCheckNo_Asm",
> + "GeneralCheckNoProgma":"GeneralCheckNoProgma",
> + "GeneralCheckCarriageReturn":"GeneralCheckCarriageReturn",
> + "GeneralCheckFileExistence":"GeneralCheckFileExistence",
> + "GeneralCheckNonAcsii":"GeneralCheckNonAcsii",
> + "GeneralCheckUni":"GeneralCheckUni",
> + "SpaceCheckAll":"SpaceCheckAll",
> + "PredicateExpressionCheckAll":"PredicateExpressionCheckAll",
> + "PredicateExpressionCheckBooleanValue":"PredicateExpressionCheckBooleanValue",
> + "PredicateExpressionCheckNonBooleanOperator":"PredicateExpressionCheckNonBooleanOperator",
> + "PredicateExpressionCheckComparisonNullType":"PredicateExpressionCheckComparisonNullType",
> + "HeaderCheckAll":"HeaderCheckAll",
> + "HeaderCheckFile":"HeaderCheckFile",
> + "HeaderCheckFunction":"HeaderCheckFunction",
> + "HeaderCheckFileCommentEnd":"HeaderCheckFileCommentEnd",
> + "HeaderCheckCFileCommentStartSpacesNum":"HeaderCheckCFileCommentStartSpacesNum",
> + "HeaderCheckCFileCommentReferenceFormat":"HeaderCheckCFileCommentReferenceFormat",
> + "HeaderCheckCFileCommentLicenseFormat":"HeaderCheckCFileCommentLicenseFormat",
> + "CFunctionLayoutCheckAll":"CFunctionLayoutCheckAll",
> + "CFunctionLayoutCheckReturnType":"CFunctionLayoutCheckReturnType",
> + "CFunctionLayoutCheckOptionalFunctionalModifier":"CFunctionLayoutCheckOptionalFunctionalModifier",
> + "CFunctionLayoutCheckFunctionName":"CFunctionLayoutCheckFunctionName",
> + "CFunctionLayoutCheckFunctionPrototype":"CFunctionLayoutCheckFunctionPrototype",
> + "CFunctionLayoutCheckFunctionBody":"CFunctionLayoutCheckFunctionBody",
> + "CFunctionLayoutCheckDataDeclaration":"CFunctionLayoutCheckDataDeclaration",
> + "CFunctionLayoutCheckNoInitOfVariable":"CFunctionLayoutCheckNoInitOfVariable",
> + "CFunctionLayoutCheckNoStatic":"CFunctionLayoutCheckNoStatic",
> + "IncludeFileCheckAll":"IncludeFileCheckAll",
> + "IncludeFileCheckSameName":"IncludeFileCheckSameName",
> + "IncludeFileCheckIfndefStatement":"IncludeFileCheckIfndefStatement",
> + "IncludeFileCheckData":"IncludeFileCheckData",
> + "DeclarationDataTypeCheckAll":"DeclarationDataTypeCheckAll",
> + "DeclarationDataTypeCheckNoUseCType":"DeclarationDataTypeCheckNoUseCType",
> + "DeclarationDataTypeCheckInOutModifier":"DeclarationDataTypeCheckInOutModifier",
> + "DeclarationDataTypeCheckEFIAPIModifier":"DeclarationDataTypeCheckEFIAPIModifier",
> + "DeclarationDataTypeCheckEnumeratedType":"DeclarationDataTypeCheckEnumeratedType",
> + "DeclarationDataTypeCheckStructureDeclaration":"DeclarationDataTypeCheckStructureDeclaration",
> + "DeclarationDataTypeCheckSameStructure":"DeclarationDataTypeCheckSameStructure",
> + "DeclarationDataTypeCheckUnionType":"DeclarationDataTypeCheckUnionType",
> + "NamingConventionCheckAll":"NamingConventionCheckAll",
> + "NamingConventionCheckDefineStatement":"NamingConventionCheckDefineStatement",
> + "NamingConventionCheckTypedefStatement":"NamingConventionCheckTypedefStatement",
> + "NamingConventionCheckIfndefStatement":"NamingConventionCheckIfndefStatement",
> + "NamingConventionCheckPathName":"NamingConventionCheckPathName",
> + "NamingConventionCheckVariableName":"NamingConventionCheckVariableName",
> + "NamingConventionCheckFunctionName":"NamingConventionCheckFunctionName",
> + "NamingConventionCheckSingleCharacterVariable":"NamingConventionCheckSingleCharacterVariable",
> + "DoxygenCheckAll":"DoxygenCheckAll",
> + "DoxygenCheckFileHeader":"DoxygenCheckFileHeader",
> + "DoxygenCheckFunctionHeader":"DoxygenCheckFunctionHeader",
> + "DoxygenCheckCommentDescription":"DoxygenCheckCommentDescription",
> + "DoxygenCheckCommentFormat":"DoxygenCheckCommentFormat",
> + "DoxygenCheckCommand":"DoxygenCheckCommand",
> + "MetaDataFileCheckAll":"MetaDataFileCheckAll",
> + "MetaDataFileCheckPathName":"MetaDataFileCheckPathName",
> + "MetaDataFileCheckGenerateFileList":"MetaDataFileCheckGenerateFileList",
> + "MetaDataFileCheckPathOfGenerateFileList":"MetaDataFileCheckPathOfGenerateFileList",
> + "MetaDataFileCheckLibraryInstance":"MetaDataFileCheckLibraryInstance",
> + "MetaDataFileCheckLibraryInstanceDependent":"MetaDataFileCheckLibraryInstanceDependent",
> + "MetaDataFileCheckLibraryInstanceOrder":"MetaDataFileCheckLibraryInstanceOrder",
> + "MetaDataFileCheckLibraryNoUse":"MetaDataFileCheckLibraryNoUse",
> + "MetaDataFileCheckLibraryDefinedInDec":"MetaDataFileCheckLibraryDefinedInDec",
> + "MetaDataFileCheckBinaryInfInFdf":"MetaDataFileCheckBinaryInfInFdf",
> + "MetaDataFileCheckPcdDuplicate":"MetaDataFileCheckPcdDuplicate",
> + "MetaDataFileCheckPcdFlash":"MetaDataFileCheckPcdFlash",
> + "MetaDataFileCheckPcdNoUse":"MetaDataFileCheckPcdNoUse",
> + "MetaDataFileCheckGuidDuplicate":"MetaDataFileCheckGuidDuplicate",
> + "MetaDataFileCheckModuleFileNoUse":"MetaDataFileCheckModuleFileNoUse",
> + "MetaDataFileCheckPcdType":"MetaDataFileCheckPcdType",
> + "MetaDataFileCheckModuleFileGuidDuplication":"MetaDataFileCheckModuleFileGuidDuplication",
> + "UniCheckAll":"UniCheckAll",
> + "UniCheckHelpInfo":"UniCheckHelpInfo",
> + "UniCheckPCDInfo":"UniCheckPCDInfo",
> + "GeneralCheckUni":"GeneralCheckUni",
> + "SmmCommParaCheckAll":"SmmCommParaCheckAll",
> + "SmmCommParaCheckBufferType":"SmmCommParaCheckBufferType",
> + "BinaryExtList":"BinaryExtList",
> + "ScanOnlyDirList":"ScanOnlyDirList"
> + }
> +
> ## Configuration
> #
> # This class is used to define all items in configuration file
> @@ -297,7 +392,7 @@ class Configuration(object):
> Line = CleanString(Line)
> if Line != '':
> List = GetSplitValueList(Line, TAB_EQUAL_SPLIT)
> - if List[0] not in self.__dict__:
> + if _ConfigFileToInternalTranslation[List[0]] not in self.__dict__:
> ErrorMsg = "Invalid configuration option '%s' was found" % List[0]
> EdkLogger.error("Ecc", EdkLogger.ECC_ERROR, ErrorMsg, File = Filepath, Line = LineNo)
> if List[0] == 'ModifierList':
> @@ -312,7 +407,7 @@ class Configuration(object):
> List[1] = GetSplitValueList(List[1], TAB_COMMA_SPLIT)
> if List[0] == 'Copyright':
> List[1] = GetSplitValueList(List[1], TAB_COMMA_SPLIT)
> - self.__dict__[List[0]] = List[1]
> + self.__dict__[_ConfigFileToInternalTranslation[List[0]]] = List[1]
>
> def ShowMe(self):
> print self.Filename
>
Ouch, I didn't think the dictionary was this large. :/
Anyway, I still think this is the right approach. Three comments:
* The commit message is too wide. It should be 74 chars or so.
* Can we keep the list sorted (in the source code)? Because, at the
moment, the "GeneralCheckUni":"GeneralCheckUni" entry is duplicated.
That's easier to notice if the entries are sorted.
Maybe add a comment too about keeping the lists sorted.
* If the config file contains an error (typo or completely bogus option
name), now we will not get a nice error message. Because, before we
get to evaluate "translated_name in self.__dict__", the translation
lookup will itself fail. I think that throws a KeyError exception.
I think we should:
- report "invalid config option" if the explicit translation fails,
- use an additional assertion that the translated option name is in
self.__dict__ (it should be an assertion because if it fails, it
indicates a bug in Ecc).
To save you some time, I'll paste the uniquely sorted list of "same"
entries at the end (87 key:value pairs).
Thanks!
Laszlo
"AutoCorrect":"AutoCorrect",
"BinaryExtList":"BinaryExtList",
"CFunctionLayoutCheckAll":"CFunctionLayoutCheckAll",
"CFunctionLayoutCheckDataDeclaration":"CFunctionLayoutCheckDataDeclaration",
"CFunctionLayoutCheckFunctionBody":"CFunctionLayoutCheckFunctionBody",
"CFunctionLayoutCheckFunctionName":"CFunctionLayoutCheckFunctionName",
"CFunctionLayoutCheckFunctionPrototype":"CFunctionLayoutCheckFunctionPrototype",
"CFunctionLayoutCheckNoInitOfVariable":"CFunctionLayoutCheckNoInitOfVariable",
"CFunctionLayoutCheckNoStatic":"CFunctionLayoutCheckNoStatic",
"CFunctionLayoutCheckOptionalFunctionalModifier":"CFunctionLayoutCheckOptionalFunctionalModifier",
"CFunctionLayoutCheckReturnType":"CFunctionLayoutCheckReturnType",
"CheckAll":"CheckAll",
"DeclarationDataTypeCheckAll":"DeclarationDataTypeCheckAll",
"DeclarationDataTypeCheckEFIAPIModifier":"DeclarationDataTypeCheckEFIAPIModifier",
"DeclarationDataTypeCheckEnumeratedType":"DeclarationDataTypeCheckEnumeratedType",
"DeclarationDataTypeCheckInOutModifier":"DeclarationDataTypeCheckInOutModifier",
"DeclarationDataTypeCheckNoUseCType":"DeclarationDataTypeCheckNoUseCType",
"DeclarationDataTypeCheckSameStructure":"DeclarationDataTypeCheckSameStructure",
"DeclarationDataTypeCheckStructureDeclaration":"DeclarationDataTypeCheckStructureDeclaration",
"DeclarationDataTypeCheckUnionType":"DeclarationDataTypeCheckUnionType",
"DoxygenCheckAll":"DoxygenCheckAll",
"DoxygenCheckCommand":"DoxygenCheckCommand",
"DoxygenCheckCommentDescription":"DoxygenCheckCommentDescription",
"DoxygenCheckCommentFormat":"DoxygenCheckCommentFormat",
"DoxygenCheckFileHeader":"DoxygenCheckFileHeader",
"DoxygenCheckFunctionHeader":"DoxygenCheckFunctionHeader",
"GeneralCheckAll":"GeneralCheckAll",
"GeneralCheckCarriageReturn":"GeneralCheckCarriageReturn",
"GeneralCheckFileExistence":"GeneralCheckFileExistence",
"GeneralCheckIndentation":"GeneralCheckIndentation",
"GeneralCheckIndentationWidth":"GeneralCheckIndentationWidth",
"GeneralCheckLine":"GeneralCheckLine",
"GeneralCheckLineWidth":"GeneralCheckLineWidth",
"GeneralCheckNoProgma":"GeneralCheckNoProgma",
"GeneralCheckNoTab":"GeneralCheckNoTab",
"GeneralCheckNo_Asm":"GeneralCheckNo_Asm",
"GeneralCheckNonAcsii":"GeneralCheckNonAcsii",
"GeneralCheckTabWidth":"GeneralCheckTabWidth",
"GeneralCheckUni":"GeneralCheckUni",
"HeaderCheckAll":"HeaderCheckAll",
"HeaderCheckCFileCommentLicenseFormat":"HeaderCheckCFileCommentLicenseFormat",
"HeaderCheckCFileCommentReferenceFormat":"HeaderCheckCFileCommentReferenceFormat",
"HeaderCheckCFileCommentStartSpacesNum":"HeaderCheckCFileCommentStartSpacesNum",
"HeaderCheckFile":"HeaderCheckFile",
"HeaderCheckFileCommentEnd":"HeaderCheckFileCommentEnd",
"HeaderCheckFunction":"HeaderCheckFunction",
"IncludeFileCheckAll":"IncludeFileCheckAll",
"IncludeFileCheckData":"IncludeFileCheckData",
"IncludeFileCheckIfndefStatement":"IncludeFileCheckIfndefStatement",
"IncludeFileCheckSameName":"IncludeFileCheckSameName",
"MetaDataFileCheckAll":"MetaDataFileCheckAll",
"MetaDataFileCheckBinaryInfInFdf":"MetaDataFileCheckBinaryInfInFdf",
"MetaDataFileCheckGenerateFileList":"MetaDataFileCheckGenerateFileList",
"MetaDataFileCheckGuidDuplicate":"MetaDataFileCheckGuidDuplicate",
"MetaDataFileCheckLibraryDefinedInDec":"MetaDataFileCheckLibraryDefinedInDec",
"MetaDataFileCheckLibraryInstance":"MetaDataFileCheckLibraryInstance",
"MetaDataFileCheckLibraryInstanceDependent":"MetaDataFileCheckLibraryInstanceDependent",
"MetaDataFileCheckLibraryInstanceOrder":"MetaDataFileCheckLibraryInstanceOrder",
"MetaDataFileCheckLibraryNoUse":"MetaDataFileCheckLibraryNoUse",
"MetaDataFileCheckModuleFileGuidDuplication":"MetaDataFileCheckModuleFileGuidDuplication",
"MetaDataFileCheckModuleFileNoUse":"MetaDataFileCheckModuleFileNoUse",
"MetaDataFileCheckPathName":"MetaDataFileCheckPathName",
"MetaDataFileCheckPathOfGenerateFileList":"MetaDataFileCheckPathOfGenerateFileList",
"MetaDataFileCheckPcdDuplicate":"MetaDataFileCheckPcdDuplicate",
"MetaDataFileCheckPcdFlash":"MetaDataFileCheckPcdFlash",
"MetaDataFileCheckPcdNoUse":"MetaDataFileCheckPcdNoUse",
"MetaDataFileCheckPcdType":"MetaDataFileCheckPcdType",
"NamingConventionCheckAll":"NamingConventionCheckAll",
"NamingConventionCheckDefineStatement":"NamingConventionCheckDefineStatement",
"NamingConventionCheckFunctionName":"NamingConventionCheckFunctionName",
"NamingConventionCheckIfndefStatement":"NamingConventionCheckIfndefStatement",
"NamingConventionCheckPathName":"NamingConventionCheckPathName",
"NamingConventionCheckSingleCharacterVariable":"NamingConventionCheckSingleCharacterVariable",
"NamingConventionCheckTypedefStatement":"NamingConventionCheckTypedefStatement",
"NamingConventionCheckVariableName":"NamingConventionCheckVariableName",
"PredicateExpressionCheckAll":"PredicateExpressionCheckAll",
"PredicateExpressionCheckBooleanValue":"PredicateExpressionCheckBooleanValue",
"PredicateExpressionCheckComparisonNullType":"PredicateExpressionCheckComparisonNullType",
"PredicateExpressionCheckNonBooleanOperator":"PredicateExpressionCheckNonBooleanOperator",
"ScanOnlyDirList":"ScanOnlyDirList",
"SmmCommParaCheckAll":"SmmCommParaCheckAll",
"SmmCommParaCheckBufferType":"SmmCommParaCheckBufferType",
"SpaceCheckAll":"SpaceCheckAll",
"UniCheckAll":"UniCheckAll",
"UniCheckHelpInfo":"UniCheckHelpInfo",
"UniCheckPCDInfo":"UniCheckPCDInfo",
"Version":"Version"
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH v2 1/1] BaseTools: Ecc - add dict for config file to internal translation
2018-05-04 18:24 ` Laszlo Ersek
@ 2018-05-04 20:24 ` Carsey, Jaben
0 siblings, 0 replies; 3+ messages in thread
From: Carsey, Jaben @ 2018-05-04 20:24 UTC (permalink / raw)
To: Laszlo Ersek, edk2-devel@lists.01.org; +Cc: Gao, Liming, Zhu, Yonghong
Incoming v3. I found that some more entries in the dict were missing due to config.ini sample file vs class membership. Not everything was in the sample file. I also decided to add a test function to use to verify class and dict completeness.
> -----Original Message-----
> From: Laszlo Ersek [mailto:lersek@redhat.com]
> Sent: Friday, May 04, 2018 11:25 AM
> To: Carsey, Jaben <jaben.carsey@intel.com>; edk2-devel@lists.01.org
> Cc: Gao, Liming <liming.gao@intel.com>; Zhu, Yonghong
> <yonghong.zhu@intel.com>
> Subject: Re: [PATCH v2 1/1] BaseTools: Ecc - add dict for config file to internal
> translation
> Importance: High
>
> On 05/04/18 18:46, Jaben Carsey wrote:
> > Commit eece4292acc80 changed a variable name, which was tied directly to
> a
> > config file entry. this seperates the itnernal variable names from the
> > config file entries by having the internal dict accessed through a translation
> > of key words.
> >
> > Cc: Liming Gao <liming.gao@intel.com>
> > Cc: Yonghong Zhu <yonghong.zhu@intel.com>
> > Cc: Laszlo Ersek <lersek@redhat.com>
> > Contributed-under: TianoCore Contribution Agreement 1.1
> > Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
> > ---
> > BaseTools/Source/Python/Ecc/Configuration.py | 101
> +++++++++++++++++++-
> > 1 file changed, 98 insertions(+), 3 deletions(-)
> >
> > diff --git a/BaseTools/Source/Python/Ecc/Configuration.py
> b/BaseTools/Source/Python/Ecc/Configuration.py
> > index b5b583be8c4a..72377070f831 100644
> > --- a/BaseTools/Source/Python/Ecc/Configuration.py
> > +++ b/BaseTools/Source/Python/Ecc/Configuration.py
> > @@ -1,7 +1,7 @@
> > ## @file
> > # This file is used to define class Configuration
> > #
> > -# Copyright (c) 2008 - 2017, Intel Corporation. All rights reserved.<BR>
> > +# Copyright (c) 2008 - 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
> > @@ -20,6 +20,101 @@ from Common.DataType import *
> > from Common.String import *
> > from Common.LongFilePathSupport import OpenLongFilePath as open
> >
> > +_ConfigFileToInternalTranslation = {
> > + # not same
> > + "ModifierList":"ModifierSet",
> > +
> > + # same
> > + "Version":"Version",
> > + "CheckAll":"CheckAll",
> > + "AutoCorrect":"AutoCorrect",
> > + "GeneralCheckAll":"GeneralCheckAll",
> > + "GeneralCheckNoTab":"GeneralCheckNoTab",
> > + "GeneralCheckTabWidth":"GeneralCheckTabWidth",
> > + "GeneralCheckIndentation":"GeneralCheckIndentation",
> > + "GeneralCheckIndentationWidth":"GeneralCheckIndentationWidth",
> > + "GeneralCheckLine":"GeneralCheckLine",
> > + "GeneralCheckLineWidth":"GeneralCheckLineWidth",
> > + "GeneralCheckNo_Asm":"GeneralCheckNo_Asm",
> > + "GeneralCheckNoProgma":"GeneralCheckNoProgma",
> > + "GeneralCheckCarriageReturn":"GeneralCheckCarriageReturn",
> > + "GeneralCheckFileExistence":"GeneralCheckFileExistence",
> > + "GeneralCheckNonAcsii":"GeneralCheckNonAcsii",
> > + "GeneralCheckUni":"GeneralCheckUni",
> > + "SpaceCheckAll":"SpaceCheckAll",
> > + "PredicateExpressionCheckAll":"PredicateExpressionCheckAll",
> > +
> "PredicateExpressionCheckBooleanValue":"PredicateExpressionCheckBoole
> anValue",
> > +
> "PredicateExpressionCheckNonBooleanOperator":"PredicateExpressionChec
> kNonBooleanOperator",
> > +
> "PredicateExpressionCheckComparisonNullType":"PredicateExpressionChec
> kComparisonNullType",
> > + "HeaderCheckAll":"HeaderCheckAll",
> > + "HeaderCheckFile":"HeaderCheckFile",
> > + "HeaderCheckFunction":"HeaderCheckFunction",
> > + "HeaderCheckFileCommentEnd":"HeaderCheckFileCommentEnd",
> > +
> "HeaderCheckCFileCommentStartSpacesNum":"HeaderCheckCFileComment
> StartSpacesNum",
> > +
> "HeaderCheckCFileCommentReferenceFormat":"HeaderCheckCFileCommen
> tReferenceFormat",
> > +
> "HeaderCheckCFileCommentLicenseFormat":"HeaderCheckCFileCommentLic
> enseFormat",
> > + "CFunctionLayoutCheckAll":"CFunctionLayoutCheckAll",
> > +
> "CFunctionLayoutCheckReturnType":"CFunctionLayoutCheckReturnType",
> > +
> "CFunctionLayoutCheckOptionalFunctionalModifier":"CFunctionLayoutCheck
> OptionalFunctionalModifier",
> > +
> "CFunctionLayoutCheckFunctionName":"CFunctionLayoutCheckFunctionNa
> me",
> > +
> "CFunctionLayoutCheckFunctionPrototype":"CFunctionLayoutCheckFunction
> Prototype",
> > +
> "CFunctionLayoutCheckFunctionBody":"CFunctionLayoutCheckFunctionBody
> ",
> > +
> "CFunctionLayoutCheckDataDeclaration":"CFunctionLayoutCheckDataDeclara
> tion",
> > +
> "CFunctionLayoutCheckNoInitOfVariable":"CFunctionLayoutCheckNoInitOfV
> ariable",
> > + "CFunctionLayoutCheckNoStatic":"CFunctionLayoutCheckNoStatic",
> > + "IncludeFileCheckAll":"IncludeFileCheckAll",
> > + "IncludeFileCheckSameName":"IncludeFileCheckSameName",
> > +
> "IncludeFileCheckIfndefStatement":"IncludeFileCheckIfndefStatement",
> > + "IncludeFileCheckData":"IncludeFileCheckData",
> > + "DeclarationDataTypeCheckAll":"DeclarationDataTypeCheckAll",
> > +
> "DeclarationDataTypeCheckNoUseCType":"DeclarationDataTypeCheckNoUs
> eCType",
> > +
> "DeclarationDataTypeCheckInOutModifier":"DeclarationDataTypeCheckInOu
> tModifier",
> > +
> "DeclarationDataTypeCheckEFIAPIModifier":"DeclarationDataTypeCheckEFIA
> PIModifier",
> > +
> "DeclarationDataTypeCheckEnumeratedType":"DeclarationDataTypeCheckE
> numeratedType",
> > +
> "DeclarationDataTypeCheckStructureDeclaration":"DeclarationDataTypeChec
> kStructureDeclaration",
> > +
> "DeclarationDataTypeCheckSameStructure":"DeclarationDataTypeCheckSam
> eStructure",
> > +
> "DeclarationDataTypeCheckUnionType":"DeclarationDataTypeCheckUnionTy
> pe",
> > + "NamingConventionCheckAll":"NamingConventionCheckAll",
> > +
> "NamingConventionCheckDefineStatement":"NamingConventionCheckDefi
> neStatement",
> > +
> "NamingConventionCheckTypedefStatement":"NamingConventionCheckTyp
> edefStatement",
> > +
> "NamingConventionCheckIfndefStatement":"NamingConventionCheckIfnde
> fStatement",
> > +
> "NamingConventionCheckPathName":"NamingConventionCheckPathName"
> ,
> > +
> "NamingConventionCheckVariableName":"NamingConventionCheckVariable
> Name",
> > +
> "NamingConventionCheckFunctionName":"NamingConventionCheckFunctio
> nName",
> > +
> "NamingConventionCheckSingleCharacterVariable":"NamingConventionChec
> kSingleCharacterVariable",
> > + "DoxygenCheckAll":"DoxygenCheckAll",
> > + "DoxygenCheckFileHeader":"DoxygenCheckFileHeader",
> > + "DoxygenCheckFunctionHeader":"DoxygenCheckFunctionHeader",
> > +
> "DoxygenCheckCommentDescription":"DoxygenCheckCommentDescription"
> ,
> > + "DoxygenCheckCommentFormat":"DoxygenCheckCommentFormat",
> > + "DoxygenCheckCommand":"DoxygenCheckCommand",
> > + "MetaDataFileCheckAll":"MetaDataFileCheckAll",
> > + "MetaDataFileCheckPathName":"MetaDataFileCheckPathName",
> > +
> "MetaDataFileCheckGenerateFileList":"MetaDataFileCheckGenerateFileList",
> > +
> "MetaDataFileCheckPathOfGenerateFileList":"MetaDataFileCheckPathOfGe
> nerateFileList",
> > +
> "MetaDataFileCheckLibraryInstance":"MetaDataFileCheckLibraryInstance",
> > +
> "MetaDataFileCheckLibraryInstanceDependent":"MetaDataFileCheckLibraryI
> nstanceDependent",
> > +
> "MetaDataFileCheckLibraryInstanceOrder":"MetaDataFileCheckLibraryInstan
> ceOrder",
> > + "MetaDataFileCheckLibraryNoUse":"MetaDataFileCheckLibraryNoUse",
> > +
> "MetaDataFileCheckLibraryDefinedInDec":"MetaDataFileCheckLibraryDefine
> dInDec",
> > +
> "MetaDataFileCheckBinaryInfInFdf":"MetaDataFileCheckBinaryInfInFdf",
> > + "MetaDataFileCheckPcdDuplicate":"MetaDataFileCheckPcdDuplicate",
> > + "MetaDataFileCheckPcdFlash":"MetaDataFileCheckPcdFlash",
> > + "MetaDataFileCheckPcdNoUse":"MetaDataFileCheckPcdNoUse",
> > +
> "MetaDataFileCheckGuidDuplicate":"MetaDataFileCheckGuidDuplicate",
> > +
> "MetaDataFileCheckModuleFileNoUse":"MetaDataFileCheckModuleFileNoU
> se",
> > + "MetaDataFileCheckPcdType":"MetaDataFileCheckPcdType",
> > +
> "MetaDataFileCheckModuleFileGuidDuplication":"MetaDataFileCheckModul
> eFileGuidDuplication",
> > + "UniCheckAll":"UniCheckAll",
> > + "UniCheckHelpInfo":"UniCheckHelpInfo",
> > + "UniCheckPCDInfo":"UniCheckPCDInfo",
> > + "GeneralCheckUni":"GeneralCheckUni",
> > + "SmmCommParaCheckAll":"SmmCommParaCheckAll",
> > +
> "SmmCommParaCheckBufferType":"SmmCommParaCheckBufferType",
> > + "BinaryExtList":"BinaryExtList",
> > + "ScanOnlyDirList":"ScanOnlyDirList"
> > + }
> > +
> > ## Configuration
> > #
> > # This class is used to define all items in configuration file
> > @@ -297,7 +392,7 @@ class Configuration(object):
> > Line = CleanString(Line)
> > if Line != '':
> > List = GetSplitValueList(Line, TAB_EQUAL_SPLIT)
> > - if List[0] not in self.__dict__:
> > + if _ConfigFileToInternalTranslation[List[0]] not in self.__dict__:
> > ErrorMsg = "Invalid configuration option '%s' was found" % List[0]
> > EdkLogger.error("Ecc", EdkLogger.ECC_ERROR, ErrorMsg, File =
> Filepath, Line = LineNo)
> > if List[0] == 'ModifierList':
> > @@ -312,7 +407,7 @@ class Configuration(object):
> > List[1] = GetSplitValueList(List[1], TAB_COMMA_SPLIT)
> > if List[0] == 'Copyright':
> > List[1] = GetSplitValueList(List[1], TAB_COMMA_SPLIT)
> > - self.__dict__[List[0]] = List[1]
> > + self.__dict__[_ConfigFileToInternalTranslation[List[0]]] = List[1]
> >
> > def ShowMe(self):
> > print self.Filename
> >
>
>
> Ouch, I didn't think the dictionary was this large. :/
>
> Anyway, I still think this is the right approach. Three comments:
>
> * The commit message is too wide. It should be 74 chars or so.
>
> * Can we keep the list sorted (in the source code)? Because, at the
> moment, the "GeneralCheckUni":"GeneralCheckUni" entry is duplicated.
> That's easier to notice if the entries are sorted.
>
> Maybe add a comment too about keeping the lists sorted.
>
> * If the config file contains an error (typo or completely bogus option
> name), now we will not get a nice error message. Because, before we
> get to evaluate "translated_name in self.__dict__", the translation
> lookup will itself fail. I think that throws a KeyError exception.
>
> I think we should:
> - report "invalid config option" if the explicit translation fails,
> - use an additional assertion that the translated option name is in
> self.__dict__ (it should be an assertion because if it fails, it
> indicates a bug in Ecc).
>
> To save you some time, I'll paste the uniquely sorted list of "same"
> entries at the end (87 key:value pairs).
>
> Thanks!
> Laszlo
>
> "AutoCorrect":"AutoCorrect",
> "BinaryExtList":"BinaryExtList",
> "CFunctionLayoutCheckAll":"CFunctionLayoutCheckAll",
>
> "CFunctionLayoutCheckDataDeclaration":"CFunctionLayoutCheckDataDeclara
> tion",
>
> "CFunctionLayoutCheckFunctionBody":"CFunctionLayoutCheckFunctionBody
> ",
>
> "CFunctionLayoutCheckFunctionName":"CFunctionLayoutCheckFunctionNa
> me",
>
> "CFunctionLayoutCheckFunctionPrototype":"CFunctionLayoutCheckFunction
> Prototype",
>
> "CFunctionLayoutCheckNoInitOfVariable":"CFunctionLayoutCheckNoInitOfV
> ariable",
> "CFunctionLayoutCheckNoStatic":"CFunctionLayoutCheckNoStatic",
>
> "CFunctionLayoutCheckOptionalFunctionalModifier":"CFunctionLayoutCheck
> OptionalFunctionalModifier",
> "CFunctionLayoutCheckReturnType":"CFunctionLayoutCheckReturnType",
> "CheckAll":"CheckAll",
> "DeclarationDataTypeCheckAll":"DeclarationDataTypeCheckAll",
>
> "DeclarationDataTypeCheckEFIAPIModifier":"DeclarationDataTypeCheckEFIA
> PIModifier",
>
> "DeclarationDataTypeCheckEnumeratedType":"DeclarationDataTypeCheckE
> numeratedType",
>
> "DeclarationDataTypeCheckInOutModifier":"DeclarationDataTypeCheckInOu
> tModifier",
>
> "DeclarationDataTypeCheckNoUseCType":"DeclarationDataTypeCheckNoUs
> eCType",
>
> "DeclarationDataTypeCheckSameStructure":"DeclarationDataTypeCheckSam
> eStructure",
>
> "DeclarationDataTypeCheckStructureDeclaration":"DeclarationDataTypeChec
> kStructureDeclaration",
>
> "DeclarationDataTypeCheckUnionType":"DeclarationDataTypeCheckUnionTy
> pe",
> "DoxygenCheckAll":"DoxygenCheckAll",
> "DoxygenCheckCommand":"DoxygenCheckCommand",
>
> "DoxygenCheckCommentDescription":"DoxygenCheckCommentDescription"
> ,
> "DoxygenCheckCommentFormat":"DoxygenCheckCommentFormat",
> "DoxygenCheckFileHeader":"DoxygenCheckFileHeader",
> "DoxygenCheckFunctionHeader":"DoxygenCheckFunctionHeader",
> "GeneralCheckAll":"GeneralCheckAll",
> "GeneralCheckCarriageReturn":"GeneralCheckCarriageReturn",
> "GeneralCheckFileExistence":"GeneralCheckFileExistence",
> "GeneralCheckIndentation":"GeneralCheckIndentation",
> "GeneralCheckIndentationWidth":"GeneralCheckIndentationWidth",
> "GeneralCheckLine":"GeneralCheckLine",
> "GeneralCheckLineWidth":"GeneralCheckLineWidth",
> "GeneralCheckNoProgma":"GeneralCheckNoProgma",
> "GeneralCheckNoTab":"GeneralCheckNoTab",
> "GeneralCheckNo_Asm":"GeneralCheckNo_Asm",
> "GeneralCheckNonAcsii":"GeneralCheckNonAcsii",
> "GeneralCheckTabWidth":"GeneralCheckTabWidth",
> "GeneralCheckUni":"GeneralCheckUni",
> "HeaderCheckAll":"HeaderCheckAll",
>
> "HeaderCheckCFileCommentLicenseFormat":"HeaderCheckCFileCommentLic
> enseFormat",
>
> "HeaderCheckCFileCommentReferenceFormat":"HeaderCheckCFileCommen
> tReferenceFormat",
>
> "HeaderCheckCFileCommentStartSpacesNum":"HeaderCheckCFileComment
> StartSpacesNum",
> "HeaderCheckFile":"HeaderCheckFile",
> "HeaderCheckFileCommentEnd":"HeaderCheckFileCommentEnd",
> "HeaderCheckFunction":"HeaderCheckFunction",
> "IncludeFileCheckAll":"IncludeFileCheckAll",
> "IncludeFileCheckData":"IncludeFileCheckData",
> "IncludeFileCheckIfndefStatement":"IncludeFileCheckIfndefStatement",
> "IncludeFileCheckSameName":"IncludeFileCheckSameName",
> "MetaDataFileCheckAll":"MetaDataFileCheckAll",
> "MetaDataFileCheckBinaryInfInFdf":"MetaDataFileCheckBinaryInfInFdf",
>
> "MetaDataFileCheckGenerateFileList":"MetaDataFileCheckGenerateFileList",
> "MetaDataFileCheckGuidDuplicate":"MetaDataFileCheckGuidDuplicate",
>
> "MetaDataFileCheckLibraryDefinedInDec":"MetaDataFileCheckLibraryDefine
> dInDec",
> "MetaDataFileCheckLibraryInstance":"MetaDataFileCheckLibraryInstance",
>
> "MetaDataFileCheckLibraryInstanceDependent":"MetaDataFileCheckLibraryI
> nstanceDependent",
>
> "MetaDataFileCheckLibraryInstanceOrder":"MetaDataFileCheckLibraryInstan
> ceOrder",
> "MetaDataFileCheckLibraryNoUse":"MetaDataFileCheckLibraryNoUse",
>
> "MetaDataFileCheckModuleFileGuidDuplication":"MetaDataFileCheckModul
> eFileGuidDuplication",
>
> "MetaDataFileCheckModuleFileNoUse":"MetaDataFileCheckModuleFileNoU
> se",
> "MetaDataFileCheckPathName":"MetaDataFileCheckPathName",
>
> "MetaDataFileCheckPathOfGenerateFileList":"MetaDataFileCheckPathOfGe
> nerateFileList",
> "MetaDataFileCheckPcdDuplicate":"MetaDataFileCheckPcdDuplicate",
> "MetaDataFileCheckPcdFlash":"MetaDataFileCheckPcdFlash",
> "MetaDataFileCheckPcdNoUse":"MetaDataFileCheckPcdNoUse",
> "MetaDataFileCheckPcdType":"MetaDataFileCheckPcdType",
> "NamingConventionCheckAll":"NamingConventionCheckAll",
>
> "NamingConventionCheckDefineStatement":"NamingConventionCheckDefi
> neStatement",
>
> "NamingConventionCheckFunctionName":"NamingConventionCheckFunctio
> nName",
>
> "NamingConventionCheckIfndefStatement":"NamingConventionCheckIfnde
> fStatement",
>
> "NamingConventionCheckPathName":"NamingConventionCheckPathName"
> ,
>
> "NamingConventionCheckSingleCharacterVariable":"NamingConventionChec
> kSingleCharacterVariable",
>
> "NamingConventionCheckTypedefStatement":"NamingConventionCheckTyp
> edefStatement",
>
> "NamingConventionCheckVariableName":"NamingConventionCheckVariable
> Name",
> "PredicateExpressionCheckAll":"PredicateExpressionCheckAll",
>
> "PredicateExpressionCheckBooleanValue":"PredicateExpressionCheckBoole
> anValue",
>
> "PredicateExpressionCheckComparisonNullType":"PredicateExpressionChec
> kComparisonNullType",
>
> "PredicateExpressionCheckNonBooleanOperator":"PredicateExpressionChec
> kNonBooleanOperator",
> "ScanOnlyDirList":"ScanOnlyDirList",
> "SmmCommParaCheckAll":"SmmCommParaCheckAll",
> "SmmCommParaCheckBufferType":"SmmCommParaCheckBufferType",
> "SpaceCheckAll":"SpaceCheckAll",
> "UniCheckAll":"UniCheckAll",
> "UniCheckHelpInfo":"UniCheckHelpInfo",
> "UniCheckPCDInfo":"UniCheckPCDInfo",
> "Version":"Version"
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2018-05-04 20:24 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <cover.1525452194.git.jaben.carsey@intel.com>
2018-05-04 16:46 ` [PATCH v2 1/1] BaseTools: Ecc - add dict for config file to internal translation Jaben Carsey
2018-05-04 18:24 ` Laszlo Ersek
2018-05-04 20:24 ` Carsey, Jaben
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox