1. Adjust the structure of TableFile
[people/mcb30/basetools.git] / Source / Python / CommonDataClass / DataClass.py
index 4230426..9898a84 100644 (file)
@@ -35,10 +35,16 @@ MODEL_IDENTIFIER_PARAMETER = 2004
 MODEL_IDENTIFIER_STRUCTURE = 2005\r
 MODEL_IDENTIFIER_IDENTIFIER = 2006\r
 MODEL_IDENTIFIER_INCLUDE = 2007\r
 MODEL_IDENTIFIER_STRUCTURE = 2005\r
 MODEL_IDENTIFIER_IDENTIFIER = 2006\r
 MODEL_IDENTIFIER_INCLUDE = 2007\r
-MODEL_IDENTIFIER_MACRO = 2008\r
-MODEL_IDENTIFIER_PREDICATE_EXPRESSION = 2009\r
-MODEL_IDENTIFIER_ENUMERATE = 2010\r
-MODEL_IDENTIFIER_PCD = 2011\r
+MODEL_IDENTIFIER_PREDICATE_EXPRESSION = 2008\r
+MODEL_IDENTIFIER_ENUMERATE = 2009\r
+MODEL_IDENTIFIER_PCD = 2010\r
+MODEL_IDENTIFIER_UNION = 2011\r
+MODEL_IDENTIFIER_MACRO_IFDEF = 2012\r
+MODEL_IDENTIFIER_MACRO_IFNDEF = 2013\r
+MODEL_IDENTIFIER_MACRO_DEFINE = 2014\r
+MODEL_IDENTIFIER_MACRO_ENDIF = 2015\r
+MODEL_IDENTIFIER_MACRO_PROGMA = 2016\r
+\r
 \r
 MODEL_EFI_PROTOCOL = 3001\r
 MODEL_EFI_PPI = 3002\r
 \r
 MODEL_EFI_PROTOCOL = 3001\r
 MODEL_EFI_PPI = 3002\r
@@ -58,10 +64,12 @@ MODEL_PCD_DYNAMIC = 4005
 MODEL_META_DATA_HEADER = 5001\r
 MODEL_META_DATA_INCLUDE = 5002\r
 MODEL_META_DATA_DEFINE = 5003\r
 MODEL_META_DATA_HEADER = 5001\r
 MODEL_META_DATA_INCLUDE = 5002\r
 MODEL_META_DATA_DEFINE = 5003\r
