Commit Graph

69 Commits

Author SHA1 Message Date
Adam Kelly
8f840d5376 Pick code review nits. 2019-04-10 09:28:54 +01:00
Adam Kelly
ec5fd550de Implement IntoIterator for PyDictRef. 2019-04-09 11:30:52 +01:00
Adam Kelly
7b2d92f495 Delete DictProtocol. impl ItemProtocol for PyDictRef. 2019-04-06 10:15:29 +01:00
Adam Kelly
ec94168a15 Remove objdict::get_key_value_pairs. 2019-04-05 16:16:55 +01:00
Adam Kelly
9ed051e3b7 Module Initialisation takes VirtualMachine rather than PyContext. 2019-04-05 09:50:31 +01:00
Adam Kelly
c8eda3733d Eliminate ctx.set_attr. 2019-04-05 09:50:31 +01:00
Adam Kelly
bce4f1e483 Simplify/shrink the dict interface. 2019-04-05 09:39:59 +01:00
Adam Kelly
c644176547 Modules have attributes, not items. 2019-03-27 10:53:08 +00:00
Joey Hain
cc4f3fdb40 Clean up TypeProtocol 2019-03-25 19:18:01 -07:00
Adam Kelly
bbb7162472 Various dictionary changes.
* vm.ctx.new_dict returns a PyDictRef
* Special case for module goes away.
* Instances get a real dictionary.
2019-03-25 16:37:20 +00:00
ben
db8e648646 Make PyFunction.code a PyCodeRef, PyGenerator.frame a FrameRef, and
other improvements to increase use of specific ref types.
2019-03-24 13:41:37 +13:00
Joey
2aee2981e3 Remove FromPyObjectRef, replace with downcast 2019-03-23 09:38:03 -07:00
ben
ad584df120 Allow context.set_attr to accept PyRef values in addition to PyObjectRef 2019-03-23 19:32:31 +13:00
ben
5c7812734d Use more specific ref type than PyObjectRef in PyContext 2019-03-23 13:00:12 +13:00
coolreader18
a9051ab462 Convert all &mut VirtualMachine to &VirtualMachine 2019-03-22 01:48:14 -05:00
coolreader18
d024e7ed8d Switch from an stdlib function to a vm method 2019-03-21 00:08:36 -05:00
coolreader18
de1bc937e7 Use json straight from json.rs 2019-03-19 22:20:10 -05:00
Joey
7bfd2e6e84 Move function items out of pyobject module 2019-03-15 21:27:11 -07:00
Adrian Wielgosik
b334689e55 Remove Option from PyObject.typ; Refactor type hierarchy initialization. 2019-03-12 21:58:03 +01:00
Adam Kelly
0ff5155af9 Rename mk_module to make_module. 2019-03-10 17:10:51 +00:00
Adam Kelly
a72af4d967 Remove None and NotImplemented payloads and replace with NoPayload 2019-03-06 16:04:26 +00:00
Joey
990c29469a Merge remote-tracking branch 'origin/master' into joey/fun-with-functions
Conflicts:
      vm/src/pyobject.rs
2019-02-28 10:44:46 -08:00
Joey Hain
67f8c02087 cleanup 2019-02-27 20:05:04 -08:00
Joey Hain
713edc57ee Convert some objstring methods to new style. 2019-02-27 19:53:31 -08:00
ricky han
0a2aa1e64b fix compile 2019-02-26 17:39:56 -05:00
Windel Bouwman
c33abe91e9 Use py_module macro at more places. 2019-02-26 19:53:58 +01:00
Joey Hain
f10fa6db44 Remove outer RefCell from PyObjectRef 2019-02-25 21:01:37 -08:00
Ricky Han
cf400501a1 move set_item to DictProtocol 2019-02-25 16:32:50 -05:00
Joey
df76ffe116 Replace most relative imports with 2018-style crate 2019-02-20 08:50:53 -08:00
janczer
89e947a04f Fix typos 2019-02-14 20:38:18 +01:00
ZapAnton
d86ffc40f6 Fixed the redundant_field_names clippy warnings 2019-02-12 16:07:24 +03:00
Windel Bouwman
b1e07f64be Change to more usage of VirtualMachine in anticipation of proper dictionaries. 2019-02-10 15:39:33 +01:00
klemens
b109ea954a Merge branch 'master' into spelling 2019-02-09 12:03:08 +01:00
klemens
79a7e5e42b spelling fixes 2019-02-09 12:00:46 +01:00
ZapAnton
0e6fca0106 Fix the 'if_same_then_else' clippy warnings
Relevant clippy warning: https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else
2019-02-08 20:04:30 +03:00
Adam Kelly
fd344ec1e0 Remove unnecessary to_bigint().unwrap() everywhere. 2019-02-06 17:38:01 +00:00
Windel Bouwman
328f81a28e Merge pull request #266 from coolreader18/format-mk-module
Format module building in a more readable way
2019-01-30 18:09:17 +01:00
Windel Bouwman
892493e464 Rename PyObjectKind into PyObjectPayload 2019-01-30 18:06:27 +01:00
coolreader18
e9bfea834a Format module building in a more readable way 2019-01-28 23:02:43 -06:00
coolreader18
5ecff1b37e Remove unnecessary to_string conversions 2019-01-27 21:45:21 -06:00
coolreader18
8fee5a8800 Run cargo fmt --all 2018-12-27 00:12:08 -06:00
coolreader18
a77b7e0ce4 Have json.* throw an exception instead of panicking 2018-12-26 14:18:15 -06:00
Windel Bouwman
a29e882bc1 Store dict key as pyobject into hashmap. 2018-12-13 17:05:01 +01:00
Windel Bouwman
e657633e51 Move set_item to context struct. 2018-12-12 22:27:28 +01:00
Windel Bouwman
0215830aaa Move set_attr and set_item to context. 2018-12-12 19:41:09 +01:00
Windel Bouwman
d72abebdd0 Unify object kinds tuple and list into sequence. 2018-11-03 12:26:31 +01:00
Windel Bouwman
039b5bbbb7 Implement dict __setitem__ 2018-11-02 22:04:18 +01:00
Windel Bouwman
89cfdbe3dd Use __setitem__ to store elements in list. Also refactor get_elements to return a reference to the elements, not a copy. 2018-10-31 23:18:26 +01:00
Windel Bouwman
cb4d66bd48 Added bit length method on int type. 2018-10-30 22:08:10 +01:00
Windel Bouwman
f6cced5d65 Change integer type into bigint 2018-10-30 21:01:31 +01:00