]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/Workspace/InfBuildData.py
BaseTools: Workspace classes refactor properties
[mirror_edk2.git] / BaseTools / Source / Python / Workspace / InfBuildData.py
index d666c092a6de67faac6d9c1408ac07c0c8f9b6a3..0016cd30ce7ac9caf09f095c06c5ddd462663c2f 100644 (file)
@@ -157,40 +157,42 @@ class InfBuildData(ModuleBuildClassObject):
         self._BuildOptions          = None\r
         self._Depex                 = None\r
         self._DepexExpression       = None\r
-        self.__Macros               = None\r
+        self._MacroDict             = None\r
 \r
     ## Get current effective macros\r
-    def _GetMacros(self):\r
-        if self.__Macros is None:\r
-            self.__Macros = {}\r
+    @property\r
+    def _Macros(self):\r
+        if self._MacroDict is None:\r
+            self._MacroDict = {}\r
             # EDK_GLOBAL defined macros can be applied to EDK module\r
             if self.AutoGenVersion < 0x00010005:\r
-                self.__Macros.update(GlobalData.gEdkGlobal)\r
-                self.__Macros.update(GlobalData.gGlobalDefines)\r
-        return self.__Macros\r
+                self._MacroDict.update(GlobalData.gEdkGlobal)\r
+                self._MacroDict.update(GlobalData.gGlobalDefines)\r
+        return self._MacroDict\r
 \r
     ## Get architecture\r
-    def _GetArch(self):\r
+    @property\r
+    def Arch(self):\r
         return self._Arch\r
 \r
     ## Return the name of platform employing this module\r
-    def _GetPlatform(self):\r
+    @property\r
+    def Platform(self):\r
         return self._Platform\r
 \r
-    def _GetHeaderComments(self):\r
+\r
+    @property\r
+    def HeaderComments(self):\r
         if not self._HeaderComments:\r
-            self._HeaderComments = []\r
-            RecordList = self._RawData[MODEL_META_DATA_HEADER_COMMENT]\r
-            for Record in RecordList:\r
-                self._HeaderComments.append(Record[0])\r
+            self._HeaderComments = [a[0] for a in self._RawData[MODEL_META_DATA_HEADER_COMMENT]]\r
         return self._HeaderComments\r
-    def _GetTailComments(self):\r
+\r
+    @property\r
+    def TailComments(self):\r
         if not self._TailComments:\r
-            self._TailComments = []\r
-            RecordList = self._RawData[MODEL_META_DATA_TAIL_COMMENT]\r
-            for Record in RecordList:\r
-                self._TailComments.append(Record[0])\r
+            self._TailComments = [a[0] for a in self._RawData[MODEL_META_DATA_TAIL_COMMENT]]\r
         return self._TailComments\r
+\r
     ## Retrieve all information in [Defines] section\r
     #\r
     #   (Retriving all [Defines] information in one-shot is just to save time.)\r
@@ -371,7 +373,8 @@ class InfBuildData(ModuleBuildClassObject):
         self._Header_ = 'DUMMY'\r
 \r
     ## Retrieve file version\r
-    def _GetInfVersion(self):\r
+    @property\r
+    def AutoGenVersion(self):\r
         if self._AutoGenVersion is None:\r
             RecordList = self._RawData[MODEL_META_DATA_HEADER, self._Arch, self._Platform]\r
             for Record in RecordList:\r
@@ -389,7 +392,8 @@ class InfBuildData(ModuleBuildClassObject):
         return self._AutoGenVersion\r
 \r
     ## Retrieve BASE_NAME\r
-    def _GetBaseName(self):\r
+    @property\r
+    def BaseName(self):\r
         if self._BaseName is None:\r
             if self._Header_ is None:\r
                 self._GetHeaderInfo()\r
@@ -398,7 +402,8 @@ class InfBuildData(ModuleBuildClassObject):
         return self._BaseName\r
 \r
     ## Retrieve DxsFile\r
