Ejemplo n.º 1
0
    def visit_VerticalLoop(self, node: cuir.VerticalLoop, *,
                           symtable: Dict[str, Any],
                           **kwargs: Any) -> Union[str, Collection[str]]:

        return self.generic_visit(
            node,
            fields=node.iter_tree().if_isinstance(cuir.FieldAccess).getattr(
                "name",
                "data_index").map(lambda x: (x[0], len(x[1]))).to_set(),
            k_cache_decls=node.k_caches,
            order=node.loop_order,
            symtable=symtable,
            **kwargs,
        )
Ejemplo n.º 2
0
 def loop_fields(vertical_loop: cuir.VerticalLoop) -> Set[str]:
     return (vertical_loop.iter_tree().if_isinstance(
         cuir.FieldAccess).getattr("name").to_set())