ASTBuilder.ch

Declarations

Public Only
FuncDeclAttributesCBI
Publicstruct
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 }
InterfaceDefinitionAttrsCBI
Publicstruct
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 }
TypealiasDeclAttributesCBI
Publicstruct
struct TypealiasDeclAttributesCBI { var specifier : AccessSpecifier var is_comptime : bool var deprecated : bool var is_no_mangle : bool var is_inlined : bool }
IntNTypeKind
Publicenum
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
IntNType
Publicstruct
struct IntNType : BaseType
get_intn_type_kind
Publicfunction
func get_intn_type_kind(self : &IntNType) : IntNTypeKind
make
function
func make() : IntNType
AnyType
Publicstruct
struct AnyType : BaseType
The Types
make
function
func make() : AnyType
The Types
ArrayType
Publicstruct
struct ArrayType : BaseType
getElementType
Publicfunction
func getElementType(self : &ArrayType) : *BaseType
getArraySize
Publicfunction
func getArraySize(self : &ArrayType) : int
make
function
func make() : ArrayType
I8Type
Publicstruct
struct I8Type : IntNType
make
function
func make() : I8Type
I16Type
Publicstruct
struct I16Type : IntNType
make
function
func make() : I16Type
I32Type
Publicstruct
struct I32Type : IntNType
make
function
func make() : I32Type
I64Type
Publicstruct
struct I64Type : IntNType
make
function
func make() : I64Type
U8Type
Publicstruct
struct U8Type : IntNType
make
function
func make() : U8Type
U16Type
Publicstruct
struct U16Type : IntNType
make
function
func make() : U16Type
U32Type
Publicstruct
struct U32Type : IntNType
make
function
func make() : U32Type
U64Type
Publicstruct
struct U64Type : IntNType
make
function
func make() : U64Type
BoolType
Publicstruct
struct BoolType : BaseType
make
function
func make() : BoolType
DoubleType
Publicstruct
struct DoubleType : BaseType
make
function
func make() : DoubleType
DynamicType
Publicstruct
struct DynamicType : BaseType
getChildType
Publicfunction
func getChildType(self : &DynamicType) : *BaseType
make
function
func make() : DynamicType
FloatType
Publicstruct
struct FloatType : BaseType
make
function
func make() : FloatType
FunctionType
Publicstruct
struct FunctionType : BaseType
get_params
Publicfunction
func get_params(self : &FunctionType) : *VecRef<FunctionParam>
getReturnType
Publicfunction
func getReturnType(self : &FunctionType) : *BaseType
make
function
func make() : FunctionType
GenericType
Publicstruct
struct GenericType : BaseType
getLinkedType
Publicfunction
func getLinkedType(self : &GenericType) : *LinkedType
getArgumentCount
Publicfunction
func getArgumentCount(self : &GenericType) : size_t
getArgumentType
Publicfunction
func getArgumentType(self : &GenericType, index : size_t) : *BaseType
getArgumentLocation
Publicfunction
func getArgumentLocation(self : &GenericType, index : size_t) : u64
make
function
func make() : GenericType
Int128Type
Publicstruct
struct Int128Type : IntNType
make
function
func make() : Int128Type
IntType
Publicstruct
struct IntType : IntNType
make
function
func make() : IntType
CharType
Publicstruct
struct CharType : IntNType
make
function
func make() : CharType
LinkedType
Publicstruct
struct LinkedType : BaseType
getLinkedNode
Publicfunction
func getLinkedNode(self : &LinkedType) : *ASTNode
make
function
func make() : LinkedType
LinkedValueType
Publicstruct
struct LinkedValueType : BaseType
make
function
func make() : LinkedValueType
LiteralType
Publicstruct
struct LiteralType : BaseType
getChildType
Publicfunction
func getChildType(self : &LiteralType) : *BaseType
make
function
func make() : LiteralType
LongType
Publicstruct
struct LongType : IntNType
make
function
func make() : LongType
LongLongType
Publicstruct
struct LongLongType : IntNType
make
function
func make() : LongLongType
PointerType
Publicstruct
struct PointerType : BaseType
getChildType
Publicfunction
func getChildType(self : &PointerType) : *BaseType
make
function
func make() : PointerType
ReferenceType
Publicstruct
struct ReferenceType : BaseType
getChildType
Publicfunction
func getChildType(self : &ReferenceType) : *BaseType
make
function
func make() : ReferenceType
ShortType
Publicstruct
struct ShortType : IntNType
make
function
func make() : ShortType
StringType
Publicstruct
struct StringType : BaseType
make
function
func make() : StringType
UBigIntType
Publicstruct
struct UBigIntType : IntNType
make
function
func make() : UBigIntType
UCharType
Publicstruct
struct UCharType : IntNType
make
function
func make() : UCharType
UInt128Type
Publicstruct
struct UInt128Type : IntNType
make
function
func make() : UInt128Type
UIntType
Publicstruct
struct UIntType : IntNType
make
function
func make() : UIntType
ULongType
Publicstruct
struct ULongType : IntNType
make
function
func make() : ULongType
ULongLongType
Publicstruct
struct ULongLongType : IntNType
make
function
func make() : ULongLongType
UShortType
Publicstruct
struct UShortType : IntNType
make
function
func make() : UShortType
VoidType
Publicstruct
struct VoidType : BaseType
make
function
func make() : VoidType
AccessChain
Publicstruct
struct AccessChain : Value
The Values
get_values
Publicfunction
func get_values(self : &AccessChain) : *VecRef<Value>
make
function
func make() : AccessChain
The Values
ValueWrapperNode
Publicstruct
struct ValueWrapperNode : ASTNode
make
function
func make() : ValueWrapperNode
AccessChainNode
Publicstruct
struct AccessChainNode : ASTNode
make
function
func make() : AccessChainNode
FunctionCallNode
Publicstruct
struct FunctionCallNode : ASTNode
get_args
Publicfunction
func get_args(self : &FunctionCallNode) : *VecRef<Value>
make
function
func make() : FunctionCallNode
AddrOfValue
Publicstruct
struct AddrOfValue : Value
make
function
func make() : AddrOfValue
ArrayValue
Publicstruct
struct ArrayValue : Value
get_values
Publicfunction
func get_values(self : &ArrayValue) : *VecRef<Value>
make
function
func make() : ArrayValue
BigIntValue
Publicstruct
struct BigIntValue : Value
make
function
func make() : BigIntValue
BoolValue
Publicstruct
struct BoolValue : Value
make
function
func make() : BoolValue
CastedValue
Publicstruct
struct CastedValue : Value
make
function
func make() : CastedValue
CharValue
Publicstruct
struct CharValue : Value
make
function
func make() : CharValue
DereferenceValue
Publicstruct
struct DereferenceValue : Value
make
function
func make() : DereferenceValue
DoubleValue
Publicstruct
struct DoubleValue : Value
make
function
func make() : DoubleValue
Expression
Publicstruct
struct Expression : Value
make
function
func make() : Expression
FloatValue
Publicstruct
struct FloatValue : Value
make
function
func make() : FloatValue
ExpressiveString
Publicstruct
struct ExpressiveString : Value
getValues
Publicfunction
func getValues(self : &ExpressiveString) : *VecRef<Value>
make
function
func make() : ExpressiveString
FunctionCall
Publicstruct
struct FunctionCall : ChainValue
get_args
Publicfunction
func get_args(self : &FunctionCall) : *VecRef<Value>
IndexOperator
Publicstruct
struct IndexOperator : ChainValue
get_idx_ptr
Publicfunction
func get_idx_ptr(self : &IndexOperator) : **Value
get_idx
PublicfunctionExtension
func get_idx(idx : &IndexOperator) : *Value
Int128Value
Publicstruct
struct Int128Value : Value
make
function
func make() : Int128Value
IntValue
Publicstruct
struct IntValue : Value
make
function
func make() : IntValue
IsValue
Publicstruct
struct IsValue : Value
make
function
func make() : IsValue
LambdaFunction
Publicstruct
struct LambdaFunction : Value
get_params
Publicfunction
func get_params(self : &LambdaFunction) : *VecRef<FunctionParam>
get_capture_list
Publicfunction
func get_capture_list(self : &LambdaFunction) : *VecRef<CapturedVariable>
get_body
Publicfunction
func get_body(self : &LambdaFunction) : *VecRef<ASTNode>
make
function
func make() : LambdaFunction
LongValue
Publicstruct
struct LongValue : Value
make
function
func make() : LongValue
NegativeValue
Publicstruct
struct NegativeValue : Value
make
function
func make() : NegativeValue
NotValue
Publicstruct
struct NotValue : Value
make
function
func make() : NotValue
NullValue
Publicstruct
struct NullValue : Value
make
function
func make() : NullValue
NumberValue
Publicstruct
struct NumberValue : Value
make
function
func make() : NumberValue
ShortValue
Publicstruct
struct ShortValue : Value
make
function
func make() : ShortValue
SizeOfValue
Publicstruct
struct SizeOfValue : Value
make
function
func make() : SizeOfValue
StringValue
Publicstruct
struct StringValue : Value
make
function
func make() : StringValue
StructValue
Publicstruct
struct StructValue : Value
add_value
Publicfunction
func add_value(self : &StructValue, name : &string_view, value : *Value) : void
make
function
func make() : StructValue
BlockValue
Publicstruct
struct BlockValue : Value
get_body
Publicfunction
func get_body(self : &BlockValue) : *VecRef<ASTNode>
setCalculatedValue
Publicfunction
func setCalculatedValue(self : &BlockValue, value : *Value) : void
make
function
func make() : BlockValue
UBigIntValue
Publicstruct
struct UBigIntValue : Value
make
function
func make() : UBigIntValue
UCharValue
Publicstruct
struct UCharValue : Value
make
function
func make() : UCharValue
UInt128Value
Publicstruct
struct UInt128Value : Value
make
function
func make() : UInt128Value
UIntValue
Publicstruct
struct UIntValue : Value
make
function
func make() : UIntValue
ULongValue
Publicstruct
struct ULongValue : Value
make
function
func make() : ULongValue
UShortValue
Publicstruct
struct UShortValue : Value
make
function
func make() : UShortValue
ValueNode
Publicstruct
struct ValueNode : ASTNode
make
function
func make() : ValueNode
VariableIdentifier
Publicstruct
struct VariableIdentifier : ChainValue
EmbeddedValue
Publicstruct
struct EmbeddedValue : Value
getDataPtr
Publicfunction
func getDataPtr(self : &EmbeddedValue) : *void
make
function
func make() : EmbeddedValue
BaseDefMember
Publicstruct
struct BaseDefMember : ASTNode
The ASTNodes
getName
Publicfunction
func getName(self : &BaseDefMember) : string_view
getType
Publicfunction
func getType(self : &BaseDefMember) : *BaseType
make
function
func make() : BaseDefMember
The ASTNodes
StructMemberInitializer
Publicstruct
struct StructMemberInitializer : ASTNode
make
function
CapturedVariable
Publicstruct
struct CapturedVariable : ASTNode
make
function
func make() : CapturedVariable
VariantCase
Publicstruct
struct VariantCase : ASTNode
add_variable
Publicfunction
func add_variable(self : &VariantCase, variable : *VariantCaseVariable) : void
make
function
func make() : VariantCase
VariantCaseVariable
Publicstruct
struct VariantCaseVariable : ASTNode
make
function
func make() : VariantCaseVariable
AssignStatement
Publicstruct
struct AssignStatement : ASTNode
make
function
func make() : AssignStatement
BreakStatement
Publicstruct
struct BreakStatement : ASTNode
make
function
func make() : BreakStatement
ContinueStatement
Publicstruct
struct ContinueStatement : ASTNode
make
function
func make() : ContinueStatement
DestructStmt
Publicstruct
struct DestructStmt : ASTNode
make
function
func make() : DestructStmt
ReturnStatement
Publicstruct
struct ReturnStatement : ASTNode
make
function
func make() : ReturnStatement
TypealiasStatement
Publicstruct
struct TypealiasStatement : ASTNode
getActualType
Publicfunction
func getActualType(self : &TypealiasStatement) : *BaseType
getName
Publicfunction
func getName(self : &TypealiasStatement) : string_view
getAttributes
Publicfunction
func getAttributes(self : &TypealiasStatement, out : *TypealiasDeclAttributesCBI) : void
make
function
func make() : TypealiasStatement
UsingStmt
Publicstruct
struct UsingStmt : ASTNode
make
function
func make() : UsingStmt
VarInitStatement
Publicstruct
struct VarInitStatement : ASTNode
make
function
func make() : VarInitStatement
Scope
Publicstruct
struct Scope : ASTNode
getNodes
Publicfunction
func getNodes(self : &Scope) : *VecRef<ASTNode>
make
function
func make() : Scope
FileScope
Publicstruct
struct FileScope : ASTNode
getBody
Publicfunction
func getBody(self : &FileScope) : *Scope
make
function
func make() : FileScope
LoopASTNode
Publicstruct
struct LoopASTNode : ASTNode
make
function
func make() : LoopASTNode
DoWhileLoop
Publicstruct
struct DoWhileLoop : LoopASTNode
get_body
Publicfunction
func get_body(self : &DoWhileLoop) : *VecRef<ASTNode>
make
function
func make() : DoWhileLoop
EnumDeclaration
Publicstruct
struct EnumDeclaration : ASTNode
getName
Publicfunction
func getName(self : &EnumDeclaration) : string_view
add_member
Publicfunction
func add_member(self : &EnumDeclaration, member : *EnumMember) : void
getMembers
Publicfunction
func getMembers(self : &EnumDeclaration) : *VecRef<EnumMember>
make
function
func make() : EnumDeclaration
EnumMember
Publicstruct
struct EnumMember : ASTNode
getName
Publicfunction
func getName(self : &EnumMember) : string_view
make
function
func make() : EnumMember
ForLoop
Publicstruct
struct ForLoop : LoopASTNode
get_body
Publicfunction
func get_body(self : &ForLoop) : *VecRef<ASTNode>
make
function
func make() : ForLoop
SwitchStatement
Publicstruct
struct SwitchStatement
make
function
func make() : SwitchStatement
FunctionDeclaration
Publicstruct
struct FunctionDeclaration : ASTNode
getName
Publicfunction
func getName(self : &FunctionDeclaration) : string_view
get_params
Publicfunction
func get_params(self : &FunctionDeclaration) : *VecRef<FunctionParam>
add_body
Publicfunction
func add_body(self : &FunctionDeclaration) : *VecRef<ASTNode>
getReturnType
Publicfunction
func getReturnType(self : &FunctionDeclaration) : *BaseType
getAttributes
Publicfunction
func getAttributes(self : &FunctionDeclaration, out : *FuncDeclAttributesCBI) : void
isExtensionFn
Publicfunction
func isExtensionFn(self : &FunctionDeclaration) : bool
make
function
func make() : FunctionDeclaration
FunctionParam
Publicstruct
struct FunctionParam : ASTNode
getName
Publicfunction
func getName(self : &FunctionParam) : string_view
getType
Publicfunction
func getType(self : &FunctionParam) : *BaseType
make
function
func make() : FunctionParam
BaseGenericDecl
Publicstruct
struct BaseGenericDecl : ASTNode
getGenericParams
Publicfunction
func getGenericParams(self : &BaseGenericDecl) : *VecRef<GenericTypeParameter>
make
function
func make() : BaseGenericDecl
GenericStructDecl
Publicstruct
struct GenericStructDecl : BaseGenericDecl
getMasterImpl
Publicfunction
func getMasterImpl(self : &GenericStructDecl) : *StructDefinition
make
function
func make() : GenericStructDecl
GenericFuncDecl
Publicstruct
struct GenericFuncDecl : BaseGenericDecl
getMasterImpl
Publicfunction
func getMasterImpl(self : &GenericFuncDecl) : *FunctionDeclaration
make
function
func make() : GenericFuncDecl
GenericVariantDecl
Publicstruct
struct GenericVariantDecl : BaseGenericDecl
getMasterImpl
Publicfunction
func getMasterImpl(self : &GenericVariantDecl) : *VariantDefinition
make
function
func make() : GenericVariantDecl
GenericUnionDecl
Publicstruct
struct GenericUnionDecl : BaseGenericDecl
getMasterImpl
Publicfunction
func getMasterImpl(self : &GenericUnionDecl) : *UnionDef
make
function
func make() : GenericUnionDecl
GenericInterfaceDecl
Publicstruct
struct GenericInterfaceDecl : BaseGenericDecl
getMasterImpl
Publicfunction
func getMasterImpl(self : &GenericInterfaceDecl) : *InterfaceDefinition
make
function
func make() : GenericInterfaceDecl
GenericTypeParameter
Publicstruct
struct GenericTypeParameter : ASTNode
getName
Publicfunction
func getName(self : &GenericTypeParameter) : string_view
getDefaultType
Publicfunction
func getDefaultType(self : &GenericTypeParameter) : *BaseType
make
function
func make() : GenericTypeParameter
IfStatement
Publicstruct
struct IfStatement : ASTNode
get_body
Publicfunction
func get_body(self : &IfStatement) : *VecRef<ASTNode>
add_else_body
Publicfunction
func add_else_body(self : &IfStatement) : *VecRef<ASTNode>
add_else_if
Publicfunction
func add_else_if(self : &IfStatement, condition : *Value) : *VecRef<ASTNode>
make
function
func make() : IfStatement
ImplDefinition
Publicstruct
struct ImplDefinition : ASTNode
add_function
Publicfunction
func add_function(builder : *ASTBuilder, decl : *FunctionDeclaration) : void
make
function
func make() : ImplDefinition
InterfaceDefinition
Publicstruct
struct InterfaceDefinition : VariablesContainer
getName
Publicfunction
func getName(self : &InterfaceDefinition) : string_view
add_function
Publicfunction
func add_function(builder : *ASTBuilder, decl : *FunctionDeclaration) : void
getFunctions
Publicfunction
func getFunctions(self : &InterfaceDefinition) : *VecRef<ASTNode>
getAttributes
Publicfunction
func getAttributes(self : &InterfaceDefinition, out : *InterfaceDefinitionAttrsCBI) : void
Namespace
Publicstruct
struct Namespace : ASTNode
getName
Publicfunction
func getName(self : &Namespace) : string_view
get_body
Publicfunction
func get_body(self : &Namespace) : *VecRef<ASTNode>
make
function
func make() : Namespace
VariablesContainer
Publicstruct
struct VariablesContainer : ASTNode
getInheritedCount
Publicfunction
func getInheritedCount(self : &VariablesContainer) : size_t
getInheritedType
Publicfunction
func getInheritedType(self : &VariablesContainer, index : size_t) : *BaseType
make
function
func make() : VariablesContainer
StructDefinition
Publicstruct
struct StructDefinition : VariablesContainer
getName
Publicfunction
func getName(self : &StructDefinition) : string_view
add_member
Publicfunction
func add_member(name : &string_view, member : *StructMember) : void
add_function
Publicfunction
func add_function(builder : *ASTBuilder, decl : *FunctionDeclaration) : void
getMembers
Publicfunction
func getMembers(self : &StructDefinition) : *VecRef<BaseDefMember>
getFunctions
Publicfunction
func getFunctions(self : &StructDefinition) : *VecRef<ASTNode>
make
function
func make() : StructDefinition
StructMember
Publicstruct
struct StructMember : BaseDefMember
getType
Publicfunction
func getType(self : &StructMember) : *BaseType
make
function
func make() : StructMember
UnionDef
Publicstruct
struct UnionDef : VariablesContainer
getName
Publicfunction
func getName(self : &UnionDef) : string_view
add_member
Publicfunction
func add_member(name : &string_view, member : *StructMember) : void
add_function
Publicfunction
func add_function(builder : *ASTBuilder, decl : *FunctionDeclaration) : void
getMembers
Publicfunction
func getMembers(self : &UnionDef) : *VecRef<BaseDefMember>
getFunctions
Publicfunction
func getFunctions(self : &UnionDef) : *VecRef<ASTNode>
getAttributes
Publicfunction
func getAttributes(self : &UnionDef, out : *InterfaceDefinitionAttrsCBI) : void
make
function
func make() : UnionDef
UnsafeBlock
Publicstruct
struct UnsafeBlock : ASTNode
get_body
Publicfunction
func get_body(self : &UnsafeBlock) : *VecRef<ASTNode>
make
function
func make() : UnsafeBlock
WhileLoop
Publicstruct
struct WhileLoop : LoopASTNode
get_body
Publicfunction
func get_body(self : &WhileLoop) : *VecRef<ASTNode>
make
function
func make() : WhileLoop
VariantDefinition
Publicstruct
struct VariantDefinition : VariablesContainer
getName
Publicfunction
func getName(self : &VariantDefinition) : string_view
add_member
Publicfunction
func add_member(self : &VariantDefinition, name : &string_view, member : *StructMember) : void
getMembers
Publicfunction
func getMembers(self : &VariantDefinition) : *VecRef<BaseDefMember>
getFunctions
Publicfunction
func getFunctions(self : &VariantDefinition) : *VecRef<ASTNode>
make
function
func make() : VariantDefinition
VariantMember
Publicstruct
struct VariantMember : ASTNode
add_param
Publicfunction
func add_param(self : &VariantMember, param : *VariantMemberParam) : void
make
function
func make() : VariantMember
EmbeddedNode
Publicstruct
struct EmbeddedNode : ASTNode
getDataPtr
Publicfunction
func getDataPtr(self : &EmbeddedNode) : *void
make
function
func make() : EmbeddedNode
VariantMemberParam
Publicstruct
struct VariantMemberParam : ASTNode
make
function
func make() : VariantMemberParam
EmbeddedNodeKnownTypeFunc
Publictypealias
type EmbeddedNodeKnownTypeFunc = func(*EmbeddedNode) : *BaseType
EmbeddedNodeChildResolutionFunc
Publictypealias
type EmbeddedNodeChildResolutionFunc = func(*EmbeddedNode, &string_view) : *ASTNode
ASTBuilder
Publicstruct
struct ASTBuilder { var allocator : *BatchAllocator }
allocate_with_cleanup
Publicfunction
func allocate_with_cleanup(self : &ASTBuilder, obj_size : size_t, alignment : size_t, cleanup_fn : func(*void) : void) : *void
store_cleanup
Publicfunction
func store_cleanup(self : &ASTBuilder, obj : *void, cleanup_fn : func(*void) : void) : void
createType
Publicfunction
func createType(self : &ASTBuilder, value : *Value) : *BaseType
make_embedded_node
Publicfunction
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
make_embedded_value
Publicfunction
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
make_any_type
Publicfunction
func make_any_type(self : &ASTBuilder, location : u64) : *AnyType
make_array_type
Publicfunction
func make_array_type(self : &ASTBuilder, elem_type : *BaseType, array_size : int, location : u64) : *ArrayType
get_i8_type
Publicfunction
func get_i8_type(self : &ASTBuilder) : *I8Type
chemical integer types
get_i16_type
Publicfunction
func get_i16_type(self : &ASTBuilder) : *I16Type
get_i32_type
Publicfunction
func get_i32_type(self : &ASTBuilder) : *I32Type
get_i64_type
Publicfunction
func get_i64_type(self : &ASTBuilder) : *I64Type
get_i128_type
Publicfunction
func get_i128_type(self : &ASTBuilder) : *I64Type
get_u8_type
Publicfunction
func get_u8_type(self : &ASTBuilder) : *U8Type
chemical integer types (unsigned)
get_u16_type
Publicfunction
func get_u16_type(self : &ASTBuilder) : *U16Type
get_u32_type
Publicfunction
func get_u32_type(self : &ASTBuilder) : *U32Type
get_u64_type
Publicfunction
func get_u64_type(self : &ASTBuilder) : *U64Type
get_u128_type
Publicfunction
func get_u128_type(self : &ASTBuilder) : *U64Type
get_char_type
Publicfunction
func get_char_type(self : &ASTBuilder) : *CharType
c like integer types
get_short_type
Publicfunction
func get_short_type(self : &ASTBuilder) : *ShortType
get_int_type
Publicfunction
func get_int_type(self : &ASTBuilder) : *IntType
get_long_type
Publicfunction
func get_long_type(self : &ASTBuilder) : *LongType
get_longlong_type
Publicfunction
func get_longlong_type(self : &ASTBuilder) : *LongLongType
get_uchar_type
Publicfunction
func get_uchar_type(self : &ASTBuilder) : *UCharType
c like integer types (unsigned)
get_ushort_type
Publicfunction
func get_ushort_type(self : &ASTBuilder) : *UShortType
get_uint_type
Publicfunction
func get_uint_type(self : &ASTBuilder) : *UIntType
get_ulong_type
Publicfunction
func get_ulong_type(self : &ASTBuilder) : *ULongType
get_ulonglong_type
Publicfunction
func get_ulonglong_type(self : &ASTBuilder) : *ULongLongType
make_bool_type
Publicfunction
func make_bool_type(self : &ASTBuilder, location : u64) : *BoolType
other types
make_double_type
Publicfunction
func make_double_type(self : &ASTBuilder, location : u64) : *DoubleType
make_dynamic_type
Publicfunction
func make_dynamic_type(self : &ASTBuilder, child_type : *BaseType, location : u64) : *DynamicType
make_float_type
Publicfunction
func make_float_type(self : &ASTBuilder, location : u64) : *FloatType
make_func_type
Publicfunction
func make_func_type(self : &ASTBuilder, returnType : *BaseType, isVariadic : bool, isCapturing : bool, parent : *ASTNode, location : u64) : *FunctionType
make_generic_type
Publicfunction
func make_generic_type(self : &ASTBuilder, linkedType : *LinkedType) : *GenericType
make_linked_type
Publicfunction
func make_linked_type(self : &ASTBuilder, type : &string_view, linked : *ASTNode, location : u64) : *LinkedType
make_linked_value_type
Publicfunction
func make_linked_value_type(self : &ASTBuilder, value : *Value, location : u64) : *LinkedValueType
make_literal_type
Publicfunction
func make_literal_type(self : &ASTBuilder, child_type : *BaseType, location : u64) : *LiteralType
make_long_type
Publicfunction
func make_long_type(self : &ASTBuilder, location : u64) : *LongType
make_ptr_type
Publicfunction
func make_ptr_type(self : &ASTBuilder, child_type : *BaseType, location : u64) : *PointerType
make_reference_type
Publicfunction
func make_reference_type(self : &ASTBuilder, child_type : *BaseType, location : u64) : *ReferenceType
make_string_type
Publicfunction
func make_string_type(self : &ASTBuilder, location : u64) : *StringType
make_void_type
Publicfunction
func make_void_type(self : &ASTBuilder, location : u64) : *VoidType
make_access_chain
Publicfunction
func make_access_chain(self : &ASTBuilder, values : &span<*ChainValue>, location : u64) : *AccessChain
make_access_chain_node
Publicfunction
func make_access_chain_node(self : &ASTBuilder, values : &span<*ChainValue>, parent_node : *ASTNode, location : u64) : *AccessChainNode
make_value_wrapper
Publicfunction
func make_value_wrapper(self : &ASTBuilder, value : *Value, parent_node : *ASTNode) : *ValueWrapperNode
make_addr_of_value
Publicfunction
func make_addr_of_value(self : &ASTBuilder, value : *Value, location : u64) : *AddrOfValue
make_array_value
Publicfunction
func make_array_value(self : &ASTBuilder, type : *BaseType, location : u64) : *ArrayValue
make_bigint_value
Publicfunction
func make_bigint_value(self : &ASTBuilder, value : i64, location : u64) : *BigIntValue
make_bool_value
Publicfunction
func make_bool_value(self : &ASTBuilder, value : bool, location : u64) : *BoolValue
make_casted_value
Publicfunction
func make_casted_value(self : &ASTBuilder, value : *Value, type : *BaseType, location : u64) : *CastedValue
make_char_value
Publicfunction
func make_char_value(self : &ASTBuilder, value : char, location : u64) : *CharValue
make_dereference_value
Publicfunction
func make_dereference_value(self : &ASTBuilder, value : *Value, type : *BaseType, location : u64) : *DereferenceValue
make_double_value
Publicfunction
func make_double_value(self : &ASTBuilder, value : double, location : u64) : *DoubleValue
make_expression_value
Publicfunction
func make_expression_value(self : &ASTBuilder, first : *Value, second : *Value, op : Operation, location : u64) : *Expression
make_float_value
Publicfunction
func make_float_value(self : &ASTBuilder, value : float, location : u64) : *FloatValue
make_function_call_value
Publicfunction
func make_function_call_value(self : &ASTBuilder, parent_val : *Value, location : u64) : *FunctionCall
make_function_call_node
Publicfunction
func make_function_call_node(self : &ASTBuilder, parent_val : *Value, parent_node : *ASTNode, location : u64) : *FunctionCallNode
make_index_op_value
Publicfunction
func make_index_op_value(self : &ASTBuilder, parent_val : *Value, location : u64) : *IndexOperator
make_int128_value
Publicfunction
func make_int128_value(self : &ASTBuilder, mag : u64, is_neg : bool, location : u64) : *Int128Value
make_int_value
Publicfunction
func make_int_value(self : &ASTBuilder, value : int, location : u64) : *IntValue
make_is_value
Publicfunction
func make_is_value(self : &ASTBuilder, value : *Value, type : *BaseType, is_negating : bool, location : u64) : *IsValue
make_lambda_function
Publicfunction
func make_lambda_function(self : &ASTBuilder, value : *Value, type : *BaseType, isVariadic : bool, parent_node : *ASTNode, location : u64) : *LambdaFunction
make_captured_variable
Publicfunction
func make_captured_variable(self : &ASTBuilder, name : &string_view, index : uint, capture_by_ref : bool, mutable_ref : bool, value : long, location : u64) : *CapturedVariable
make_long_value
Publicfunction
func make_long_value(self : &ASTBuilder, value : long, location : u64) : *LongValue
make_negative_value
Publicfunction
func make_negative_value(self : &ASTBuilder, value : *Value, location : u64) : *NegativeValue
make_not_value
Publicfunction
func make_not_value(self : &ASTBuilder, value : *Value, location : u64) : *NotValue
make_null_value
Publicfunction
func make_null_value(self : &ASTBuilder, location : u64) : *NullValue
make_number_value
Publicfunction
func make_number_value(self : &ASTBuilder, value : u64, location : u64) : *NumberValue
make_short_value
Publicfunction
func make_short_value(self : &ASTBuilder, value : short, location : u64) : *ShortValue
make_sizeof_value
Publicfunction
func make_sizeof_value(self : &ASTBuilder, type : *BaseType, location : u64) : *SizeOfValue
make_string_value
Publicfunction
func make_string_value(self : &ASTBuilder, value : &string_view, location : u64) : *StringValue
make_struct_value
Publicfunction
func make_struct_value(self : &ASTBuilder, ref : *BaseType, parent_node : *ASTNode, location : u64) : *StructValue
make_ubigint_value
Publicfunction
func make_ubigint_value(self : &ASTBuilder, value : u64, location : u64) : *UBigIntValue
make_uchar_value
Publicfunction
func make_uchar_value(self : &ASTBuilder, value : uchar, location : u64) : *UCharValue
make_uint128_value
Publicfunction
func make_uint128_value(self : &ASTBuilder, low : u64, high : u64, location : u64) : *UInt128Value
make_uint_value
Publicfunction
func make_uint_value(self : &ASTBuilder, value : uint, location : u64) : *UIntValue
make_ulong_value
Publicfunction
func make_ulong_value(self : &ASTBuilder, value : ulong, location : u64) : *ULongValue
make_ushort_value
Publicfunction
func make_ushort_value(self : &ASTBuilder, value : ushort, location : u64) : *UShortValue
make_block_value
Publicfunction
func make_block_value(self : &ASTBuilder, parent_node : *ASTNode, location : u64) : *BlockValue
make_value_node
Publicfunction
func make_value_node(self : &ASTBuilder, value : *Value, parent_node : *ASTNode, location : u64) : *ValueNode
make_identifier
Publicfunction
func make_identifier(self : &ASTBuilder, value : &string_view, linked : *ASTNode, is_ns : bool, location : u64) : *VariableIdentifier
make_variant_case
Publicfunction
func make_variant_case(self : &ASTBuilder, mem : *VariantMember, stmt : *SwitchStatement, location : u64) : *VariantCase
make_variant_case_variable
Publicfunction
func make_variant_case_variable(self : &ASTBuilder, name : &string_view, param : *VariantMemberParam, stmt : *SwitchStatement, location : u64) : *VariantCaseVariable
make_assignment_stmt
Publicfunction
func make_assignment_stmt(self : &ASTBuilder, lhs : *Value, rhs : *Value, op : Operation, parent_node : *ASTNode, location : u64) : *AssignStatement
make_break_stmt
Publicfunction
func make_break_stmt(self : &ASTBuilder, loop_node : *LoopASTNode, parent_node : *ASTNode, location : u64) : *BreakStatement
make_continue_stmt
Publicfunction
func make_continue_stmt(self : &ASTBuilder, loop_node : *LoopASTNode, parent_node : *ASTNode, location : u64) : *ContinueStatement
make_destruct_stmt
Publicfunction
func make_destruct_stmt(self : &ASTBuilder, array_value : *Value, ptr_value : *Value, is_array : bool, parent_node : *ASTNode, location : u64) : *DestructStmt
make_return_stmt
Publicfunction
func make_return_stmt(self : &ASTBuilder, value : *Value, decl : *FunctionType, parent_node : *ASTNode, location : u64) : *ReturnStatement
make_typealias_stmt
Publicfunction
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);
make_using_stmt
Publicfunction
func make_using_stmt(self : &ASTBuilder, chain : *AccessChain, parent_node : *ASTNode, is_namespace : bool, location : u64) : *UsingStmt
make_varinit_stmt
Publicfunction
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
make_scope
Publicfunction
func make_scope(self : &ASTBuilder, parent_node : *ASTNode, location : u64) : *Scope
make_do_while_loop
Publicfunction
func make_do_while_loop(self : &ASTBuilder, condition : *Value, parent_node : *ASTNode, location : u64) : *DoWhileLoop
make_enum_decl
Publicfunction
func make_enum_decl(self : &ASTBuilder, name : &string_view, name_loc : u64, underlying_type : *IntNType, specifier : AccessSpecifier, parent_node : *ASTNode, location : u64) : *EnumDeclaration
make_enum_member
Publicfunction
func make_enum_member(self : &ASTBuilder, name : &string_view, index : uint, init_value : *Value, parent_node : *EnumDeclaration, location : u64) : *EnumMember
make_for_loop
Publicfunction
func make_for_loop(self : &ASTBuilder, initializer : *VarInitStatement, conditionExpr : *Value, incrementerExpr : *ASTNode, parent_node : *ASTNode, location : u64) : *ForLoop
make_function
Publicfunction
func make_function(self : &ASTBuilder, name : &string_view, name_location : u64, returnType : *BaseType, isVariadic : bool, hasBody : bool, parent_node : *ASTNode, location : u64) : *FunctionDeclaration
make_function_param
Publicfunction
func make_function_param(self : &ASTBuilder, name : &string_view, type : *BaseType, index : uint, value : *Value, implicit : bool, decl : *FunctionType, location : u64) : *FunctionParam
make_generic_param
Publicfunction
func make_generic_param(self : &ASTBuilder, name : &string_view, def_type : *BaseType, parent_node : *ASTNode, index : uint, location : u64) : *GenericTypeParameter
make_if_stmt
Publicfunction
func make_if_stmt(self : &ASTBuilder, condition : *Value, parent_node : *ASTNode, location : u64) : *IfStatement
make_impl_def
Publicfunction
func make_impl_def(self : &ASTBuilder, interface_type : *BaseType, struct_type : *BaseType, parent_node : *ASTNode, location : u64) : *ImplDefinition
make_interface_def
Publicfunction
func make_interface_def(self : &ASTBuilder, name : &string_view, name_loc : u64, specifier : AccessSpecifier, parent_node : *ASTNode, location : u64) : *InterfaceDefinition
make_namespace
Publicfunction
func make_namespace(self : &ASTBuilder, name : &string_view, name_loc : u64, specifier : AccessSpecifier, parent_node : *ASTNode, location : u64) : *Namespace
make_struct_def
Publicfunction
func make_struct_def(self : &ASTBuilder, name : &string_view, name_loc : u64, specifier : AccessSpecifier, parent_node : *ASTNode, location : u64) : *StructDefinition
make_struct_member
Publicfunction
func make_struct_member(self : &ASTBuilder, name : &string_view, type : *BaseType, defValue : *Value, isConst : bool, specifier : AccessSpecifier, parent_node : *ASTNode, location : u64) : *StructMember
make_union_def
Publicfunction
func make_union_def(self : &ASTBuilder, name : &string_view, name_loc : u64, specifier : AccessSpecifier, parent_node : *ASTNode, location : u64) : *UnionDef
make_unsafe_block
Publicfunction
func make_unsafe_block(self : &ASTBuilder, node : *ASTNode, location : u64) : *UnsafeBlock
make_while_loop
Publicfunction
func make_while_loop(self : &ASTBuilder, condition : *Value, node : *ASTNode, location : u64) : *WhileLoop
make_variant_def
Publicfunction
func make_variant_def(self : &ASTBuilder, name : &string_view, name_loc : u64, specifier : AccessSpecifier, node : *ASTNode, location : u64) : *VariantDefinition
make_variant_member
Publicfunction
func make_variant_member(self : &ASTBuilder, name : &string_view, parent_node : *VariantDefinition, location : u64) : *VariantMember
make_variant_member_param
Publicfunction
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
allocate_size
PublicfunctionExtension
func allocate_size(builder : &ASTBuilder, obj_size : size_t, alignment : size_t) : *char
allocate_str_size
PublicfunctionExtension
func allocate_str_size(builder : &ASTBuilder, size : size_t) : *char
adds +1 to size to accomodate for the last null terminator \0 in string
allocate_str
PublicfunctionExtension
func allocate_str(builder : &ASTBuilder, data : *char, size : size_t) : *char
allocate_view
PublicfunctionExtension
func allocate_view(builder : &ASTBuilder, view : &string_view) : string_view
allocate
PublicfunctionExtension
func allocate<T>(builder : &ASTBuilder) : *T