-    def _GetDxsFile(self):\r
+    @property\r
+    def DxsFile(self):\r
         if self._DxsFile is None:\r
             if self._Header_ is None:\r
                 self._GetHeaderInfo()\r
@@ -407,7 +412,8 @@ class InfBuildData(ModuleBuildClassObject):
         return self._DxsFile\r
 \r
     ## Retrieve MODULE_TYPE\r
-    def _GetModuleType(self):\r
+    @property\r
+    def ModuleType(self):\r
         if self._ModuleType is None:\r
             if self._Header_ is None:\r
                 self._GetHeaderInfo()\r
@@ -418,7 +424,8 @@ class InfBuildData(ModuleBuildClassObject):
         return self._ModuleType\r
 \r
     ## Retrieve COMPONENT_TYPE\r
-    def _GetComponentType(self):\r
+    @property\r
+    def ComponentType(self):\r
         if self._ComponentType is None:\r
             if self._Header_ is None:\r
                 self._GetHeaderInfo()\r
@@ -427,7 +434,8 @@ class InfBuildData(ModuleBuildClassObject):
         return self._ComponentType\r
 \r
     ## Retrieve "BUILD_TYPE"\r
-    def _GetBuildType(self):\r
+    @property\r
+    def BuildType(self):\r
         if self._BuildType is None:\r
             if self._Header_ is None:\r
                 self._GetHeaderInfo()\r
@@ -436,7 +444,8 @@ class InfBuildData(ModuleBuildClassObject):
         return self._BuildType\r
 \r
     ## Retrieve file guid\r
-    def _GetFileGuid(self):\r
+    @property\r
+    def Guid(self):\r
         if self._Guid is None:\r
             if self._Header_ is None:\r
                 self._GetHeaderInfo()\r
@@ -445,7 +454,8 @@ class InfBuildData(ModuleBuildClassObject):
         return self._Guid\r
 \r
     ## Retrieve module version\r
-    def _GetVersion(self):\r
+    @property\r
+    def Version(self):\r
         if self._Version is None:\r
             if self._Header_ is None:\r
                 self._GetHeaderInfo()\r
@@ -454,7 +464,8 @@ class InfBuildData(ModuleBuildClassObject):
         return self._Version\r
 \r
     ## Retrieve PCD_IS_DRIVER\r
-    def _GetPcdIsDriver(self):\r
+    @property\r
+    def PcdIsDriver(self):\r
         if self._PcdIsDriver is None:\r
             if self._Header_ is None:\r
                 self._GetHeaderInfo()\r
@@ -463,7 +474,8 @@ class InfBuildData(ModuleBuildClassObject):
         return self._PcdIsDriver\r
 \r
     ## Retrieve SHADOW\r
-    def _GetShadow(self):\r
+    @property\r
+    def Shadow(self):\r
         if self._Shadow is None:\r
             if self._Header_ is None:\r
                 self._GetHeaderInfo()\r
@@ -474,7 +486,8 @@ class InfBuildData(ModuleBuildClassObject):
         return self._Shadow\r
 \r
     ## Retrieve CUSTOM_MAKEFILE\r
-    def _GetMakefile(self):\r
+    @property\r
+    def CustomMakefile(self):\r
         if self._CustomMakefile is None:\r
             if self._Header_ is None:\r
                 self._GetHeaderInfo()\r
@@ -483,7 +496,8 @@ class InfBuildData(ModuleBuildClassObject):
         return self._CustomMakefile\r
 \r
     ## Retrieve EFI_SPECIFICATION_VERSION\r
-    def _GetSpec(self):\r
+    @property\r
+    def Specification(self):\r
         if self._Specification is None:\r
             if self._Header_ is None:\r
                 self._GetHeaderInfo()\r
@@ -492,7 +506,8 @@ class InfBuildData(ModuleBuildClassObject):
         return self._Specification\r
 \r
     ## Retrieve LIBRARY_CLASS\r
-    def _GetLibraryClass(self):\r
+    @property\r
+    def LibraryClass(self):\r
         if self._LibraryClass is None:\r
             if self._Header_ is None:\r
                 self._GetHeaderInfo()\r
