mirror of
https://github.com/davidhalter/jedi.git
synced 2025-12-09 23:34:45 +08:00
Properly negate with Interpreter, fixes #1636
This commit is contained in:
@@ -84,6 +84,9 @@ class MixedObject(ValueWrapper):
|
|||||||
return self.compiled_value.py__simple_getitem__(index)
|
return self.compiled_value.py__simple_getitem__(index)
|
||||||
return self._wrapped_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):
|
def _as_context(self):
|
||||||
if self.parent_context is None:
|
if self.parent_context is None:
|
||||||
return MixedModuleContext(self)
|
return MixedModuleContext(self)
|
||||||
|
|||||||
@@ -704,3 +704,11 @@ def test_variable_reuse():
|
|||||||
x = 1
|
x = 1
|
||||||
d, = jedi.Interpreter('y = x\ny', [locals()]).infer()
|
d, = jedi.Interpreter('y = x\ny', [locals()]).infer()
|
||||||
assert d.name == 'int'
|
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
|
||||||
|
|||||||
Reference in New Issue
Block a user