Properly negate with Interpreter, fixes #1636

This commit is contained in:
Dave Halter
2020-07-17 15:57:15 +02:00
parent e4987b3e7a
commit 7851dff915
2 changed files with 11 additions and 0 deletions

View File

@@ -84,6 +84,9 @@ class MixedObject(ValueWrapper):
return self.compiled_value.py__simple_getitem__(index)
return self._wrapped_value.py__simple_getitem__(index)
def negate(self):
return self.compiled_value.negate()
def _as_context(self):
if self.parent_context is None:
return MixedModuleContext(self)

View File

@@ -704,3 +704,11 @@ def test_variable_reuse():
x = 1
d, = jedi.Interpreter('y = x\ny', [locals()]).infer()
assert d.name == 'int'
def test_negate():
code = "x = -y"
x, = jedi.Interpreter(code, [{'y': 3}]).infer(1, 0)
assert x.name == 'int'
value, = x._name.infer()
assert value.get_safe_value() == -3