mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-20 03:20:18 +00:00
...
This commit is contained in:
parent
c78275428f
commit
c66f8e02e6
@ -78,6 +78,16 @@ struct CodeObjectSerializer{
|
|||||||
buffer += END;
|
buffer += END;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void write_none(){
|
||||||
|
buffer += 'N';
|
||||||
|
buffer += END;
|
||||||
|
}
|
||||||
|
|
||||||
|
void write_ellipsis(){
|
||||||
|
buffer += 'E';
|
||||||
|
buffer += END;
|
||||||
|
}
|
||||||
|
|
||||||
void write_bool(bool v){
|
void write_bool(bool v){
|
||||||
buffer += 'b';
|
buffer += 'b';
|
||||||
buffer += v ? '1' : '0';
|
buffer += v ? '1' : '0';
|
||||||
|
2
src/vm.h
2
src/vm.h
@ -1569,6 +1569,8 @@ inline void CodeObjectSerializer::write_object(VM *vm, PyObject *obj){
|
|||||||
else if(is_float(obj)) write_float(_CAST(f64, obj));
|
else if(is_float(obj)) write_float(_CAST(f64, obj));
|
||||||
else if(is_type(obj, vm->tp_str)) write_str(_CAST(Str&, obj));
|
else if(is_type(obj, vm->tp_str)) write_str(_CAST(Str&, obj));
|
||||||
else if(is_type(obj, vm->tp_bool)) write_bool(_CAST(bool, obj));
|
else if(is_type(obj, vm->tp_bool)) write_bool(_CAST(bool, obj));
|
||||||
|
else if(obj == vm->None) write_none();
|
||||||
|
else if(obj == vm->Ellipsis) write_ellipsis();
|
||||||
else{
|
else{
|
||||||
throw std::runtime_error(fmt(OBJ_NAME(vm->_t(obj)).escape(), " is not serializable"));
|
throw std::runtime_error(fmt(OBJ_NAME(vm->_t(obj)).escape(), " is not serializable"));
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user