// 1. if a node changes context (using option alias), all later steps// has to rely on it.if node._change_context:
for later_node in indexed[idx + 1: ]:
self.add_edge(node, later_node)
// 2. if the input of a step is undetermined, it has to be executed// after all its previous steps.ifisinstance(node._input_targets, Undetermined) and idx > 0:
self.add_edge(indexed[idx-1], node)//// 3. if the input of a step depends on the output of another stepfor target, in_node in self._all_dependent_files.items():