Luma 0.1.0
A low-level compiled alternative to C, C++, and more!
Loading...
Searching...
No Matches
Functions
type.c File Reference
#include <stdio.h>
#include "../ast.h"
Include dependency graph for type.c:

Functions

AstNodecreate_basic_type (ArenaAllocator *arena, const char *name, size_t line, size_t column)
 
AstNodecreate_pointer_type (ArenaAllocator *arena, AstNode *pointee_type, size_t line, size_t column)
 
AstNodecreate_array_type (ArenaAllocator *arena, AstNode *element_type, Expr *size, size_t line, size_t column)
 
AstNodecreate_function_type (ArenaAllocator *arena, AstNode **param_types, size_t param_count, AstNode *return_type, size_t line, size_t column)
 
AstNodecreate_resolution_type (ArenaAllocator *arena, char **parts, size_t part_count, size_t line, size_t column)
 

Function Documentation

◆ create_array_type()

AstNode * create_array_type ( ArenaAllocator arena,
AstNode element_type,
Expr size,
size_t  line,
size_t  column 
)

◆ create_basic_type()

AstNode * create_basic_type ( ArenaAllocator arena,
const char *  name,
size_t  line,
size_t  column 
)

◆ create_function_type()

AstNode * create_function_type ( ArenaAllocator arena,
AstNode **  param_types,
size_t  param_count,
AstNode return_type,
size_t  line,
size_t  column 
)

◆ create_pointer_type()

AstNode * create_pointer_type ( ArenaAllocator arena,
AstNode pointee_type,
size_t  line,
size_t  column 
)

◆ create_resolution_type()

AstNode * create_resolution_type ( ArenaAllocator arena,
char **  parts,
size_t  part_count,
size_t  line,
size_t  column 
)