BaseTools: AutoGen - change class variable to funciton variable
authorJaben Carsey <jaben.carsey@intel.com>
Thu, 19 Jul 2018 17:57:39 +0000 (01:57 +0800)
committerYonghong Zhu <yonghong.zhu@intel.com>
Wed, 25 Jul 2018 01:40:49 +0000 (09:40 +0800)
This variable is only used in one function, make it local there.
Also when iterating on the variable, use dict.items() to get value
instead of re-looking up the value multiple times.

Cc: Liming Gao <liming.gao@intel.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
BaseTools/Source/Python/AutoGen/GenMake.py

index f1dc147..3dc5ac2 100644 (file)
@@ -436,7 +436,6 @@ cleanlib:
         self.ListFileMacros = {}\r
 \r
         self.FileCache = {}\r
-        self.FileDependency = []\r
         self.LibraryBuildCommandList = []\r
         self.LibraryFileList = []\r
         self.LibraryMakefileList = []\r
@@ -891,26 +890,26 @@ cleanlib:
                 if Item in SourceFileList:\r
                     SourceFileList.remove(Item)\r
 \r
-        self.FileDependency = self.GetFileDependency(\r
+        FileDependencyDict = self.GetFileDependency(\r
                                     SourceFileList,\r
                                     ForceIncludedFile,\r
                                     self._AutoGenObject.IncludePathList + self._AutoGenObject.BuildOptionIncPathList\r
                                     )\r
         DepSet = None\r
-        for File in self.FileDependency:\r
-            if not self.FileDependency[File]:\r
-                self.FileDependency[File] = ['$(FORCE_REBUILD)']\r
+        for File,Dependency in FileDependencyDict.items():\r
+            if not Dependency:\r
+                FileDependencyDict[File] = ['$(FORCE_REBUILD)']\r
                 continue\r
 \r
-            self._AutoGenObject.AutoGenDepSet |= set(self.FileDependency[File])\r
+            self._AutoGenObject.AutoGenDepSet |= set(Dependency)\r
 \r
             # skip non-C files\r
             if File.Ext not in [".c", ".C"] or File.Name == "AutoGen.c":\r
                 continue\r
             elif DepSet is None:\r
-                DepSet = set(self.FileDependency[File])\r
+                DepSet = set(Dependency)\r
             else:\r
-                DepSet &= set(self.FileDependency[File])\r
+                DepSet &= set(Dependency)\r
         # in case nothing in SourceFileList\r
         if DepSet is None:\r
             DepSet = set()\r
@@ -920,13 +919,13 @@ cleanlib:
         for File in DepSet:\r
             self.CommonFileDependency.append(self.PlaceMacro(File.Path, self.Macros))\r
 \r
-        for File in self.FileDependency:\r
+        for File in FileDependencyDict:\r
             # skip non-C files\r
             if File.Ext not in [".c", ".C"] or File.Name == "AutoGen.c":\r
                 continue\r
-            NewDepSet = set(self.FileDependency[File])\r
+            NewDepSet = set(FileDependencyDict[File])\r
             NewDepSet -= DepSet\r
-            self.FileDependency[File] = ["$(COMMON_DEPS)"] + list(NewDepSet)\r
+            FileDependencyDict[File] = ["$(COMMON_DEPS)"] + list(NewDepSet)\r
 \r
         # Convert target description object to target string in makefile\r
         for Type in self._AutoGenObject.Targets:\r
@@ -944,8 +943,8 @@ cleanlib:
                 for Dep in T.Dependencies:\r
                     Deps.append(self.PlaceMacro(str(Dep), self.Macros))\r
                 # Add inclusion-dependencies\r
-                if len(T.Inputs) == 1 and T.Inputs[0] in self.FileDependency:\r
-                    for F in self.FileDependency[T.Inputs[0]]:\r
+                if len(T.Inputs) == 1 and T.Inputs[0] in FileDependencyDict:\r
+                    for F in FileDependencyDict[T.Inputs[0]]:\r
                         Deps.append(self.PlaceMacro(str(F), self.Macros))\r
                 # Add source-dependencies\r
                 for F in T.Inputs:\r