parameters: (self)
return_statement: return node
docstring: Returns the next candidate Node for (potential) evaluation.
  
          The candidate list (really a stack) initially consists of all of
          the top-level (command line) targets provided when the Taskmaster
          was initialized.  While we walk the DAG, visiting Nodes, all the
          children that haven't finished processing get pushed on to the
          candidate list.  Each child can then be popped and examined in
          turn for whether *their* children are all up-to-date, in which
          case a Task will be created for their actual evaluation and
          potential building.
  
          Here is where we also allow candidate Nodes to alter the list of
          Nodes that should be examined.  This is used, for example, when
          invoking SCons in a source directory.  A source directory Node can
          return its corresponding build directory Node, essentially saying,
          "Hey, you really need to build this thing over here instead."
docstring_summary: Returns the next candidate Node for (potential) evaluation.
docstring_tokens: Returns the next candidate Node for ( potential ) evaluation .
function: def find_next_candidate(self):
          """
          Returns the next candidate Node for (potential) evaluation.
  
          The candidate list (really a stack) initially consists of all of
          the top-level (command line) targets provided when the Taskmaster
          was initialized.  While we walk the DAG, visiting Nodes, all the
          children that haven't finished processing get pushed on to the
          candidate list.  Each child can then be popped and examined in
          turn for whether *their* children are all up-to-date, in which
          case a Task will be created for their actual evaluation and
          potential building.
  
          Here is where we also allow candidate Nodes to alter the list of
          Nodes that should be examined.  This is used, for example, when
          invoking SCons in a source directory.  A source directory Node can
          return its corresponding build directory Node, essentially saying,
          "Hey, you really need to build this thing over here instead."
          """
          try:
              return self.candidates.pop()
          except IndexError:
              pass
          try:
              node = self.top_targets_left.pop()
          except IndexError:
              return None
          self.current_top = node
          alt, message = node.alter_targets()
          if alt:
              self.message = message
              self.candidates.append(node)
              self.candidates.extend(self.order(alt))
              node = self.candidates.pop()
          return node
function_tokens: def find_next_candidate ( self ) : try : return self . candidates . pop ( ) except IndexError : pass try : node = self . top_targets_left . pop ( ) except IndexError : return None self . current_top = node alt , message = node . alter_targets ( ) if alt : self . message = message self . candidates . append ( node ) self . candidates . extend ( self . order ( alt ) ) node = self . candidates . pop ( ) return node