From aaa5a23c95a1ebc5625c88d436ceefcbeb38330f Mon Sep 17 00:00:00 2001 From: "Carsey, Jaben" Date: Sat, 28 Apr 2018 06:32:23 +0800 Subject: BaseTools: AutoGen - refactor class factory since instances are not added to cache, the factory does nothing. Cc: Liming Gao Cc: Yonghong Zhu Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Jaben Carsey Reviewed-by: Yonghong Zhu --- BaseTools/Source/Python/AutoGen/BuildEngine.py | 23 ++++------------------- 1 file changed, 4 insertions(+), 19 deletions(-) (limited to 'BaseTools/Source/Python/AutoGen/BuildEngine.py') diff --git a/BaseTools/Source/Python/AutoGen/BuildEngine.py b/BaseTools/Source/Python/AutoGen/BuildEngine.py index a4f39b0b29..dd6301b01f 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} - - # 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): + self.InitWorker(Inputs, Outputs, Commands, Dependencies) - 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) -- cgit v1.2.3