summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--util/sort_includes.py22
1 files changed, 10 insertions, 12 deletions
diff --git a/util/sort_includes.py b/util/sort_includes.py
index 595a648a3..334d9e29e 100644
--- a/util/sort_includes.py
+++ b/util/sort_includes.py
@@ -204,17 +204,15 @@ class SortIncludes(object):
return sorted(set(includes))
def dump_includes(self):
- blocks = []
- # Create a list of blocks in the prescribed include
- # order. Each entry in the list is a multi-line string with
- # multiple includes.
+ includes = []
for types in self.block_order:
- block = "\n".join(self.dump_blocks(types))
- if block:
- blocks.append(block)
+ block = self.dump_blocks(types)
+ if includes and block:
+ includes.append("")
+ includes += block
self.reset()
- return "\n\n".join(blocks)
+ return includes
def __call__(self, lines, filename, language):
self.reset()
@@ -263,7 +261,8 @@ class SortIncludes(object):
# Output pending includes, a new line between, and the
# current l.
- yield self.dump_includes()
+ for include in self.dump_includes():
+ yield include
yield ''
yield line
else:
@@ -272,9 +271,8 @@ class SortIncludes(object):
# We've reached EOF, so dump any pending includes
if processing_includes:
- yield self.dump_includes()
-
-
+ for include in self.dump_includes():
+ yield include
# default language types to try to apply our sorting rules to
default_languages = frozenset(('C', 'C++', 'isa', 'python', 'scons', 'swig'))