Commit Graph

1115 Commits

Author SHA1 Message Date
Adam
4ce0a7c216 Merge pull request #586 from RustPython/joey/float-range-any-payload
Convert more objects to `Any` payload
2019-03-04 14:40:06 +00:00
ben
b1a070acc2 Only use real isinstance/issubclass for builtins and move the real
versions to the vm.
2019-03-04 19:55:58 +13:00
Joey Hain
2d71f6de28 bytes and bytearray 2019-03-03 20:01:07 -08:00
Aviv Palivoda
283b331323 Use vm.ctx.new_tuple 2019-03-03 18:22:20 +02:00
Aviv Palivoda
f09f75ac8d Do implicit bind in socket.sendto 2019-03-03 18:15:14 +02:00
Aviv Palivoda
9b5ba068af Return addr in accept 2019-03-03 18:15:14 +02:00
Aviv Palivoda
86b60faa61 Add socket.{sendto, recvfrom} 2019-03-03 18:15:14 +02:00
Aviv Palivoda
e5d1d11c3e Add UDP to socket 2019-03-03 18:15:14 +02:00
Windel Bouwman
9271115db7 Introduce py_class macro to define classes. (#589)
* Introduce py_class macro to define classes.
* rustfmt
2019-03-03 13:25:00 +00:00
Joey Hain
e7fb116210 Convert more objects to Any payload 2019-03-02 13:27:00 -08:00
Joey Hain
4558dbf210 Fix build (rustfmt) 2019-03-02 13:25:42 -08:00
Windel Bouwman
b98926a0fb Merge pull request #572 from RustPython/joey/fun-with-functions
Derive types, arity, conversions and more from rust fns
2019-03-02 20:56:52 +01:00
Windel Bouwman
30ddb48037 Use PyResult at more places. 2019-03-02 14:10:46 +01:00
Windel Bouwman
8847081e8b Merge pull request #582 from palaviv/socket-any
Use PyObjectPayload::AnyRustValue for socket
2019-03-02 13:45:48 +01:00
Joey Hain
3478251d40 Merge remote-tracking branch 'origin/master' into joey/fun-with-functions
Conflicts:
      vm/src/lib.rs
      vm/src/pyobject.rs
      wasm/lib/src/vm_class.rs
2019-03-02 04:04:22 -08:00
Joey Hain
a70f251b6a PyNativeFuncFactory => IntoPyNativeFunc 2019-03-02 03:47:37 -08:00
Aviv Palivoda
af2f790d0d Use PyObjectPayload::AnyRustValue for socket 2019-03-02 12:26:23 +02:00
Aviv Palivoda
aed657173f Simplify socket_close 2019-03-02 12:26:23 +02:00
Aviv Palivoda
e4007f530e Add get_socket function 2019-03-02 12:25:59 +02:00
Windel Bouwman
7bb6f8fdaa Minor clippy fix. 2019-03-02 11:22:40 +01:00
Windel Bouwman
8f52e15d32 Minor clippy fixes. 2019-03-02 11:14:35 +01:00
Windel Bouwman
c8afeae0f7 Merge pull request #577 from RustPython/kill_scope_variant
Remove Scope variant from PyObject.
2019-03-02 10:30:41 +01:00
coolreader18
58e1533b12 Fix clippy lint for float_is_integer 2019-03-01 20:12:54 -06:00
coolreader18
f364ea5943 Fix a bunch of clippy lints 2019-03-01 18:41:45 -06:00
Adam Kelly
9d6e9ac889 Move Scope from pyobject to frame. 2019-03-01 20:49:17 +00:00
Adam Kelly
c2e2441388 Remove Scope variant from PyObject. 2019-03-01 20:47:09 +00:00
Joey Hain
e2e3353441 Add factory impl for boxed fn and remove extra constructor 2019-03-01 11:39:52 -08:00
Adrian Wielgosik
1519426cb4 Support raising exceptions without call 2019-02-28 22:06:14 +01: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
Windel Bouwman
eaaafacd87 Merge pull request #554 from skinny121/isinstance
Call __instancecheck__ and __subclasscheck__
2019-02-28 17:14:12 +01:00
Adam Kelly
786eb2cbfb fetch_instruction can just return a reference. 2019-02-28 08:33:43 +00:00
ben
5779124f11 rustfmt 2019-02-28 20:40:32 +13:00
ben
e30d91febc Swap naming of is{instance, subclass} <-> real_is{instance, subclass} 2019-02-28 20:32:57 +13:00
ben
52c32fab3a Call __instancecheck__ and __subclasscheck__ as part of isinstance and issubclass 2019-02-28 20:30:31 +13:00
Windel Bouwman
b0ee1947c7 Merge pull request #565 from alexpantyukhin/add_kwarg_handling_to_int
add kwarg handling for int
2019-02-28 07:36:08 +01:00
Windel Bouwman
56e55e87fe Merge pull request #568 from RustPython/framestack_2
Framestack 2
2019-02-28 07:33:04 +01: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
Joey Hain
7f75e3ee8a Significant improvements to new function definition style
- PyRef<T> type for accepting references to payloads.
- Args<T> type for consuming remaining positional args
  (mirrors python `*args`).
- KwArgs<T> type for consuming remaining keyword args
  (mirrors python `*kwargs`).
- OptArg<T> type for consuming remaining keyword args
  (no python code equivalent, only possible in native functions like in cpython).
- PyIterable<T> for accepting an iterator over a sequence of Ts.
- Arity checking (but TypeError messages need work)
2019-02-27 19:53:20 -08:00
apantykhin
7e2c702c5e fix fmt 2019-02-27 21:22:24 +00:00
alexpantyukhin
d806a19c23 add kwarg handling for int 2019-02-27 19:58:32 +00:00
Aviv Palivoda
8087ccf274 Add socket.getsockname 2019-02-27 20:47:53 +02:00
Adam Kelly
2cc9a606da Avoid double borrow in Frame.nth_value. 2019-02-27 18:23:39 +00:00
Aviv Palivoda
dc0bd73d12 Fix compiler warnings 2019-02-27 20:23:02 +02:00
Aviv Palivoda
4191ba67b3 Copy instead of clone 2019-02-27 20:19:10 +02:00
Aviv Palivoda
716eb4afca Add validation to connect and bind address 2019-02-27 19:54:39 +02:00
Aviv Palivoda
dff6b0be36 Rename sk to socket_kind 2019-02-27 19:54:39 +02:00
Aviv Palivoda
2bdbc40a45 socket.recv read amount of bytes asked 2019-02-27 19:50:31 +02:00
Adam Kelly
676130fc49 Use refcells in frames to solve frame mutability problem. 2019-02-27 10:47:33 +00:00
Adam Kelly
4dd6592aad Keep a stack of frames in the VM. 2019-02-27 10:47:33 +00:00