@@ -501,7 +516,8 @@ class InfBuildData(ModuleBuildClassObject):
         return self._LibraryClass\r
 \r
     ## Retrieve ENTRY_POINT\r
-    def _GetEntryPoint(self):\r
+    @property\r
+    def ModuleEntryPointList(self):\r
         if self._ModuleEntryPointList is None:\r
             if self._Header_ is None:\r
                 self._GetHeaderInfo()\r
@@ -510,7 +526,8 @@ class InfBuildData(ModuleBuildClassObject):
         return self._ModuleEntryPointList\r
 \r
     ## Retrieve UNLOAD_IMAGE\r
-    def _GetUnloadImage(self):\r
+    @property\r
+    def ModuleUnloadImageList(self):\r
         if self._ModuleUnloadImageList is None:\r
             if self._Header_ is None:\r
                 self._GetHeaderInfo()\r
@@ -519,7 +536,8 @@ class InfBuildData(ModuleBuildClassObject):
         return self._ModuleUnloadImageList\r
 \r
     ## Retrieve CONSTRUCTOR\r
-    def _GetConstructor(self):\r
+    @property\r
+    def ConstructorList(self):\r
         if self._ConstructorList is None:\r
             if self._Header_ is None:\r
                 self._GetHeaderInfo()\r
@@ -528,7 +546,8 @@ class InfBuildData(ModuleBuildClassObject):
         return self._ConstructorList\r
 \r
     ## Retrieve DESTRUCTOR\r
-    def _GetDestructor(self):\r
+    @property\r
+    def DestructorList(self):\r
         if self._DestructorList is None:\r
             if self._Header_ is None:\r
                 self._GetHeaderInfo()\r
@@ -537,7 +556,8 @@ class InfBuildData(ModuleBuildClassObject):
         return self._DestructorList\r
 \r
     ## Retrieve definies other than above ones\r
-    def _GetDefines(self):\r
+    @property\r
+    def Defines(self):\r
         if len(self._Defs) == 0 and self._Header_ is None:\r
             self._GetHeaderInfo()\r
         return self._Defs\r
@@ -571,7 +591,8 @@ class InfBuildData(ModuleBuildClassObject):
         return self._Binaries\r
 \r
     ## Retrieve binary files with error check.\r
-    def _GetBinaryFiles(self):\r
+    @property\r
+    def Binaries(self):\r
         Binaries = self._GetBinaries()\r
         if GlobalData.gIgnoreSource and Binaries == []:\r
             ErrorInfo = "The INF file does not contain any Binaries to use in creating the image\n"\r
@@ -580,7 +601,8 @@ class InfBuildData(ModuleBuildClassObject):
         return Binaries\r
 \r
     ## Retrieve source files\r
-    def _GetSourceFiles(self):\r
+    @property\r
+    def Sources(self):\r
         # Ignore all source files in a binary build mode\r
         if GlobalData.gIgnoreSource:\r
             self._Sources = []\r
@@ -626,7 +648,8 @@ class InfBuildData(ModuleBuildClassObject):
         return self._Sources\r
 \r
     ## Retrieve library classes employed by this module\r
-    def _GetLibraryClassUses(self):\r
+    @property\r
+    def LibraryClasses(self):\r
         if self._LibraryClasses is None:\r
             self._LibraryClasses = OrderedDict()\r
             RecordList = self._RawData[MODEL_EFI_LIBRARY_CLASS, self._Arch, self._Platform]\r
@@ -639,7 +662,8 @@ class InfBuildData(ModuleBuildClassObject):
         return self._LibraryClasses\r
 \r
     ## Retrieve library names (for Edk.x style of modules)\r
-    def _GetLibraryNames(self):\r
+    @property\r
+    def Libraries(self):\r
         if self._Libraries is None:\r
             self._Libraries = []\r
             RecordList = self._RawData[MODEL_EFI_LIBRARY_INSTANCE, self._Arch, self._Platform]\r
