Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def handle_num(self, node, value, first_token, last_token):
# A constant like '-1' gets turned into two tokens; this will skip the '-'.
while util.match_token(last_token, token.OP):
last_token = self._code.next_token(last_token)
if isinstance(value, complex):
# A complex number like -2j cannot be compared directly to 0
# A complex number like 1-2j is expressed as a binary operation
# so we don't need to worry about it
value = value.imag
# This makes sure that the - is included
if value < 0 and first_token.type == token.NUMBER:
first_token = self._code.prev_token(first_token)
return (first_token, last_token)