(self, node)
| 924 | # FIXME: Not sure if below is general. Also, add dict_comp_func. |
| 925 | # 'set_comp_func': ("%|lambda %c: {%c for %c in %c%c}\n", 1, 3, 3, 1, 4) |
| 926 | def n_set_comp_func(self, node): |
| 927 | setcomp_start = len(self.f.getvalue()) |
| 928 | self.write(self.indent, "lambda ") |
| 929 | param_node = node[1] |
| 930 | start = len(self.f.getvalue()) |
| 931 | self.preorder(param_node) |
| 932 | self.set_pos_info(node[0], start, len(self.f.getvalue())) |
| 933 | self.write(": {") |
| 934 | start = len(self.f.getvalue()) |
| 935 | assert node[0].kind.startswith("BUILD_SET") |
| 936 | self.set_pos_info(node[0], start - 1, start) |
| 937 | store = node[3] |
| 938 | assert store == "store" |
| 939 | start = len(self.f.getvalue()) |
| 940 | self.preorder(store) |
| 941 | fin = len(self.f.getvalue()) |
| 942 | self.set_pos_info(store, start, fin) |
| 943 | for_iter_node = node[2] |
| 944 | assert for_iter_node.kind == "FOR_ITER" |
| 945 | self.set_pos_info(for_iter_node, start, fin) |
| 946 | self.write(" for ") |
| 947 | self.preorder(store) |
| 948 | self.write(" in ") |
| 949 | self.preorder(param_node) |
| 950 | start = len(self.f.getvalue()) |
| 951 | self.preorder(node[4]) |
| 952 | self.set_pos_info(node[4], start, len(self.f.getvalue())) |
| 953 | self.write("}") |
| 954 | fin = len(self.f.getvalue()) |
| 955 | self.set_pos_info(node, setcomp_start, fin) |
| 956 | if node[-2] == "RETURN_VALUE": |
| 957 | self.set_pos_info(node[-2], setcomp_start, fin) |
| 958 | |
| 959 | self.prune() |
| 960 | |
| 961 | def n_list_comp(self, node): |
| 962 | self.write("[") |
nothing calls this directly
no test coverage detected