Skip to content

Env

I hold the environment during compilation, which is usually nested.

Env__new

pub fn Env__new(Env* parent)

Env_alignof_type

pub fn Env_alignof_type(void* self, char* name)

Env_drop

pub fn Env_drop(Env* self)

Env_get_type

pub fn Env_get_type(Env* self, char* name)

Env_is_type

pub fn Env_is_type(Env* self, char* name)

Env_opt_typeof_symbol

pub fn Env_opt_typeof_symbol(Env* self, Token* nameT)

Env_pop

pub fn Env_pop(Env* self)

Env_push

pub fn Env_push(void* self)

Env_register_symbol

pub fn Env_register_symbol(Env* self, Token* nameT, void* ast)

Env_register_type

pub fn Env_register_type(Env* self, Token* nameT, void* type_ast)

Env_seed_type

pub fn Env_seed_type(Env* self, char* name, void* type_ast)

I'm just for jnc to register the built-in types.

Env_sizeof_type

pub fn Env_sizeof_type(void* self, char* name)

Env_symbol_count

pub fn Env_symbol_count(Env* self)

Env_typeof_symbol

pub fn Env_typeof_symbol(Env* self, Token* nameT)