From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.136; helo=mga12.intel.com; envelope-from=jaben.carsey@intel.com; receiver=edk2-devel@lists.01.org Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id E6DBD2034C8BD for ; Fri, 27 Apr 2018 15:33:00 -0700 (PDT) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 27 Apr 2018 15:33:00 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.49,336,1520924400"; d="scan'208";a="54252797" Received: from jcarsey-desk1.amr.corp.intel.com ([10.7.159.144]) by orsmga002.jf.intel.com with ESMTP; 27 Apr 2018 15:32:59 -0700 From: Jaben Carsey To: edk2-devel@lists.01.org Cc: Liming Gao , Yonghong Zhu Date: Fri, 27 Apr 2018 15:32:23 -0700 Message-Id: <755feb575a1c2453e37ce80cbe7d9db8d126db6e.1524868034.git.jaben.carsey@intel.com> X-Mailer: git-send-email 2.16.2.windows.1 In-Reply-To: References: In-Reply-To: References: Subject: [PATCH v1 09/42] BaseTools: AutoGen - refactor class factory X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Apr 2018 22:33:01 -0000 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 --- 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