Declarations
Public Only
struct FuncDeclAttributesCBI {
var specifier : AccessSpecifier
var is_comptime : bool
var is_compiler_decl : bool
var multi_func_index : u8
var inline_strategy : int
var is_extern : bool
var is_cpp_mangle : bool
var deprecated : bool
var is_implicit : bool
var is_noReturn : bool
var is_constructor_fn : bool
var is_copy_fn : bool
var is_delete_fn : bool
var is_unsafe : bool
var is_override : bool
var has_usage : bool
var no_mangle : bool
var is_generated : bool
var std_call : bool
var dll_import : bool
var dll_export : bool
}
struct InterfaceDefinitionAttrsCBI {
var specifier : AccessSpecifier
var has_implementation : bool
var deprecated : bool
var is_static : bool
var is_no_mangle : bool
var is_extern : bool
}
struct TypealiasDeclAttributesCBI {
var specifier : AccessSpecifier
var is_comptime : bool
var deprecated : bool
var is_no_mangle : bool
var is_inlined : bool
}
enum IntNTypeKind {
LongLong,
Short,
Char,
Int,
I16,
Long,
U16,
Int128,
I8,
I32,
I64,
UChar,
UShort,
UInt,
ULong,
ULongLong,
UInt128,
U8,
U32,
U64
}
The Base Structs
struct ArrayType : BaseType
struct DynamicType : BaseType
func make() : DynamicType
struct FunctionType : BaseType
struct GenericType : BaseType
func getArgumentCount(self : &GenericType) : size_t
func getArgumentLocation(self : &GenericType, index : size_t) : u64
func make() : GenericType
struct LinkedType : BaseType
func make() : LinkedType
struct LinkedValueType : BaseType
func make() : LinkedValueType
struct LiteralType : BaseType
func make() : LiteralType
struct PointerType : BaseType
func make() : PointerType
struct ReferenceType : BaseType
func make() : ReferenceType
struct ValueWrapperNode : ASTNode
func make() : ValueWrapperNode
struct AccessChainNode : ASTNode
func make() : AccessChainNode
struct FunctionCallNode : ASTNode
func make() : FunctionCallNode
struct ArrayValue : Value
func make() : ArrayValue
struct DereferenceValue : Value
func make() : DereferenceValue
struct ExpressiveString : Value
func make() : ExpressiveString
struct FunctionCall : ChainValue
struct IndexOperator : ChainValue
struct LambdaFunction : Value
struct StructValue : Value
func make() : StructValue
struct BlockValue : Value
struct VariableIdentifier : ChainValue
struct EmbeddedValue : Value
func getDataPtr(self : &EmbeddedValue) : *void
func make() : EmbeddedValue
struct StructMemberInitializer : ASTNode
func make() : StructMemberInitializer
struct CapturedVariable : ASTNode
func make() : CapturedVariable
struct VariantCase : ASTNode
func make() : VariantCase
struct VariantCaseVariable : ASTNode
func make() : VariantCaseVariable
struct AssignStatement : ASTNode
func make() : AssignStatement
struct ContinueStatement : ASTNode
func make() : ContinueStatement
struct ReturnStatement : ASTNode
func make() : ReturnStatement
struct TypealiasStatement : ASTNode
struct VarInitStatement : ASTNode
func make() : VarInitStatement
struct Scope : ASTNode
struct FileScope : ASTNode
struct DoWhileLoop : LoopASTNode
func make() : DoWhileLoop
struct EnumDeclaration : ASTNode
struct EnumMember : ASTNode
func make() : EnumMember
struct ForLoop : LoopASTNode
struct FunctionDeclaration : ASTNode
struct FunctionParam : ASTNode
struct BaseGenericDecl : ASTNode
func make() : BaseGenericDecl
struct GenericStructDecl : BaseGenericDecl
func make() : GenericStructDecl
struct GenericFuncDecl : BaseGenericDecl
func make() : GenericFuncDecl
struct GenericVariantDecl : BaseGenericDecl
func make() : GenericVariantDecl
struct GenericUnionDecl : BaseGenericDecl
func make() : GenericUnionDecl
struct GenericInterfaceDecl : BaseGenericDecl
func make() : GenericInterfaceDecl
struct GenericTypeParameter : ASTNode
struct IfStatement : ASTNode
struct ImplDefinition : ASTNode
func make() : ImplDefinition
struct InterfaceDefinition : VariablesContainer
struct Namespace : ASTNode
struct VariablesContainer : ASTNode
struct StructDefinition : VariablesContainer
struct StructMember : BaseDefMember
func make() : StructMember
struct UnionDef : VariablesContainer
struct UnsafeBlock : ASTNode
func make() : UnsafeBlock
struct WhileLoop : LoopASTNode
struct VariantDefinition : VariablesContainer
struct VariantMember : ASTNode
func make() : VariantMember
struct EmbeddedNode : ASTNode
func getDataPtr(self : &EmbeddedNode) : *void
func make() : EmbeddedNode
struct VariantMemberParam : ASTNode
func make() : VariantMemberParam
func allocate_with_cleanup(self : &ASTBuilder, obj_size : size_t, alignment : size_t, cleanup_fn : func(*void) : void) : *void
func store_cleanup(self : &ASTBuilder, obj : *void, cleanup_fn : func(*void) : void) : void
func make_embedded_node(self : &ASTBuilder, name : &string_view, data_ptr : *void, known_type_fn : EmbeddedNodeKnownTypeFunc, child_res_fn : EmbeddedNodeChildResolutionFunc, chemical_nodes : span<*ASTNode>, chemical_values : span<*Value>, parent_node : *ASTNode, location : u64) : *EmbeddedNode
func make_embedded_value(self : &ASTBuilder, name : &string_view, data_ptr : *void, type : *BaseType, chemical_nodes : span<*ASTNode>, chemical_values : span<*Value>, location : u64) : *EmbeddedValue
func make_array_type(self : &ASTBuilder, elem_type : *BaseType, array_size : int, location : u64) : *ArrayType
chemical integer types (unsigned)
c like integer types (unsigned)
other types
func make_func_type(self : &ASTBuilder, returnType : *BaseType, isVariadic : bool, isCapturing : bool, parent : *ASTNode, location : u64) : *FunctionType
func make_linked_type(self : &ASTBuilder, type : &string_view, linked : *ASTNode, location : u64) : *LinkedType
func make_reference_type(self : &ASTBuilder, child_type : *BaseType, location : u64) : *ReferenceType
func make_access_chain(self : &ASTBuilder, values : &span<*ChainValue>, location : u64) : *AccessChain
func make_access_chain_node(self : &ASTBuilder, values : &span<*ChainValue>, parent_node : *ASTNode, location : u64) : *AccessChainNode
func make_value_wrapper(self : &ASTBuilder, value : *Value, parent_node : *ASTNode) : *ValueWrapperNode
func make_casted_value(self : &ASTBuilder, value : *Value, type : *BaseType, location : u64) : *CastedValue
func make_dereference_value(self : &ASTBuilder, value : *Value, type : *BaseType, location : u64) : *DereferenceValue
func make_expression_value(self : &ASTBuilder, first : *Value, second : *Value, op : Operation, location : u64) : *Expression
func make_function_call_value(self : &ASTBuilder, parent_val : *Value, location : u64) : *FunctionCall
func make_function_call_node(self : &ASTBuilder, parent_val : *Value, parent_node : *ASTNode, location : u64) : *FunctionCallNode
func make_is_value(self : &ASTBuilder, value : *Value, type : *BaseType, is_negating : bool, location : u64) : *IsValue
func make_lambda_function(self : &ASTBuilder, value : *Value, type : *BaseType, isVariadic : bool, parent_node : *ASTNode, location : u64) : *LambdaFunction
func make_captured_variable(self : &ASTBuilder, name : &string_view, index : uint, capture_by_ref : bool, mutable_ref : bool, value : long, location : u64) : *CapturedVariable
func make_struct_value(self : &ASTBuilder, ref : *BaseType, parent_node : *ASTNode, location : u64) : *StructValue
func make_value_node(self : &ASTBuilder, value : *Value, parent_node : *ASTNode, location : u64) : *ValueNode
func make_identifier(self : &ASTBuilder, value : &string_view, linked : *ASTNode, is_ns : bool, location : u64) : *VariableIdentifier
func make_variant_case(self : &ASTBuilder, mem : *VariantMember, stmt : *SwitchStatement, location : u64) : *VariantCase
func make_variant_case_variable(self : &ASTBuilder, name : &string_view, param : *VariantMemberParam, stmt : *SwitchStatement, location : u64) : *VariantCaseVariable
func make_assignment_stmt(self : &ASTBuilder, lhs : *Value, rhs : *Value, op : Operation, parent_node : *ASTNode, location : u64) : *AssignStatement
func make_break_stmt(self : &ASTBuilder, loop_node : *LoopASTNode, parent_node : *ASTNode, location : u64) : *BreakStatement
func make_continue_stmt(self : &ASTBuilder, loop_node : *LoopASTNode, parent_node : *ASTNode, location : u64) : *ContinueStatement
func make_destruct_stmt(self : &ASTBuilder, array_value : *Value, ptr_value : *Value, is_array : bool, parent_node : *ASTNode, location : u64) : *DestructStmt
func make_return_stmt(self : &ASTBuilder, value : *Value, decl : *FunctionType, parent_node : *ASTNode, location : u64) : *ReturnStatement
func make_typealias_stmt(self : &ASTBuilder, identifier : &string_view, id_loc : u64, actual_type : *BaseType, specifier : AccessSpecifier, parent_node : *ASTNode, location : u64) : *TypealiasStatement
SwitchStatement* ASTBuildermake_return_stmt(CSTConverter* converter, Value* value, FunctionType* decl, ASTNode* parent_node, location : ubigint);
func make_using_stmt(self : &ASTBuilder, chain : *AccessChain, parent_node : *ASTNode, is_namespace : bool, location : u64) : *UsingStmt
func make_varinit_stmt(self : &ASTBuilder, is_const : bool, is_reference : bool, identifier : &string_view, id_loc : u64, type : *BaseType, value : *Value, specifier : AccessSpecifier, parent_node : *ASTNode, location : u64) : *VarInitStatement
func make_do_while_loop(self : &ASTBuilder, condition : *Value, parent_node : *ASTNode, location : u64) : *DoWhileLoop
func make_enum_decl(self : &ASTBuilder, name : &string_view, name_loc : u64, underlying_type : *IntNType, specifier : AccessSpecifier, parent_node : *ASTNode, location : u64) : *EnumDeclaration
func make_enum_member(self : &ASTBuilder, name : &string_view, index : uint, init_value : *Value, parent_node : *EnumDeclaration, location : u64) : *EnumMember
func make_for_loop(self : &ASTBuilder, initializer : *VarInitStatement, conditionExpr : *Value, incrementerExpr : *ASTNode, parent_node : *ASTNode, location : u64) : *ForLoop
func make_function(self : &ASTBuilder, name : &string_view, name_location : u64, returnType : *BaseType, isVariadic : bool, hasBody : bool, parent_node : *ASTNode, location : u64) : *FunctionDeclaration
func make_function_param(self : &ASTBuilder, name : &string_view, type : *BaseType, index : uint, value : *Value, implicit : bool, decl : *FunctionType, location : u64) : *FunctionParam
func make_generic_param(self : &ASTBuilder, name : &string_view, def_type : *BaseType, parent_node : *ASTNode, index : uint, location : u64) : *GenericTypeParameter
func make_if_stmt(self : &ASTBuilder, condition : *Value, parent_node : *ASTNode, location : u64) : *IfStatement
func make_impl_def(self : &ASTBuilder, interface_type : *BaseType, struct_type : *BaseType, parent_node : *ASTNode, location : u64) : *ImplDefinition
func make_interface_def(self : &ASTBuilder, name : &string_view, name_loc : u64, specifier : AccessSpecifier, parent_node : *ASTNode, location : u64) : *InterfaceDefinition
func make_namespace(self : &ASTBuilder, name : &string_view, name_loc : u64, specifier : AccessSpecifier, parent_node : *ASTNode, location : u64) : *Namespace
func make_struct_def(self : &ASTBuilder, name : &string_view, name_loc : u64, specifier : AccessSpecifier, parent_node : *ASTNode, location : u64) : *StructDefinition
func make_struct_member(self : &ASTBuilder, name : &string_view, type : *BaseType, defValue : *Value, isConst : bool, specifier : AccessSpecifier, parent_node : *ASTNode, location : u64) : *StructMember
func make_union_def(self : &ASTBuilder, name : &string_view, name_loc : u64, specifier : AccessSpecifier, parent_node : *ASTNode, location : u64) : *UnionDef
func make_while_loop(self : &ASTBuilder, condition : *Value, node : *ASTNode, location : u64) : *WhileLoop
func make_variant_def(self : &ASTBuilder, name : &string_view, name_loc : u64, specifier : AccessSpecifier, node : *ASTNode, location : u64) : *VariantDefinition
func make_variant_member(self : &ASTBuilder, name : &string_view, parent_node : *VariantDefinition, location : u64) : *VariantMember
func make_variant_member_param(self : &ASTBuilder, name : &string_view, index : uint, is_const : bool, type : *BaseType, defValue : *Value, parent_node : *VariantMember, location : u64) : *VariantMemberParam
func allocate_size(builder : &ASTBuilder, obj_size : size_t, alignment : size_t) : *char
func allocate_str_size(builder : &ASTBuilder, size : size_t) : *char
adds +1 to size to accomodate for the last null terminator \0 in string
func allocate_str(builder : &ASTBuilder, data : *char, size : size_t) : *char
func allocate<T>(builder : &ASTBuilder) : *T