def __inner_sort()

in cfn_policy_validator/parsers/utils/topological_sorter.py [0:0]


    def __inner_sort(self, resource_name, resource_value):
        self.visited_resource_names.append(resource_name)

        visitor = ResourceVisitor(resource_name, resource_value, self.resources)

        # we need to create a starting node for the crawler to perform a DFS on the tree and call ResourceVisitor
        # on each visited node
        parent = CloudFormationNode("Resources", self.resources)
        resource = CloudFormationNode(resource_name, resource_value, parent=parent, visitors=[visitor])
        resource.visit_children()

        node = visitor.get_node()

        for dependency_name in node.depends_on:
            if dependency_name not in self.visited_resource_names:
                dependent_resource_value = self.resources[dependency_name]
                self.__inner_sort(dependency_name, dependent_resource_value)

        self.sorted_resources.append(node)