Skip to content

Commit bb6b143

Browse files
author
whitequark
committedJul 21, 2015
Don't print both start and end position for zero-length ranges.
·
1.41.0
1 parent 72f6c5f commit bb6b143

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed
 

‎pythonparser/source.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -159,9 +159,13 @@ def __str__(self):
159159
"""
160160
Returns a Clang-style string representation of the beginning of this range.
161161
"""
162-
return "%s:%d:%d-%d:%d" % (self.source_buffer.name,
163-
self.line(), self.column() + 1,
164-
self.end().line(), self.end().column() + 1)
162+
if self.begin_pos != self.end_pos:
163+
return "%s:%d:%d-%d:%d" % (self.source_buffer.name,
164+
self.line(), self.column() + 1,
165+
self.end().line(), self.end().column() + 1)
166+
else:
167+
return "%s:%d:%d" % (self.source_buffer.name,
168+
self.line(), self.column() + 1)
165169

166170
def __eq__(self, other):
167171
"""

‎pythonparser/test/test_source.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,8 @@ def test_source_lines(self):
9090
self.assertEqual(["line two\n", "\n"], self.range(9, 18).source_lines())
9191

9292
def test___str__(self):
93-
self.assertEqual("<input>:2:1-2:1", str(self.range(9, 9)))
93+
self.assertEqual("<input>:2:1-2:2", str(self.range(9, 10)))
94+
self.assertEqual("<input>:2:1", str(self.range(9, 9)))
9495

9596
def test___ne__(self):
9697
self.assertTrue(self.range(0,0) != self.range(0,1))

0 commit comments

Comments
 (0)
Please sign in to comment.