Fix inline case where a name was removed without the code being used, fixes #1582

This commit is contained in:
Dave Halter
2020-05-14 23:08:31 +02:00
parent 381fbeda6a
commit d4aa583e16
2 changed files with 7 additions and 0 deletions

View File

@@ -173,6 +173,8 @@ def inline(inference_state, names):
raise RefactoringError("No definition found to inline")
if len(definitions) > 1:
raise RefactoringError("Cannot inline a name with multiple definitions")
if len(names) == 1:
raise RefactoringError("There are no references to this name")
tree_name = definitions[0].tree_name

View File

@@ -3,6 +3,11 @@
1
# ++++++++++++++++++++++++++++++++++++++++++++++++++
There is no name under the cursor
# -------------------------------------------------- no-reference-error
#? 0 error
a = 1
# ++++++++++++++++++++++++++++++++++++++++++++++++++
There are no references to this name
# -------------------------------------------------- multi-equal-error
def test():
#? 4 error