blueloveTH 1 тиждень тому
батько
коміт
f38f3656d0

+ 1 - 1
include/pocketpy/objects/codeobject.h

@@ -129,7 +129,7 @@ void FuncDecl__add_kwarg(FuncDecl* self, py_Name name, const py_TValue* value);
 void FuncDecl__add_starred_arg(FuncDecl* self, py_Name name);
 void FuncDecl__add_starred_kwarg(FuncDecl* self, py_Name name);
 void FuncDecl__gc_mark(const FuncDecl* self, c11_vector* p_stack);
-void FuncDecl__dtor(FuncDecl* self);
+void FuncDecl__dtor(void* p);
 
 // runtime function
 typedef struct Function {

+ 3 - 2
src/common/sourcedata.c

@@ -43,7 +43,8 @@ static void SourceData__ctor(struct SourceData* self,
     c11_vector__push(const char*, &self->line_starts, self->source->data);
 }
 
-static void SourceData__dtor(struct SourceData* self) {
+static void SourceData__dtor(void* p) {
+    struct SourceData* self = p;
     c11_string__delete(self->filename);
     if(self->source) c11_string__delete(self->source);
     c11_vector__dtor(&self->line_starts);
@@ -56,7 +57,7 @@ SourceData_ SourceData__rcnew(const char* source,
     SourceData_ self = PK_MALLOC(sizeof(struct SourceData));
     SourceData__ctor(self, source, filename, mode, is_dynamic);
     self->rc.count = 1;
-    self->rc.dtor = (void (*)(void*))SourceData__dtor;
+    self->rc.dtor = SourceData__dtor;
     return self;
 }
 

+ 3 - 2
src/objects/codeobject.c

@@ -17,7 +17,8 @@ bool Bytecode__is_forward_jump(const Bytecode* self) {
            (op == OP_FOR_ITER || op == OP_FOR_ITER_YIELD_VALUE);
 }
 
-void FuncDecl__dtor(FuncDecl* self) {
+void FuncDecl__dtor(void* p) {
+    FuncDecl* self = p;
     CodeObject__dtor(&self->code);
     c11_vector__dtor(&self->args);
     c11_vector__dtor(&self->kwargs);
@@ -28,7 +29,7 @@ void FuncDecl__dtor(FuncDecl* self) {
 FuncDecl_ FuncDecl__rcnew(SourceData_ src, c11_sv name) {
     FuncDecl* self = PK_MALLOC(sizeof(FuncDecl));
     self->rc.count = 1;
-    self->rc.dtor = (void (*)(void*))FuncDecl__dtor;
+    self->rc.dtor = FuncDecl__dtor;
     CodeObject__ctor(&self->code, src, name);
 
     c11_vector__ctor(&self->args, sizeof(int32_t));

+ 1 - 1
src/objects/codeobject_ser.c

@@ -323,7 +323,7 @@ static void FuncDecl__serialize(c11_serializer* s,
 static FuncDecl_ FuncDecl__deserialize(c11_deserializer* d, SourceData_ embedded_src) {
     FuncDecl_ self = PK_MALLOC(sizeof(FuncDecl));
     self->rc.count = 1;
-    self->rc.dtor = (void (*)(void*))FuncDecl__dtor;
+    self->rc.dtor = FuncDecl__dtor;
 
     c11_vector__ctor(&self->args, sizeof(int32_t));
     c11_vector__ctor(&self->kwargs, sizeof(FuncDeclKwArg));