|
|
@@ -148,8 +148,8 @@ void __initializeBuiltinFunctions(VM* _vm) {
|
|
|
|
|
|
_vm->bindMethod("range", "__iter__", [](VM* vm, const pkpy::ArgList& args) {
|
|
|
vm->__checkType(args[0], vm->_tp_range);
|
|
|
- auto iter = std::make_shared<RangeIterator>(vm, args[0]);
|
|
|
- return vm->PyIter(iter);
|
|
|
+ _Iterator* iter = new RangeIterator(vm, args[0]);
|
|
|
+ return vm->PyIter(pkpy::shared_ptr<_Iterator>(iter));
|
|
|
});
|
|
|
|
|
|
_vm->bindMethod("NoneType", "__repr__", [](VM* vm, const pkpy::ArgList& args) {
|
|
|
@@ -313,8 +313,8 @@ void __initializeBuiltinFunctions(VM* _vm) {
|
|
|
});
|
|
|
|
|
|
_vm->bindMethod("str", "__iter__", [](VM* vm, const pkpy::ArgList& args) {
|
|
|
- auto it = std::make_shared<StringIterator>(vm, args[0]);
|
|
|
- return vm->PyIter(it);
|
|
|
+ _Iterator* iter = new StringIterator(vm, args[0]);
|
|
|
+ return vm->PyIter(pkpy::shared_ptr<_Iterator>(iter));
|
|
|
});
|
|
|
|
|
|
_vm->bindMethod("str", "__repr__", [](VM* vm, const pkpy::ArgList& args) {
|
|
|
@@ -426,8 +426,8 @@ void __initializeBuiltinFunctions(VM* _vm) {
|
|
|
/************ PyList ************/
|
|
|
_vm->bindMethod("list", "__iter__", [](VM* vm, const pkpy::ArgList& args) {
|
|
|
vm->__checkType(args[0], vm->_tp_list);
|
|
|
- auto iter = std::make_shared<VectorIterator>(vm, args[0]);
|
|
|
- return vm->PyIter(iter);
|
|
|
+ _Iterator* iter = new VectorIterator(vm, args[0]);
|
|
|
+ return vm->PyIter(pkpy::shared_ptr<_Iterator>(iter));
|
|
|
});
|
|
|
|
|
|
_vm->bindMethod("list", "append", [](VM* vm, const pkpy::ArgList& args) {
|
|
|
@@ -523,8 +523,8 @@ void __initializeBuiltinFunctions(VM* _vm) {
|
|
|
|
|
|
_vm->bindMethod("tuple", "__iter__", [](VM* vm, const pkpy::ArgList& args) {
|
|
|
vm->__checkType(args[0], vm->_tp_tuple);
|
|
|
- auto iter = std::make_shared<VectorIterator>(vm, args[0]);
|
|
|
- return vm->PyIter(iter);
|
|
|
+ _Iterator* iter = new VectorIterator(vm, args[0]);
|
|
|
+ return vm->PyIter(pkpy::shared_ptr<_Iterator>(iter));
|
|
|
});
|
|
|
|
|
|
_vm->bindMethod("tuple", "__len__", [](VM* vm, const pkpy::ArgList& args) {
|