aboutsummaryrefslogtreecommitdiffstats
path: root/src/bytecode/chunk.h
diff options
context:
space:
mode:
authorBad Diode <bd@badd10de.dev>2021-10-25 12:37:25 +0200
committerBad Diode <bd@badd10de.dev>2021-10-25 12:37:25 +0200
commitb9644b4ccda5abee01fd0704ddc42b08b68e5b5d (patch)
treeed7d94f6f6ca242574234305c8574797cc6d22b0 /src/bytecode/chunk.h
parente2c284b57641b5feec9a8d04313b0cd6d556e860 (diff)
downloadbdl-b9644b4ccda5abee01fd0704ddc42b08b68e5b5d.tar.gz
bdl-b9644b4ccda5abee01fd0704ddc42b08b68e5b5d.zip
Change chunk to store a name
Diffstat (limited to 'src/bytecode/chunk.h')
-rwxr-xr-xsrc/bytecode/chunk.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/bytecode/chunk.h b/src/bytecode/chunk.h
index 3e1c005..1e88ea0 100755
--- a/src/bytecode/chunk.h
+++ b/src/bytecode/chunk.h
@@ -2,6 +2,7 @@
2#define BDL_CHUNK_H 2#define BDL_CHUNK_H
3 3
4#include "darray.h" 4#include "darray.h"
5#include "string_view.h"
5 6
6typedef struct Object Object; 7typedef struct Object Object;
7 8
@@ -14,9 +15,12 @@ typedef struct Chunk {
14 u8 *code; 15 u8 *code;
15 Object *constants; 16 Object *constants;
16 LineInfo *lines; 17 LineInfo *lines;
18 char *name;
17} Chunk; 19} Chunk;
18 20
19Chunk * chunk_init(void); 21#define NEW_CHUNK(NAME) chunk_init((StringView){(NAME), sizeof(NAME)})
22
23Chunk * chunk_init(StringView name);
20void add_code(Chunk *chunk, u8 byte, size_t line, size_t col); 24void add_code(Chunk *chunk, u8 byte, size_t line, size_t col);
21size_t add_constant(Chunk *chunk, Object obj); 25size_t add_constant(Chunk *chunk, Object obj);
22void chunk_free(Chunk *chunk); 26void chunk_free(Chunk *chunk);