mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-20 11:30:18 +00:00
...
This commit is contained in:
parent
c78275428f
commit
c66f8e02e6
@ -78,6 +78,16 @@ struct CodeObjectSerializer{
|
||||
buffer += END;
|
||||
}
|
||||
|
||||
void write_none(){
|
||||
buffer += 'N';
|
||||
buffer += END;
|
||||
}
|
||||
|
||||
void write_ellipsis(){
|
||||
buffer += 'E';
|
||||
buffer += END;
|
||||
}
|
||||
|
||||
void write_bool(bool v){
|
||||
buffer += 'b';
|
||||
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_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(obj == vm->None) write_none();
|
||||
else if(obj == vm->Ellipsis) write_ellipsis();
|
||||
else{
|
||||
throw std::runtime_error(fmt(OBJ_NAME(vm->_t(obj)).escape(), " is not serializable"));
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user