-MODEL_META_DATA_IFDEF = 5004\r
-MODEL_META_DATA_IFNDEF = 5005\r
-MODEL_META_DATA_BUILD_OPTION = 5006\r
-MODEL_META_DATA_COMPONENT = 5007\r
+MODEL_META_DATA_CONDITIONAL_STATEMENT_IF = 5004\r
+MODEL_META_DATA_CONDITIONAL_STATEMENT_ELSE = 5005\r
+MODEL_META_DATA_CONDITIONAL_STATEMENT_IFDEF = 5006\r
+MODEL_META_DATA_CONDITIONAL_STATEMENT_IFNDEF = 5007\r
+MODEL_META_DATA_BUILD_OPTION = 5008\r
+MODEL_META_DATA_COMPONENT = 5009\r
 \r
 MODEL_LIST = [('MODEL_UNKNOWN', MODEL_UNKNOWN),\r
               ('MODEL_FILE_C', MODEL_FILE_C),\r
 \r
 MODEL_LIST = [('MODEL_UNKNOWN', MODEL_UNKNOWN),\r
               ('MODEL_FILE_C', MODEL_FILE_C),\r
@@ -78,16 +86,22 @@ MODEL_LIST = [('MODEL_UNKNOWN', MODEL_UNKNOWN),
               ('MODEL_IDENTIFIER_STRUCTURE', MODEL_IDENTIFIER_STRUCTURE),\r
               ('MODEL_IDENTIFIER_IDENTIFIER', MODEL_IDENTIFIER_IDENTIFIER),\r
               ('MODEL_IDENTIFIER_INCLUDE', MODEL_IDENTIFIER_INCLUDE),\r
               ('MODEL_IDENTIFIER_STRUCTURE', MODEL_IDENTIFIER_STRUCTURE),\r
               ('MODEL_IDENTIFIER_IDENTIFIER', MODEL_IDENTIFIER_IDENTIFIER),\r
               ('MODEL_IDENTIFIER_INCLUDE', MODEL_IDENTIFIER_INCLUDE),\r
-              ('MODEL_IDENTIFIER_MACRO', MODEL_IDENTIFIER_MACRO),\r
               ('MODEL_IDENTIFIER_PREDICATE_EXPRESSION', MODEL_IDENTIFIER_PREDICATE_EXPRESSION),\r
               ('MODEL_IDENTIFIER_ENUMERATE', MODEL_IDENTIFIER_ENUMERATE),\r
               ('MODEL_IDENTIFIER_PCD', MODEL_IDENTIFIER_PCD),\r
               ('MODEL_IDENTIFIER_PREDICATE_EXPRESSION', MODEL_IDENTIFIER_PREDICATE_EXPRESSION),\r
               ('MODEL_IDENTIFIER_ENUMERATE', MODEL_IDENTIFIER_ENUMERATE),\r
               ('MODEL_IDENTIFIER_PCD', MODEL_IDENTIFIER_PCD),\r
+              ('MODEL_IDENTIFIER_UNION', MODEL_IDENTIFIER_UNION),\r
+              ('MODEL_IDENTIFIER_MACRO_IFDEF', MODEL_IDENTIFIER_MACRO_IFDEF),\r
+              ('MODEL_IDENTIFIER_MACRO_IFNDEF', MODEL_IDENTIFIER_MACRO_IFNDEF),\r
+              ('MODEL_IDENTIFIER_MACRO_DEFINE', MODEL_IDENTIFIER_MACRO_DEFINE),\r
+              ('MODEL_IDENTIFIER_MACRO_ENDIF', MODEL_IDENTIFIER_MACRO_ENDIF),\r
+              ('MODEL_IDENTIFIER_MACRO_PROGMA', MODEL_IDENTIFIER_MACRO_PROGMA),\r
               ('MODEL_EFI_PROTOCOL', MODEL_EFI_PROTOCOL),\r
               ('MODEL_EFI_PPI', MODEL_EFI_PPI),\r
               ('MODEL_EFI_GUID', MODEL_EFI_GUID),\r
               ('MODEL_EFI_LIBRARY_CLASS', MODEL_EFI_LIBRARY_CLASS),\r
               ('MODEL_EFI_LIBRARY_INSTANCE', MODEL_EFI_LIBRARY_INSTANCE),\r
               ('MODEL_EFI_PCD', MODEL_EFI_PCD),\r
               ('MODEL_EFI_PROTOCOL', MODEL_EFI_PROTOCOL),\r
               ('MODEL_EFI_PPI', MODEL_EFI_PPI),\r
               ('MODEL_EFI_GUID', MODEL_EFI_GUID),\r
               ('MODEL_EFI_LIBRARY_CLASS', MODEL_EFI_LIBRARY_CLASS),\r
               ('MODEL_EFI_LIBRARY_INSTANCE', MODEL_EFI_LIBRARY_INSTANCE),\r
               ('MODEL_EFI_PCD', MODEL_EFI_PCD),\r
+              ('MODEL_IDENTIFIER_UNION', MODEL_IDENTIFIER_UNION),\r
               ('MODEL_EFI_SOURCE_FILE', MODEL_EFI_SOURCE_FILE),\r
               ('MODEL_EFI_BINARY_FILE', MODEL_EFI_BINARY_FILE),\r
               ('MODEL_PCD_FIXED_AT_BUILD', MODEL_PCD_FIXED_AT_BUILD),\r
               ('MODEL_EFI_SOURCE_FILE', MODEL_EFI_SOURCE_FILE),\r
               ('MODEL_EFI_BINARY_FILE', MODEL_EFI_BINARY_FILE),\r
               ('MODEL_PCD_FIXED_AT_BUILD', MODEL_PCD_FIXED_AT_BUILD),\r
@@ -98,8 +112,10 @@ MODEL_LIST = [('MODEL_UNKNOWN', MODEL_UNKNOWN),
               ("MODEL_META_DATA_HEADER", MODEL_META_DATA_HEADER),\r
               ("MODEL_META_DATA_INCLUDE", MODEL_META_DATA_INCLUDE),\r
               ("MODEL_META_DATA_DEFINE", MODEL_META_DATA_DEFINE),\r
               ("MODEL_META_DATA_HEADER", MODEL_META_DATA_HEADER),\r
               ("MODEL_META_DATA_INCLUDE", MODEL_META_DATA_INCLUDE),\r
               ("MODEL_META_DATA_DEFINE", MODEL_META_DATA_DEFINE),\r
-              ("MODEL_META_DATA_IFDEF", MODEL_META_DATA_IFDEF),\r
-              ("MODEL_META_DATA_IFNDEF", MODEL_META_DATA_IFNDEF),\r
+              ("MODEL_META_DATA_CONDITIONAL_STATEMENT_IF", MODEL_META_DATA_CONDITIONAL_STATEMENT_IF),\r
+              ("MODEL_META_DATA_CONDITIONAL_STATEMENT_ELSE", MODEL_META_DATA_CONDITIONAL_STATEMENT_ELSE),\r
+              ("MODEL_META_DATA_CONDITIONAL_STATEMENT_IFDEF", MODEL_META_DATA_CONDITIONAL_STATEMENT_IFDEF),\r
+              ("MODEL_META_DATA_CONDITIONAL_STATEMENT_IFNDEF", MODEL_META_DATA_CONDITIONAL_STATEMENT_IFNDEF),\r
               ("MODEL_META_DATA_BUILD_OPTION", MODEL_META_DATA_BUILD_OPTION),\r
               ("MODEL_META_DATA_COMPONENT", MODEL_META_DATA_COMPONENT)\r
              ]\r
               ("MODEL_META_DATA_BUILD_OPTION", MODEL_META_DATA_BUILD_OPTION),\r
               ("MODEL_META_DATA_COMPONENT", MODEL_META_DATA_COMPONENT)\r
              ]\r
@@ -117,6 +133,8 @@ MODEL_LIST = [('MODEL_UNKNOWN', MODEL_UNKNOWN),
 # @param StartColumn:      StartColumn of a Function\r
 # @param EndLine:          EndLine of a Function\r
 # @param EndColumn:        EndColumn of a Function\r
 # @param StartColumn:      StartColumn of a Function\r
 # @param EndLine:          EndLine of a Function\r
 # @param EndColumn:        EndColumn of a Function\r
+# @param BodyStartLine:    BodyStartLine of a Function Body\r
+# @param BodyStartColumn:  BodyStartColumn of a Function Body\r
 # @param BelongsToFile:    The Function belongs to which file\r
 # @param IdentifierList:   IdentifierList of a File\r
 # @param PcdList:          PcdList of a File\r
 # @param BelongsToFile:    The Function belongs to which file\r
 # @param IdentifierList:   IdentifierList of a File\r
 # @param PcdList:          PcdList of a File\r
@@ -130,12 +148,17 @@ MODEL_LIST = [('MODEL_UNKNOWN', MODEL_UNKNOWN),
 # @var StartColumn:        StartColumn of a Function\r
 # @var EndLine:            EndLine of a Function\r
 # @var EndColumn:          EndColumn of a Function\r
 # @var StartColumn:        StartColumn of a Function\r
 # @var EndLine:            EndLine of a Function\r
 # @var EndColumn:          EndColumn of a Function\r
+# @var BodyStartLine:      StartLine of a Function Body\r
+# @var BodyStartColumn:    StartColumn of a Function Body\r
 # @var BelongsToFile:      The Function belongs to which file\r
 # @var IdentifierList:     IdentifierList of a File\r
 # @var PcdList:            PcdList of a File\r
 #\r
 class FunctionClass(object):\r
 # @var BelongsToFile:      The Function belongs to which file\r
 # @var IdentifierList:     IdentifierList of a File\r
 # @var PcdList:            PcdList of a File\r
 #\r
 class FunctionClass(object):\r
-    def __init__(self, ID = -1, Header = '', Modifier = '', Name = '', ReturnStatement = '', StartLine = -1, StartColumn = -1, EndLine = -1, EndColumn = -1, BelongsToFile = -1, IdentifierList = [], PcdList = []):\r
+    def __init__(self, ID = -1, Header = '', Modifier = '', Name = '', ReturnStatement = '', \\r
+                 StartLine = -1, StartColumn = -1, EndLine = -1, EndColumn = -1, \\r
+                 BodyStartLine = -1, BodyStartColumn = -1, BelongsToFile = -1, \\r
+                 IdentifierList = [], PcdList = []):\r
         self.ID = ID\r
         self.Header = Header\r
         self.Modifier = Modifier                    \r
         self.ID = ID\r
         self.Header = Header\r
         self.Modifier = Modifier                    \r
@@ -145,6 +168,8 @@ class FunctionClass(object):
         self.StartColumn = StartColumn\r
         self.EndLine = EndLine\r
         self.EndColumn = EndColumn\r
         self.StartColumn = StartColumn\r
         self.EndLine = EndLine\r
         self.EndColumn = EndColumn\r
+        self.BodyStartLine = BodyStartLine\r
+        self.BodyStartColumn = BodyStartColumn\r
         self.BelongsToFile = BelongsToFile\r
         \r
         self.IdentifierList = IdentifierList\r
         self.BelongsToFile = BelongsToFile\r
         \r
         self.IdentifierList = IdentifierList\r
@@ -181,7 +206,8 @@ class FunctionClass(object):
 # @var EndColumn:            EndColumn of a Identifier\r
 #\r
 class IdentifierClass(object):\r
 # @var EndColumn:            EndColumn of a Identifier\r
 #\r
 class IdentifierClass(object):\r
-    def __init__(self, ID = -1, Modifier = '', Type = '', Name = '', Value = '', Model = MODEL_UNKNOWN, BelongsToFile = -1, BelongsToFunction = -1, StartLine = -1, StartColumn = -1, EndLine = -1, EndColumn = -1):\r
+    def __init__(self, ID = -1, Modifier = '', Type = '', Name = '', Value = '', Model = MODEL_UNKNOWN, \\r
+                 BelongsToFile = -1, BelongsToFunction = -1, StartLine = -1, StartColumn = -1, EndLine = -1, EndColumn = -1):\r
         self.ID = ID\r
         self.Modifier = Modifier\r
         self.Type = Type\r
         self.ID = ID\r
         self.Modifier = Modifier\r
         self.Type = Type\r
@@ -226,7 +252,8 @@ class IdentifierClass(object):
 # @var EndColumn:              EndColumn of a Pcd\r
 #\r
 class PcdClass(object):\r
 # @var EndColumn:              EndColumn of a Pcd\r
 #\r
 class PcdClass(object):\r
-    def __init__(self, ID = -1, CName = '', TokenSpaceGuidCName = '', Token = '', DatumType = '', Model = MODEL_UNKNOWN, BelongsToFile = -1, BelongsToFunction = -1, StartLine = -1, StartColumn = -1, EndLine = -1, EndColumn = -1):\r
+    def __init__(self, ID = -1, CName = '', TokenSpaceGuidCName = '', Token = '', DatumType = '', Model = MODEL_UNKNOWN, \\r
+                 BelongsToFile = -1, BelongsToFunction = -1, StartLine = -1, StartColumn = -1, EndLine = -1, EndColumn = -1):\r
         self.ID = ID\r
         self.CName = CName\r
         self.TokenSpaceGuidCName = TokenSpaceGuidCName\r
         self.ID = ID\r
         self.CName = CName\r
         self.TokenSpaceGuidCName = TokenSpaceGuidCName\r
@@ -249,6 +276,7 @@ class PcdClass(object):
 # @param Path:            Path of a File\r
 # @param FullPath:        FullPath of a File\r
 # @param Model:           Model of a File\r
 # @param Path:            Path of a File\r
 # @param FullPath:        FullPath of a File\r
 # @param Model:           Model of a File\r
+# @param TimeStamp:       TimeStamp of a File\r
 # @param FunctionList:    FunctionList of a File\r
 # @param IdentifierList:  IdentifierList of a File\r
 # @param PcdList:         PcdList of a File\r
 # @param FunctionList:    FunctionList of a File\r
 # @param IdentifierList:  IdentifierList of a File\r
 # @param PcdList:         PcdList of a File\r
@@ -259,18 +287,21 @@ class PcdClass(object):
 # @var Path:              Path of a File\r
 # @var FullPath:          FullPath of a File\r
 # @var Model:             Model of a File\r
 # @var Path:              Path of a File\r
 # @var FullPath:          FullPath of a File\r
 # @var Model:             Model of a File\r
+# @var TimeStamp:         TimeStamp of a File\r
 # @var FunctionList:      FunctionList of a File\r
 # @var IdentifierList:    IdentifierList of a File\r
 # @var PcdList:           PcdList of a File\r
 #\r
 class FileClass(object):\r
 # @var FunctionList:      FunctionList of a File\r
 # @var IdentifierList:    IdentifierList of a File\r
 # @var PcdList:           PcdList of a File\r
 #\r
 class FileClass(object):\r
-    def __init__(self, ID = -1, Name = '', ExtName = '', Path = '', FullPath = '', Model = MODEL_UNKNOWN, FunctionList = [], IdentifierList = [], PcdList = []):\r
+    def __init__(self, ID = -1, Name = '', ExtName = '', Path = '', FullPath = '', Model = MODEL_UNKNOWN, TimeStamp = '', \\r
+                 FunctionList = [], IdentifierList = [], PcdList = []):\r
         self.ID = ID                                   \r
         self.Name = Name\r
         self.ExtName = ExtName                    \r
         self.Path = Path\r
         self.FullPath = FullPath\r
         self.Model = Model\r
         self.ID = ID                                   \r
         self.Name = Name\r
         self.ExtName = ExtName                    \r
         self.Path = Path\r
         self.FullPath = FullPath\r
         self.Model = Model\r
+        self.TimeStamp = TimeStamp\r
         \r
         self.FunctionList = FunctionList\r
         self.IdentifierList = IdentifierList\r
         \r
         self.FunctionList = FunctionList\r
         self.IdentifierList = IdentifierList\r