docstr: Use worst case for both possible values.
  
  >>> import gast as ast
  >>> from pythran import passmanager, backend
  >>> node = ast.parse('''
  ... def foo():
  ...     a = 2 or 3
  ...     b = 4 or 5
  ...     c = a if a else b''')
  >>> pm = passmanager.PassManager("test")
  >>> res = pm.gather(RangeValues, node)
  >>> res['c']
  Interval(low=2, high=5)
docstr_tok: ["Use","worst","case","for","both","possible","values",".",">",">",">","import","gast","as","ast",">",">",">","from","pythran","import","passmanager",",","backend",">",">",">","node","=","ast.parse","(","``","'","...","def","foo","(",")",":","...","a","=","2","or","3","...","b","=","4","or","5","...","c","=","a","if","a","else","b","''","'",")",">",">",">","pm","=","passmanager.PassManager","(","``","test","''",")",">",">",">","res","=","pm.gather","(","RangeValues",",","node",")",">",">",">","res","[","'","c","'","]","Interval","(","low=2",",","high=5",")"]
code: def visit_IfExp(self, node):
      """Use worst case for both possible values.
  
      >>> import gast as ast
      >>> from pythran import passmanager, backend
      >>> node = ast.parse('''
      ... def foo():
      ...     a = 2 or 3
      ...     b = 4 or 5
      ...     c = a if a else b''')
      >>> pm = passmanager.PassManager("test")
      >>> res = pm.gather(RangeValues, node)
      >>> res['c']
      Interval(low=2, high=5)
      """
      self.visit(node.test)
      body_res = self.visit(node.body)
      orelse_res = self.visit(node.orelse)
      return self.add(node, orelse_res.union(body_res))
  
imports: import gast
  from collections import defaultdict
  from functools import reduce
  from pythran.analyses import Aliases, CFG
  from pythran.intrinsic import Intrinsic
  from pythran.passmanager import ModuleAnalysis
  from pythran.interval import Interval, IntervalTuple, UNKNOWN_RANGE
  from pythran.tables import MODULES, attributes
label_desc: Use image node_id 8 for calling the RangeValuesBase obj's underlying member method code with example usage: obj.visit_IfExp(node) and returns: self