(self, sum, name)
| 2083 | self.func_end() |
| 2084 | |
| 2085 | def simpleSum(self, sum, name): |
| 2086 | self.emit("PyObject* ast2obj_%s(struct ast_state *state, %s_ty o)" % (name, name), 0) |
| 2087 | self.emit("{", 0) |
| 2088 | self.emit("switch(o) {", 1) |
| 2089 | for t in sum.types: |
| 2090 | self.emit("case %s:" % t.name, 2) |
| 2091 | self.emit("return Py_NewRef(state->%s_singleton);" % t.name, 3) |
| 2092 | self.emit("}", 1) |
| 2093 | self.emit("Py_UNREACHABLE();", 1); |
| 2094 | self.emit("}", 0) |
| 2095 | |
| 2096 | def visitProduct(self, prod, name): |
| 2097 | self.func_begin(name) |