@@ -651,11 +675,14 @@ class InfBuildData(ModuleBuildClassObject):
                     self._Libraries.append(LibraryName)\r
         return self._Libraries\r
 \r
-    def _GetProtocolComments(self):\r
-        self._GetProtocols()\r
+    @property\r
+    def ProtocolComments(self):\r
+        self.Protocols\r
         return self._ProtocolComments\r
+\r
     ## Retrieve protocols consumed/produced by this module\r
-    def _GetProtocols(self):\r
+    @property\r
+    def Protocols(self):\r
         if self._Protocols is None:\r
             self._Protocols = OrderedDict()\r
             self._ProtocolComments = OrderedDict()\r
@@ -676,11 +703,14 @@ class InfBuildData(ModuleBuildClassObject):
                 self._ProtocolComments[CName] = Comments\r
         return self._Protocols\r
 \r
-    def _GetPpiComments(self):\r
-        self._GetPpis()\r
+    @property\r
+    def PpiComments(self):\r
+        self.Ppis\r
         return self._PpiComments\r
+\r
     ## Retrieve PPIs consumed/produced by this module\r
-    def _GetPpis(self):\r
+    @property\r
+    def Ppis(self):\r
         if self._Ppis is None:\r
             self._Ppis = OrderedDict()\r
             self._PpiComments = OrderedDict()\r
@@ -701,11 +731,14 @@ class InfBuildData(ModuleBuildClassObject):
                 self._PpiComments[CName] = Comments\r
         return self._Ppis\r
 \r
-    def _GetGuidComments(self):\r
-        self._GetGuids()\r
+    @property\r
+    def GuidComments(self):\r
+        self.Guids\r
         return self._GuidComments\r
+\r
     ## Retrieve GUIDs consumed/produced by this module\r
-    def _GetGuids(self):\r
+    @property\r
+    def Guids(self):\r
         if self._Guids is None:\r
             self._Guids = OrderedDict()\r
             self._GuidComments = OrderedDict()\r
@@ -727,7 +760,8 @@ class InfBuildData(ModuleBuildClassObject):
         return self._Guids\r
 \r
     ## Retrieve include paths necessary for this module (for Edk.x style of modules)\r
-    def _GetIncludes(self):\r
+    @property\r
+    def Includes(self):\r
         if self._Includes is None:\r
             self._Includes = []\r
             if self._SourceOverridePath:\r
@@ -781,7 +815,8 @@ class InfBuildData(ModuleBuildClassObject):
         return self._Includes\r
 \r
     ## Retrieve packages this module depends on\r
-    def _GetPackages(self):\r
+    @property\r
+    def Packages(self):\r
         if self._Packages is None:\r
             self._Packages = []\r
             RecordList = self._RawData[MODEL_META_DATA_PACKAGE, self._Arch, self._Platform]\r
@@ -800,11 +835,14 @@ class InfBuildData(ModuleBuildClassObject):
         return self._Packages\r
 \r
     ## Retrieve PCD comments\r
-    def _GetPcdComments(self):\r
-        self._GetPcds()\r
+    @property\r
+    def PcdComments(self):\r
+        self.Pcds\r
         return self._PcdComments\r
+\r
     ## Retrieve PCDs used in this module\r
-    def _GetPcds(self):\r
+    @property\r
+    def Pcds(self):\r
         if self._Pcds is None:\r
             self._Pcds = OrderedDict()\r
             self._PcdComments = OrderedDict()\r
@@ -816,7 +854,8 @@ class InfBuildData(ModuleBuildClassObject):
         return self._Pcds\r
 \r
     ## Retrieve build options specific to this module\r
-    def _GetBuildOptions(self):\r
+    @property\r
+    def BuildOptions(self):\r
         if self._BuildOptions is None:\r
             self._BuildOptions = OrderedDict()\r
             RecordList = self._RawData[MODEL_META_DATA_BUILD_OPTION, self._Arch, self._Platform]\r
@@ -833,7 +872,8 @@ class InfBuildData(ModuleBuildClassObject):
         return self._BuildOptions\r
 \r
     ## Retrieve dependency expression\r
