From 3805db072a648cea2511cd1329b49330efa32c6c Mon Sep 17 00:00:00 2001 From: Bugra Onal Date: Wed, 9 Mar 2022 08:59:20 -0800 Subject: [PATCH] Template section clone method --- compiler/verilogTemplate/verilog_template.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/compiler/verilogTemplate/verilog_template.py b/compiler/verilogTemplate/verilog_template.py index b5267d00..f1945f54 100644 --- a/compiler/verilogTemplate/verilog_template.py +++ b/compiler/verilogTemplate/verilog_template.py @@ -9,6 +9,7 @@ class text_section: self.sectionPos = [] self.lineNum = 0 self.repeat = 1 + self.index = -1 def addLine(self, line): self.lines.append(line) @@ -17,6 +18,14 @@ class text_section: def addSection(self, section): self.sections.append(section) self.sectionPos.append(self.lineNum) + section.index = len(self.sections) - 1 + + def clone(self, cloneName): + other = text_section(cloneName, self.parent) + other.sections = self.sections.copy() + other.sectionPos = self.sectionPos.copy() + other.repeat = self.repeat + self.parent.sections.insert(self.index + 1, other) def expand(self): expanded = [] @@ -101,3 +110,6 @@ class verilog_template: def setTextDict(self, label, value): self.textDict[label] = value + + def cloneSection(self, name, cloneName): + self.sections[name].clone(cloneName)