mirror of
https://github.com/davidhalter/jedi.git
synced 2025-12-06 14:04:26 +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)
|
||||
lines_old = splitlines(self._parser.source, keepends=True)
|
||||
sm = difflib.SequenceMatcher(None, lines_old, self._parser_lines_new)
|
||||
opcodes = sm.get_opcodes()
|
||||
debug.speed('diff parser calculated')
|
||||
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]',
|
||||
operation, i1 + 1, i2, j1 + 1, j2)
|
||||
|
||||
|
||||
@@ -420,7 +420,7 @@ def test_whitespace_at_end(differ):
|
||||
code = dedent('str\n\n')
|
||||
|
||||
differ.initialize(code)
|
||||
differ.parse(code, parsers=1, copies=1)
|
||||
differ.parse(code + '\n', parsers=1, copies=1)
|
||||
|
||||
|
||||
def test_in_class_movements(differ):
|
||||
|
||||
Reference in New Issue
Block a user