mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-25 14:00:18 +00:00
fix a bug
This commit is contained in:
parent
90687f4488
commit
7c270a49e3
@ -35,8 +35,11 @@
|
|||||||
|
|
||||||
typedef int64_t i64;
|
typedef int64_t i64;
|
||||||
typedef double f64;
|
typedef double f64;
|
||||||
#define DUMMY_VAL (char)1
|
|
||||||
#define DUMMY_VAL_TP char
|
struct Dummy { char _; };
|
||||||
|
|
||||||
|
#define DUMMY_VAL Dummy()
|
||||||
|
#define DUMMY_VAL_TP Dummy
|
||||||
|
|
||||||
template<typename T>
|
template<typename T>
|
||||||
void* tid() {
|
void* tid() {
|
||||||
|
|||||||
8
src/vm.h
8
src/vm.h
@ -583,7 +583,7 @@ public:
|
|||||||
|
|
||||||
PyVar new_type_object(PyVar mod, _Str name, PyVar base){
|
PyVar new_type_object(PyVar mod, _Str name, PyVar base){
|
||||||
if(!base->is_type(_tp_type)) UNREACHABLE();
|
if(!base->is_type(_tp_type)) UNREACHABLE();
|
||||||
PyVar obj = pkpy::make_shared<PyObject, Py_<i64>>(_tp_type, DUMMY_VAL);
|
PyVar obj = pkpy::make_shared<PyObject, Py_<Dummy>>(_tp_type, DUMMY_VAL);
|
||||||
setattr(obj, __base__, base);
|
setattr(obj, __base__, base);
|
||||||
_Str fullName = name;
|
_Str fullName = name;
|
||||||
if(mod != builtins) fullName = OBJ_NAME(mod) + "." + name;
|
if(mod != builtins) fullName = OBJ_NAME(mod) + "." + name;
|
||||||
@ -594,7 +594,7 @@ public:
|
|||||||
|
|
||||||
PyVar _new_type_object(_Str name, PyVar base=nullptr) {
|
PyVar _new_type_object(_Str name, PyVar base=nullptr) {
|
||||||
if(base == nullptr) base = _tp_object;
|
if(base == nullptr) base = _tp_object;
|
||||||
PyVar obj = pkpy::make_shared<PyObject, Py_<i64>>(_tp_type, DUMMY_VAL);
|
PyVar obj = pkpy::make_shared<PyObject, Py_<Dummy>>(_tp_type, DUMMY_VAL);
|
||||||
setattr(obj, __base__, base);
|
setattr(obj, __base__, base);
|
||||||
_types[name] = obj;
|
_types[name] = obj;
|
||||||
return obj;
|
return obj;
|
||||||
@ -830,8 +830,8 @@ public:
|
|||||||
inline const PyVar& PyBool(bool value){return value ? True : False;}
|
inline const PyVar& PyBool(bool value){return value ? True : False;}
|
||||||
|
|
||||||
void init_builtin_types(){
|
void init_builtin_types(){
|
||||||
_tp_object = pkpy::make_shared<PyObject, Py_<i64>>(nullptr, DUMMY_VAL);
|
_tp_object = pkpy::make_shared<PyObject, Py_<Dummy>>(nullptr, DUMMY_VAL);
|
||||||
_tp_type = pkpy::make_shared<PyObject, Py_<i64>>(nullptr, DUMMY_VAL);
|
_tp_type = pkpy::make_shared<PyObject, Py_<Dummy>>(nullptr, DUMMY_VAL);
|
||||||
_types["object"] = _tp_object;
|
_types["object"] = _tp_object;
|
||||||
_types["type"] = _tp_type;
|
_types["type"] = _tp_type;
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user