mirror of
https://github.com/davidhalter/jedi.git
synced 2025-12-21 04:51:13 +08:00
Don't do anything with the diff parser if nothing changes.
This commit is contained in:
@@ -155,9 +155,15 @@ class DiffParser(object):
|
|||||||
line_length = len(lines_new)
|
line_length = len(lines_new)
|
||||||
lines_old = splitlines(self._parser.source, keepends=True)
|
lines_old = splitlines(self._parser.source, keepends=True)
|
||||||
sm = difflib.SequenceMatcher(None, lines_old, self._parser_lines_new)
|
sm = difflib.SequenceMatcher(None, lines_old, self._parser_lines_new)
|
||||||
|
opcodes = sm.get_opcodes()
|
||||||
debug.speed('diff parser calculated')
|
debug.speed('diff parser calculated')
|
||||||
debug.dbg('diff: line_lengths old: %s, new: %s' % (len(lines_old), line_length))
|
debug.dbg('diff: line_lengths old: %s, new: %s' % (len(lines_old), line_length))
|
||||||
for operation, i1, i2, j1, j2 in sm.get_opcodes():
|
|
||||||
|
if len(opcodes) == 1 and opcodes[0][0] == 'equal':
|
||||||
|
self._copy_count = 1
|
||||||
|
return self._module
|
||||||
|
|
||||||
|
for operation, i1, i2, j1, j2 in opcodes:
|
||||||
debug.dbg('diff %s old[%s:%s] new[%s:%s]',
|
debug.dbg('diff %s old[%s:%s] new[%s:%s]',
|
||||||
operation, i1 + 1, i2, j1 + 1, j2)
|
operation, i1 + 1, i2, j1 + 1, j2)
|
||||||
|
|
||||||
|
|||||||
@@ -420,7 +420,7 @@ def test_whitespace_at_end(differ):
|
|||||||
code = dedent('str\n\n')
|
code = dedent('str\n\n')
|
||||||
|
|
||||||
differ.initialize(code)
|
differ.initialize(code)
|
||||||
differ.parse(code, parsers=1, copies=1)
|
differ.parse(code + '\n', parsers=1, copies=1)
|
||||||
|
|
||||||
|
|
||||||
def test_in_class_movements(differ):
|
def test_in_class_movements(differ):
|
||||||
|
|||||||
Reference in New Issue
Block a user