free_ref & free_me in PgfMarshaller too

This commit is contained in:
krangelov
2021-08-14 20:08:04 +02:00
parent 9db352b2bb
commit 8b8028bdfe
3 changed files with 22 additions and 3 deletions

View File

@@ -100,6 +100,8 @@ struct PgfMarshaller {
virtual uintptr_t match_lit(PgfUnmarshaller *u, uintptr_t lit)=0;
virtual uintptr_t match_expr(PgfUnmarshaller *u, uintptr_t expr)=0;
virtual uintptr_t match_type(PgfUnmarshaller *u, uintptr_t ty)=0;
virtual void free_ref(uintptr_t x)=0;
virtual void free_me()=0;
};
#else
typedef struct PgfUnmarshaller PgfUnmarshaller;
@@ -133,6 +135,8 @@ struct PgfMarshallerVtbl {
uintptr_t (*match_lit)(PgfUnmarshaller *u, uintptr_t lit);
uintptr_t (*match_expr)(PgfUnmarshaller *u, uintptr_t expr);
uintptr_t (*match_type)(PgfUnmarshaller *u, uintptr_t ty);
void (*free_ref)(PgfUnmarshaller *this, uintptr_t x);
void (*free_me)(PgfUnmarshaller *this);
};
struct PgfMarshaller {
PgfMarshallerVtbl *vtbl;