original_docstring: 
              Only accept array return type iff it is passed into the function.
              Reject function object return types if in nopython mode.
              
docstring: Only accept array return type iff it is passed into the function.
  Reject function object return types if in nopython mode.
docstring_tokens: Only accept array return type iff it is passed into the function . Reject function object return types if in nopython mode .
code: def legalize_return_type(return_type, interp, targetctx):
              """
              Only accept array return type iff it is passed into the function.
              Reject function object return types if in nopython mode.
              """
              if (not targetctx.enable_nrt and
                      isinstance(return_type, types.Array)):
                  # Walk IR to discover all arguments and all return statements
                  retstmts = []
                  caststmts = {}
                  argvars = set()
                  for bid, blk in interp.blocks.items():
                      for inst in blk.body:
                          if isinstance(inst, ir.Return):
                              retstmts.append(inst.value.name)
                          elif isinstance(inst, ir.Assign):
                              if (isinstance(inst.value, ir.Expr)
                                      and inst.value.op == 'cast'):
                                  caststmts[inst.target.name] = inst.value
                              elif isinstance(inst.value, ir.Arg):
                                  argvars.add(inst.target.name)
  
                  assert retstmts, "No return statements?"
  
                  for var in retstmts:
                      cast = caststmts.get(var)
                      if cast is None or cast.value.name not in argvars:
                          if self._raise_errors:
                              msg = ("Only accept returning of array passed into "
                                     "the function as argument")
                              raise errors.NumbaTypeError(msg)
  
              elif (isinstance(return_type, types.Function) or
                      isinstance(return_type, types.Phantom)):
                  if self._raise_errors:
                      msg = "Can't return function object ({}) in nopython mode"
                      raise errors.NumbaTypeError(msg.format(return_type))
code_tokens: def legalize_return_type ( return_type , interp , targetctx ) : if ( not targetctx . enable_nrt and isinstance ( return_type , types . Array ) ) : retstmts = [ ] caststmts = { } argvars = set ( ) for bid , blk in interp . blocks . items ( ) : for inst in blk . body : if isinstance ( inst , ir . Return ) : retstmts . append ( inst . value . name ) elif isinstance ( inst , ir . Assign ) : if ( isinstance ( inst . value , ir . Expr ) and inst . value . op == 'cast' ) : caststmts [ inst . target . name ] = inst . value elif isinstance ( inst . value , ir . Arg ) : argvars . add ( inst . target . name ) assert retstmts , "No return statements?" for var in retstmts : cast = caststmts . get ( var ) if cast is None or cast . value . name not in argvars : if self . _raise_errors : msg = ( "Only accept returning of array passed into " "the function as argument" ) raise errors . NumbaTypeError ( msg ) elif ( isinstance ( return_type , types . Function ) or isinstance ( return_type , types . Phantom ) ) : if self . _raise_errors : msg = "Can't return function object ({}) in nopython mode" raise errors . NumbaTypeError ( msg . format ( return_type ) )
short_docstring: Only accept array return type iff it is passed into the function.
short_docstring_tokens: Only accept array return type iff it is passed into the function .
comment: """
              Only accept array return type iff it is passed into the function.
              Reject function object return types if in nopython mode.
              """$SEP$# Walk IR to discover all arguments and all return statements