From: Nathan Binkert Date: Thu, 9 Sep 2010 21:15:41 +0000 (-0700) Subject: code_formatter: make it easier to insert whitespace X-Git-Tag: stable_2012_02_02~823 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c514ad9b097ef73b14abbf4f5af3617c54dbb154;p=gem5.git code_formatter: make it easier to insert whitespace a newline by just doing "code()". indent() and dedent() now take a "count" parameter to indent/dedent multiple levels. --- diff --git a/src/mem/slicc/symbols/StateMachine.py b/src/mem/slicc/symbols/StateMachine.py index e57275527..c1926fbab 100644 --- a/src/mem/slicc/symbols/StateMachine.py +++ b/src/mem/slicc/symbols/StateMachine.py @@ -559,17 +559,17 @@ $vid->setDescription("[Version " + to_string(m_version) + ", ${ident}, name=${{v # Set the queue consumers - code.insert_newline() + code() for port in self.in_ports: code('${{port.code}}.setConsumer(this);') # Set the queue descriptions - code.insert_newline() + code() for port in self.in_ports: code('${{port.code}}.setDescription("[Version " + to_string(m_version) + ", $ident, $port]");') # Initialize the transition profiling - code.insert_newline() + code() for trans in self.transitions: # Figure out if we stall stall = False diff --git a/src/python/m5/util/code_formatter.py b/src/python/m5/util/code_formatter.py index 47106e0d9..023e189cd 100644 --- a/src/python/m5/util/code_formatter.py +++ b/src/python/m5/util/code_formatter.py @@ -131,12 +131,12 @@ class code_formatter(object): if args: self.__call__(args) - def indent(self): - self._indent_level += self._indent_spaces + def indent(self, count=1): + self._indent_level += self._indent_spaces * count - def dedent(self): - assert self._indent_level >= self._indent_spaces - self._indent_level -= self._indent_spaces + def dedent(self, count=1): + assert self._indent_level >= (self._indent_spaces * count) + self._indent_level -= self._indent_spaces * count def fix(self, status): previous = self._fix_newlines @@ -200,10 +200,14 @@ class code_formatter(object): initial_newline = False - def insert_newline(self): - self._data.append('\n') + def __call__(self, *args, **kwargs): + if not args: + self._data.append('\n') + return + + format = args[0] + args = args[1:] - def __call__(self, format, *args, **kwargs): frame = inspect.currentframe().f_back l = lookup(self, frame, *args, **kwargs)