-    def _GetDepex(self):\r
+    @property\r
+    def Depex(self):\r
         if self._Depex is None:\r
             self._Depex = tdict(False, 2)\r
             RecordList = self._RawData[MODEL_EFI_DEPEX, self._Arch]\r
@@ -904,7 +944,8 @@ class InfBuildData(ModuleBuildClassObject):
         return self._Depex\r
 \r
     ## Retrieve depedency expression\r
-    def _GetDepexExpression(self):\r
+    @property\r
+    def DepexExpression(self):\r
         if self._DepexExpression is None:\r
             self._DepexExpression = tdict(False, 2)\r
             RecordList = self._RawData[MODEL_EFI_DEPEX, self._Arch]\r
@@ -924,6 +965,7 @@ class InfBuildData(ModuleBuildClassObject):
 \r
     def GetGuidsUsedByPcd(self):\r
         return self._GuidsUsedByPcd\r
+\r
     ## Retrieve PCD for given type\r
     def _GetPcd(self, Type):\r
         Pcds = OrderedDict()\r
@@ -1114,54 +1156,8 @@ class InfBuildData(ModuleBuildClassObject):
         return Pcds\r
 \r
     ## check whether current module is binary module\r
-    def _IsBinaryModule(self):\r
-        if self.Binaries and not self.Sources:\r
-            return True\r
-        elif GlobalData.gIgnoreSource:\r
+    @property\r
+    def IsBinaryModule(self):\r
+        if (self.Binaries and not self.Sources) or GlobalData.gIgnoreSource:\r
             return True\r
-        else:\r
-            return False\r
-\r
-    _Macros = property(_GetMacros)\r
-    Arch = property(_GetArch)\r
-    Platform = property(_GetPlatform)\r
-\r
-    HeaderComments = property(_GetHeaderComments)\r
-    TailComments = property(_GetTailComments)\r
-    AutoGenVersion          = property(_GetInfVersion)\r
-    BaseName                = property(_GetBaseName)\r
-    ModuleType              = property(_GetModuleType)\r
-    ComponentType           = property(_GetComponentType)\r
-    BuildType               = property(_GetBuildType)\r
-    Guid                    = property(_GetFileGuid)\r
-    Version                 = property(_GetVersion)\r
-    PcdIsDriver             = property(_GetPcdIsDriver)\r
-    Shadow                  = property(_GetShadow)\r
-    CustomMakefile          = property(_GetMakefile)\r
-    Specification           = property(_GetSpec)\r
-    LibraryClass            = property(_GetLibraryClass)\r
-    ModuleEntryPointList    = property(_GetEntryPoint)\r
-    ModuleUnloadImageList   = property(_GetUnloadImage)\r
-    ConstructorList         = property(_GetConstructor)\r
-    DestructorList          = property(_GetDestructor)\r
-    Defines                 = property(_GetDefines)\r
-    DxsFile                 = property(_GetDxsFile)\r
-\r
-    Binaries                = property(_GetBinaryFiles)\r
-    Sources                 = property(_GetSourceFiles)\r
-    LibraryClasses          = property(_GetLibraryClassUses)\r
-    Libraries               = property(_GetLibraryNames)\r
-    Protocols               = property(_GetProtocols)\r
-    ProtocolComments        = property(_GetProtocolComments)\r
-    Ppis                    = property(_GetPpis)\r
-    PpiComments             = property(_GetPpiComments)\r
-    Guids                   = property(_GetGuids)\r
-    GuidComments            = property(_GetGuidComments)\r
-    Includes                = property(_GetIncludes)\r
-    Packages                = property(_GetPackages)\r
-    Pcds                    = property(_GetPcds)\r
-    PcdComments             = property(_GetPcdComments)\r
-    BuildOptions            = property(_GetBuildOptions)\r
-    Depex                   = property(_GetDepex)\r
-    DepexExpression         = property(_GetDepexExpression)\r
-    IsBinaryModule          = property(_IsBinaryModule)\r
+        return False\r