199 Commits

Author SHA1 Message Date
Noah
a5d45124fd Update other stuff to use the root of rustpython_bytecode 2020-12-19 14:59:07 -06:00
Noah
a4aef93327 Make all builtin functions have names 2020-12-17 16:29:43 -06:00
Noah
34bb5f0d7a Apply review suggestions 2020-12-05 16:36:38 -06:00
Noah
2c29a33d00 Add support for deleter on getsets 2020-12-05 16:36:00 -06:00
Noah
6d7eae98b8 Add iter, iternext slots & Allow deleting slot magic methods 2020-11-17 23:47:48 +09:00
Noah
2f232ecbe3 Implement string interning for variable names 2020-11-09 15:51:57 -06:00
Noah
4528f17210 compiler/porcelain wrapper 2020-11-07 15:43:23 -06:00
Noah
b3851c8eb8 Split the ast from the parser, remove compiler dep on parser 2020-11-07 15:43:23 -06:00
Noah
275919694d Make StaticCell less complex to use 2020-10-22 14:06:05 -05:00
Jeong YunWon
5b32064cd6 trait StaticType 2020-10-20 01:43:39 +09:00
Jeong YunWon
d54cfaf3f4 Keep source code order for module items 2020-10-19 18:21:04 +09:00
Jeong YunWon
1f8213082c py* macro raises better error for duplicated item 2020-10-19 18:11:44 +09:00
Noah
79d5872942 Expose PyGetSet in builtins 2020-10-16 20:49:20 -05:00
Jeong YunWon
ca9326f95d expose bulitins items on builtins module and hide submodules 2020-10-12 11:43:24 +09:00
Jeong YunWon
9e6dfca9e9 Fix build with new builtins path 2020-10-11 21:16:16 +09:00
Jeong YunWon
4da1b62c18 PyFuncArgs -> FuncArgs
which does not represent a single python object
2020-10-11 09:38:07 +09:00
Kangzhi Shi
499d99794c Implement Buffer Protocol 2020-10-10 16:57:19 +09:00
Noah
b7ec304316 Don't refer to rustpython_vm::vm 2020-10-01 18:07:39 -05:00
Noah
44b3366be6 Fully qualify Result 2020-10-01 18:04:11 -05:00
Noah
acd0bf5434 Make the FromArgs derive less verbose 2020-10-01 17:42:07 -05:00
Noah
569eb8e903 Make it unnecessary to import PyClassImpl for #[pymodule] 2020-09-30 21:26:48 -05:00
Noah
d8a73ead42 Make it unnecessary to import PyClassImpl for #[pymodule] 2020-09-30 11:33:22 -05:00
Jeong YunWon
59db19d1ea PyClass -> PyType 2020-09-26 07:32:38 +09:00
Jeong YunWon
39856bc500 PyTuple::_new to hide it from public api 2020-09-26 03:08:22 +09:00
Jeong YunWon
07f898e4f0 tuple internal to Box<[PyObjectRef]>
it will use 16bytes instead of 24bytes
2020-09-26 03:02:47 +09:00
Jeong YunWon
5c81e7b044 Reuse empty tuple singleton 2020-09-26 02:59:33 +09:00
Jeong YunWon
1f309322d7 Allow #[pyimpl(with(PyRef))] 2020-09-25 02:46:07 +09:00
Jeong YunWon
f29c158748 pyattr for pyclass 2020-09-25 02:27:54 +09:00
Jeong YunWon
874b5e5568 iter_use_idents for ident traversal 2020-09-25 02:12:12 +09:00
Jeong YunWon
c76126f951 tp_cmp optimization 2020-09-24 07:50:11 +09:00
Jeong YunWon
991b968294 tp_call prevent clone 2020-09-24 07:50:11 +09:00
Jeong YunWon
09ebd19857 optimize tp_hash 2020-09-24 01:55:05 +09:00
Jeong YunWon
5e69141884 slot call use trait function as its signature 2020-09-24 01:50:43 +09:00
Jeong YunWon
6f230ff7d7 optimize descr_get 2020-09-24 01:42:28 +09:00
Jeong YunWon
d59f9c3c4e tp_call optimization 2020-09-24 01:40:53 +09:00
Noah
6c3e4819ed Rework native function creation a bit 2020-09-20 22:36:35 -05:00
Jeong YunWon
52e19c2331 pyattr allows use group 2020-09-19 07:47:57 +09:00
Jeong YunWon
58e6a4702d ItemMeta::from_attr 2020-09-19 07:33:54 +09:00
Ben Lewis
c54b4bb833 Split py_compile_bytecode into py_compile and py_freeze. 2020-09-18 18:59:58 +12:00
Noah
3e6bd59275 Apply review suggestions and clean up a bit 2020-09-04 00:22:32 -05:00
Noah
f65f379df5 Revert pub field for ClassItemMeta 2020-08-30 17:14:11 -05:00
Noah
43b7a7bdbe Make into_struct_sequence not clone fields 2020-08-30 15:46:05 -05:00
Noah
5bc5da8da1 Move the PyStructSequence impl to a separate mod 2020-08-30 15:46:05 -05:00
Noah
2d49dcd66e Make PyClassDef::BASE a function 2020-08-30 15:46:05 -05:00
Noah
619f1a1de9 Make PyStructSequence a derive macro 2020-08-30 15:46:04 -05:00
Noah
79c0efc491 Make class.slots completely immutable 2020-08-30 15:46:04 -05:00
Jeong YunWon
f8a5cc4b23 Remove type clone functions from vm.ctx
which misleads to clone types when we don't need.
2020-08-23 20:26:37 +09:00
Jeong YunWon
fd3aba5033 doc using syn-ext 2020-08-23 19:39:28 +09:00
Jeong YunWon
0b59f20d96 pystruct_sequence uses make_class_with_base 2020-08-23 19:10:46 +09:00
Jeong YunWon
df5948e2db fixup pyclass 2020-08-23 19:10:46 +09:00