since instances are not added to cache, the factory does nothing.

Cc: Liming Gao <liming....@intel.com>
Cc: Yonghong Zhu <yonghong....@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.car...@intel.com>
---
 BaseTools/Source/Python/AutoGen/BuildEngine.py | 23 ++++----------------
 1 file changed, 4 insertions(+), 19 deletions(-)

diff --git a/BaseTools/Source/Python/AutoGen/BuildEngine.py 
b/BaseTools/Source/Python/AutoGen/BuildEngine.py
index bbd1a4d5b257..2c823797d7c5 100644
--- a/BaseTools/Source/Python/AutoGen/BuildEngine.py
+++ b/BaseTools/Source/Python/AutoGen/BuildEngine.py
@@ -47,21 +47,10 @@ def ListFileMacro(FileType):
     return "%s_LIST" % FileListMacro(FileType)
 
 class TargetDescBlock(object):
-    _Cache_ = {}    # {TargetFile : TargetDescBlock object}
+    def __init__(self, Inputs, Outputs, Commands, Dependencies):
+        self.InitWorker(Inputs, Outputs, Commands, Dependencies)
 
-    # Factory method
-    def __new__(Class, Inputs, Outputs, Commands, Dependencies):
-        if Outputs[0] in Class._Cache_:
-            Tdb = Class._Cache_[Outputs[0]]
-            for File in Inputs:
-                Tdb.AddInput(File)
-        else:
-            Tdb = super(TargetDescBlock, Class).__new__(Class)
-            Tdb._Init(Inputs, Outputs, Commands, Dependencies)
-            #Class._Cache_[Outputs[0]] = Tdb
-        return Tdb
-
-    def _Init(self, Inputs, Outputs, Commands, Dependencies):
+    def InitWorker(self, Inputs, Outputs, Commands, Dependencies):
         self.Inputs = Inputs
         self.Outputs = Outputs
         self.Commands = Commands
@@ -90,10 +79,6 @@ class TargetDescBlock(object):
     def IsMultipleInput(self):
         return len(self.Inputs) > 1
 
-    @staticmethod
-    def Renew():
-        TargetDescBlock._Cache_ = {}
-
 ## Class for one build rule
 #
 # This represents a build rule which can give out corresponding command list 
for
@@ -278,7 +263,7 @@ class FileBuildRule:
                         # Command line should be regenerated since some macros 
are different
                         #
                         CommandList = 
self._BuildCommand(BuildRulePlaceholderDict)
-                        TargetDesc._Init([SourceFile], DstFile, CommandList, 
self.ExtraSourceFileList)
+                        TargetDesc.InitWorker([SourceFile], DstFile, 
CommandList, self.ExtraSourceFileList)
                         break
             else:
                 TargetDesc.AddInput(SourceFile)
-- 
2.16.2.windows.1

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to