Mercurial > cpython-lru_cache-weakref
comparison Python/Python-ast.c @ 35866:9f73dc0953d2 legacy-trunk
Whoops, checkin consistent versions of *all* files to stop polluting
a bunch of names
| author | Neal Norwitz <nnorwitz@gmail.com> |
|---|---|
| date | Sun, 13 Nov 2005 19:14:20 +0000 |
| parents | 6867995a18a7 |
| children | 52f1d57f237d |
comparison
equal
deleted
inserted
replaced
| 35865:600bbba56f9b | 35866:9f73dc0953d2 |
|---|---|
| 15 static int marshal_write_comprehension(PyObject **, int *, comprehension_ty); | 15 static int marshal_write_comprehension(PyObject **, int *, comprehension_ty); |
| 16 static int marshal_write_excepthandler(PyObject **, int *, excepthandler_ty); | 16 static int marshal_write_excepthandler(PyObject **, int *, excepthandler_ty); |
| 17 static int marshal_write_arguments(PyObject **, int *, arguments_ty); | 17 static int marshal_write_arguments(PyObject **, int *, arguments_ty); |
| 18 static int marshal_write_keyword(PyObject **, int *, keyword_ty); | 18 static int marshal_write_keyword(PyObject **, int *, keyword_ty); |
| 19 static int marshal_write_alias(PyObject **, int *, alias_ty); | 19 static int marshal_write_alias(PyObject **, int *, alias_ty); |
| 20 | |
| 20 mod_ty | 21 mod_ty |
| 21 Module(asdl_seq * body) | 22 Module(asdl_seq * body) |
| 22 { | 23 { |
| 23 mod_ty p; | 24 mod_ty p; |
| 24 p = (mod_ty)malloc(sizeof(*p)); | 25 p = (mod_ty)malloc(sizeof(*p)); |
| 1085 p->name = name; | 1086 p->name = name; |
| 1086 p->asname = asname; | 1087 p->asname = asname; |
| 1087 return p; | 1088 return p; |
| 1088 } | 1089 } |
| 1089 | 1090 |
| 1091 | |
| 1090 static void | 1092 static void |
| 1091 free_seq_exprs(asdl_seq *seq) | 1093 free_seq_exprs(asdl_seq *seq) |
| 1092 { | 1094 { |
| 1093 int i, n; | 1095 int i, n; |
| 1094 n = asdl_seq_LEN(seq); | 1096 n = asdl_seq_LEN(seq); |
| 1104 n = asdl_seq_LEN(seq); | 1106 n = asdl_seq_LEN(seq); |
| 1105 for (i = 0; i < n; i++) | 1107 for (i = 0; i < n; i++) |
| 1106 free_stmt((stmt_ty)asdl_seq_GET(seq, i)); | 1108 free_stmt((stmt_ty)asdl_seq_GET(seq, i)); |
| 1107 asdl_seq_free(seq); | 1109 asdl_seq_free(seq); |
| 1108 } | 1110 } |
| 1111 | |
| 1109 | 1112 |
| 1110 void | 1113 void |
| 1111 free_mod(mod_ty o) | 1114 free_mod(mod_ty o) |
| 1112 { | 1115 { |
| 1113 if (!o) | 1116 if (!o) |
| 1530 Py_DECREF((identifier)o->asname); | 1533 Py_DECREF((identifier)o->asname); |
| 1531 } | 1534 } |
| 1532 | 1535 |
| 1533 free(o); | 1536 free(o); |
| 1534 } | 1537 } |
| 1538 | |
| 1539 | |
| 1540 | |
| 1541 #define CHECKSIZE(BUF, OFF, MIN) { \ | |
| 1542 int need = *(OFF) + MIN; \ | |
| 1543 if (need >= PyString_GET_SIZE(*(BUF))) { \ | |
| 1544 int newsize = PyString_GET_SIZE(*(BUF)) * 2; \ | |
| 1545 if (newsize < need) \ | |
| 1546 newsize = need; \ | |
| 1547 if (_PyString_Resize((BUF), newsize) < 0) \ | |
| 1548 return 0; \ | |
| 1549 } \ | |
| 1550 } | |
| 1551 | |
| 1552 static int | |
| 1553 marshal_write_int(PyObject **buf, int *offset, int x) | |
| 1554 { | |
| 1555 char *s; | |
| 1556 | |
| 1557 CHECKSIZE(buf, offset, 4) | |
| 1558 s = PyString_AS_STRING(*buf) + (*offset); | |
| 1559 s[0] = (x & 0xff); | |
| 1560 s[1] = (x >> 8) & 0xff; | |
| 1561 s[2] = (x >> 16) & 0xff; | |
| 1562 s[3] = (x >> 24) & 0xff; | |
| 1563 *offset += 4; | |
| 1564 return 1; | |
| 1565 } | |
| 1566 | |
| 1567 static int | |
| 1568 marshal_write_bool(PyObject **buf, int *offset, bool b) | |
| 1569 { | |
| 1570 if (b) | |
| 1571 marshal_write_int(buf, offset, 1); | |
| 1572 else | |
| 1573 marshal_write_int(buf, offset, 0); | |
| 1574 return 1; | |
| 1575 } | |
| 1576 | |
| 1577 static int | |
| 1578 marshal_write_identifier(PyObject **buf, int *offset, identifier id) | |
| 1579 { | |
| 1580 int l = PyString_GET_SIZE(id); | |
| 1581 marshal_write_int(buf, offset, l); | |
| 1582 CHECKSIZE(buf, offset, l); | |
| 1583 memcpy(PyString_AS_STRING(*buf) + *offset, | |
| 1584 PyString_AS_STRING(id), l); | |
| 1585 *offset += l; | |
| 1586 return 1; | |
| 1587 } | |
| 1588 | |
| 1589 static int | |
| 1590 marshal_write_string(PyObject **buf, int *offset, string s) | |
| 1591 { | |
| 1592 int len = PyString_GET_SIZE(s); | |
| 1593 marshal_write_int(buf, offset, len); | |
| 1594 CHECKSIZE(buf, offset, len); | |
| 1595 memcpy(PyString_AS_STRING(*buf) + *offset, | |
| 1596 PyString_AS_STRING(s), len); | |
| 1597 *offset += len; | |
| 1598 return 1; | |
| 1599 } | |
| 1600 | |
| 1601 static int | |
| 1602 marshal_write_object(PyObject **buf, int *offset, object s) | |
| 1603 { | |
| 1604 /* XXX */ | |
| 1605 return 0; | |
| 1606 } | |
| 1607 | |
| 1535 | 1608 |
| 1536 static int | 1609 static int |
| 1537 marshal_write_mod(PyObject **buf, int *off, mod_ty o) | 1610 marshal_write_mod(PyObject **buf, int *off, mod_ty o) |
| 1538 { | 1611 { |
| 1539 int i; | 1612 int i; |
| 2284 marshal_write_int(buf, off, 0); | 2357 marshal_write_int(buf, off, 0); |
| 2285 } | 2358 } |
| 2286 return 1; | 2359 return 1; |
| 2287 } | 2360 } |
| 2288 | 2361 |
| 2362 |
