api

ASTBuilder.ch

Declarations in ASTBuilder.ch

143 declarationscompiler

Declarations

Public only
FuncDeclAttributesCBI#
Publicstruct
struct FuncDeclAttributesCBI { var specifier : AccessSpecifier var is_comptime : bool var is_compiler_decl : bool 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 { Char, Short, Int, Long, LongLong, Int128, I8, I16, I32, I64, UChar, UShort, UInt, ULong, ULongLong, UInt128, U8, U16, U32, U64 }
The Base Structs
IntNType#
Publicstruct
struct IntNType : BaseType
get_intn_type_kind#
Publicfunction
func get_intn_type_kind(self : &IntNType) : IntNTypeKind
make#
functionConstructor
func make() : IntNType
AnyType#
Publicstruct
struct AnyType : BaseType
The Types
make#
functionConstructor
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#
functionConstructor
func make() : ArrayType
I8Type#
Publicstruct
struct I8Type : IntNType
make#
functionConstructor
func make() : I8Type
I16Type#
Publicstruct
struct I16Type : IntNType
make#
functionConstructor
func make() : I16Type
I32Type#
Publicstruct
struct I32Type : IntNType
make#
functionConstructor
func make() : I32Type
I64Type#
Publicstruct
struct I64Type : IntNType
make#
functionConstructor
func make() : I64Type
U8Type#
Publicstruct
struct U8Type : IntNType
make#
functionConstructor
func make() : U8Type
U16Type#
Publicstruct
struct U16Type : IntNType
make#
functionConstructor
func make() : U16Type
U32Type#
Publicstruct
struct U32Type : IntNType
make#
functionConstructor
func make() : U32Type
U64Type#
Publicstruct
struct U64Type : IntNType
make#
functionConstructor
func make() : U64Type
BoolType#
Publicstruct
struct BoolType : BaseType
make#
functionConstructor
func make() : BoolType
DoubleType#
Publicstruct
struct DoubleType : BaseType
make#
functionConstructor
func make() : DoubleType
DynamicType#
Publicstruct
struct DynamicType : BaseType
getChildType#
Publicfunction
func getChildType(self : &DynamicType) : *BaseType
make#
functionConstructor
func make() : DynamicType
FloatType#
Publicstruct
struct FloatType : BaseType
make#
functionConstructor
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#
functionConstructor
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#
functionConstructor
func make() : GenericType
Int128Type#
Publicstruct
struct Int128Type : IntNType
make#
functionConstructor
func make() : Int128Type
IntType#
Publicstruct
struct IntType : IntNType
make#
functionConstructor
func make() : IntType
CharType#
Publicstruct
struct CharType : IntNType
make#
functionConstructor
func make() : CharType
LinkedType#
Publicstruct
struct LinkedType : BaseType
getLinkedNode#
Publicfunction
func getLinkedNode(self : &LinkedType) : *ASTNode
make#
functionConstructor
func make() : LinkedType
LinkedValueType#
Publicstruct
struct LinkedValueType : BaseType
make#
functionConstructor
func make() : LinkedValueType
LiteralType#
Publicstruct
struct LiteralType : BaseType
getChildType#
Publicfunction
func getChildType(self : &LiteralType) : *BaseType
make#
functionConstructor
func make() : LiteralType
LongType#
Publicstruct
struct LongType : IntNType
make#
functionConstructor
func make() : LongType
LongLongType#
Publicstruct
struct LongLongType : IntNType
make#
functionConstructor
func make() : LongLongType
PointerType#
Publicstruct
struct PointerType : BaseType
getChildType#
Publicfunction
func getChildType(self : &PointerType) : *BaseType
make#
functionConstructor
func make() : PointerType
ReferenceType#
Publicstruct
struct ReferenceType : BaseType
getChildType#
Publicfunction
func getChildType(self : &ReferenceType) : *BaseType
make#
functionConstructor
func make() : ReferenceType
ShortType#
Publicstruct
struct ShortType : IntNType
make#
functionConstructor
func make() : ShortType
StringType#
Publicstruct
struct StringType : BaseType
make#
functionConstructor
func make() : StringType
UBigIntType#
Publicstruct
struct UBigIntType : IntNType
make#
functionConstructor
func make() : UBigIntType
UCharType#
Publicstruct
struct UCharType : IntNType
make#
functionConstructor
func make() : UCharType
UInt128Type#
Publicstruct
struct UInt128Type : IntNType
make#
functionConstructor
func make() : UInt128Type
UIntType#
Publicstruct
struct UIntType : IntNType
make#
functionConstructor
func make() : UIntType
ULongType#
Publicstruct
struct ULongType : IntNType
make#
functionConstructor
func make() : ULongType
ULongLongType#
Publicstruct
struct ULongLongType : IntNType
make#
functionConstructor
func make() : ULongLongType
UShortType#
Publicstruct
struct UShortType : IntNType
make#
functionConstructor
func make() : UShortType
VoidType#
Publicstruct
struct VoidType : BaseType
make#
functionConstructor
func make() : VoidType
AccessChain#
Publicstruct
struct AccessChain : Value
The Values
get_values#
Publicfunction
func get_values(self : &AccessChain) : *VecRef<Value>
make#
functionConstructor
func make() : AccessChain
The Values
ValueWrapperNode#
Publicstruct
struct ValueWrapperNode : ASTNode
make#
functionConstructor
func make() : ValueWrapperNode
AccessChainNode#
Publicstruct
struct AccessChainNode : ASTNode
make#
functionConstructor
func make() : AccessChainNode
FunctionCallNode#
Publicstruct
struct FunctionCallNode : ASTNode
get_args#
Publicfunction
func get_args(self : &FunctionCallNode) : *VecRef<Value>
add_generic_arg#
Publicfunction
func add_generic_arg(self : &FunctionCallNode, type : *BaseType, location : u64) : void
make#
functionConstructor
func make() : FunctionCallNode
AddrOfValue#
Publicstruct
struct AddrOfValue : Value
make#
functionConstructor
func make() : AddrOfValue
ReferenceOfValue#
Publicstruct
struct ReferenceOfValue : Value
make#
functionConstructor
func make() : ReferenceOfValue
ArrayValue#
Publicstruct
struct ArrayValue : Value
get_values#
Publicfunction
func get_values(self : &ArrayValue) : *VecRef<Value>
make#
functionConstructor
func make() : ArrayValue
BigIntValue#
Publicstruct
struct BigIntValue : Value
make#
functionConstructor
func make() : BigIntValue
BoolValue#
Publicstruct
struct BoolValue : Value
make#
functionConstructor
func make() : BoolValue
CastedValue#
Publicstruct
struct CastedValue : Value
make#
functionConstructor
func make() : CastedValue
CharValue#
Publicstruct
struct CharValue : Value
make#
functionConstructor
func make() : CharValue
DereferenceValue#
Publicstruct
struct DereferenceValue : Value
make#
functionConstructor
func make() : DereferenceValue
DoubleValue#
Publicstruct
struct DoubleValue : Value
make#
functionConstructor
func make() : DoubleValue
Expression#
Publicstruct
struct Expression : Value
make#
functionConstructor
func make() : Expression
FloatValue#
Publicstruct
struct FloatValue : Value
make#
functionConstructor
func make() : FloatValue
ExpressiveString#
Publicstruct
struct ExpressiveString : Value
getValues#
Publicfunction
func getValues(self : &ExpressiveString) : *VecRef<Value>
make#
functionConstructor
func make() : ExpressiveString
FunctionCall#
Publicstruct
struct FunctionCall : Value
get_args#
Publicfunction
func get_args(self : &FunctionCall) : *VecRef<Value>
add_generic_arg#
Publicfunction
func add_generic_arg(self : &FunctionCall, type : *BaseType, location : u64) : void
make#
functionConstructor
func make() : FunctionCall
PatternMatchIdentifier#
Publicstruct
struct PatternMatchIdentifier : ASTNode
make#
functionConstructor
func make() : PatternMatchIdentifier
PatternMatchExpr#
Publicstruct
struct PatternMatchExpr : Value
set_expression#
Publicfunction
func set_expression(self : &PatternMatchExpr, value : *Value) : void
set_else_unreachable#
Publicfunction
func set_else_unreachable(self : &PatternMatchExpr) : void
add_param_name#
Publicfunction
func add_param_name(self : &PatternMatchExpr, builder : *ASTBuilder, name : &string_view, location : u64) : *PatternMatchIdentifier
make#
functionConstructor
func make() : PatternMatchExpr
PatternMatchExprNode#
Publicstruct
struct PatternMatchExprNode : ASTNode
make#
functionConstructor
func make() : PatternMatchExprNode
IndexOperator#
Publicstruct
struct IndexOperator : Value
get_idx_ptr#
Publicfunction
func get_idx_ptr(self : &IndexOperator) : **Value
make#
functionConstructor
func make() : IndexOperator
get_idx#
PublicfunctionExtension
func get_idx(idx : &IndexOperator) : *Value
Int128Value#
Publicstruct
struct Int128Value : Value
make#
functionConstructor
func make() : Int128Value
IntValue#
Publicstruct
struct IntValue : Value
make#
functionConstructor
func make() : IntValue
IsValue#
Publicstruct
struct IsValue : Value
make#
functionConstructor
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#
functionConstructor
func make() : LambdaFunction
LongValue#
Publicstruct
struct LongValue : Value
make#
functionConstructor
func make() : LongValue
NegativeValue#
Publicstruct
struct NegativeValue : Value
make#
functionConstructor
func make() : NegativeValue
NotValue#
Publicstruct
struct NotValue : Value
make#
functionConstructor
func make() : NotValue
BitwiseNot#
Publicstruct
struct BitwiseNot : Value
make#
functionConstructor
func make() : BitwiseNot
NullValue#
Publicstruct
struct NullValue : Value
make#
functionConstructor
func make() : NullValue
NumberValue#
Publicstruct
struct NumberValue : Value
make#
functionConstructor
func make() : NumberValue
ShortValue#
Publicstruct
struct ShortValue : Value
make#
functionConstructor
func make() : ShortValue
SizeOfValue#
Publicstruct
struct SizeOfValue : Value
make#
functionConstructor
func make() : SizeOfValue
OffsetOfValue#
Publicstruct
struct OffsetOfValue : Value
make#
functionConstructor
func make() : OffsetOfValue
StringValue#
Publicstruct
struct StringValue : Value
getValue#
Publicfunction
func getValue(self : &StringValue) : string_view
make#
functionConstructor
func make() : StringValue
StructValue#
Publicstruct
struct StructValue : Value
add_value#
Publicfunction
func add_value(self : &StructValue, name : &string_view, value : *Value) : void
make#
functionConstructor
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#
functionConstructor
func make() : BlockValue
UBigIntValue#
Publicstruct
struct UBigIntValue : Value
make#
functionConstructor
func make() : UBigIntValue
UCharValue#
Publicstruct
struct UCharValue : Value
make#
functionConstructor
func make() : UCharValue
UInt128Value#
Publicstruct
struct UInt128Value : Value
make#
functionConstructor
func make() : UInt128Value
UIntValue#
Publicstruct
struct UIntValue : Value
make#
functionConstructor
func make() : UIntValue
ULongValue#
Publicstruct
struct ULongValue : Value
make#
functionConstructor
func make() : ULongValue
UShortValue#
Publicstruct
struct UShortValue : Value
make#
functionConstructor
func make() : UShortValue
ValueNode#
Publicstruct
struct ValueNode : ASTNode
make#
functionConstructor
func make() : ValueNode
ModuleScope#
Publicstruct
struct ModuleScope : ASTNode
getScopeName#
Publicfunction
func getScopeName(self : &ModuleScope) : string_view
getModuleName#
Publicfunction
func getModuleName(self : &ModuleScope) : string_view
make#
functionConstructor
func make() : ModuleScope
VariableIdentifier#
Publicstruct
struct VariableIdentifier : Value
make#
functionConstructor
func make() : VariableIdentifier
EmbeddedValue#
Publicstruct
struct EmbeddedValue : Value
getDataPtr#
Publicfunction
func getDataPtr(self : &EmbeddedValue) : *void
make#
functionConstructor
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#
functionConstructor
func make() : BaseDefMember
The ASTNodes
StructMemberInitializer#
Publicstruct
struct StructMemberInitializer : ASTNode
make#
functionConstructor
func make() : StructMemberInitializer
CapturedVariable#
Publicstruct
struct CapturedVariable : ASTNode
make#
functionConstructor
func make() : CapturedVariable
VariantCase#
Publicstruct
struct VariantCase : ASTNode
add_variable#
Publicfunction
func add_variable(self : &VariantCase, variable : *VariantCaseVariable) : void
make#
functionConstructor
func make() : VariantCase
VariantCaseVariable#
Publicstruct
struct VariantCaseVariable : ASTNode
make#
functionConstructor
func make() : VariantCaseVariable
AssignStatement#
Publicstruct
struct AssignStatement : ASTNode
make#
functionConstructor
func make() : AssignStatement
BreakStatement#
Publicstruct
struct BreakStatement : ASTNode
make#
functionConstructor
func make() : BreakStatement
ContinueStatement#
Publicstruct
struct ContinueStatement : ASTNode
make#
functionConstructor
func make() : ContinueStatement
DestructStmt#
Publicstruct
struct DestructStmt : ASTNode
make#
functionConstructor
func make() : DestructStmt
ReturnStatement#
Publicstruct
struct ReturnStatement : ASTNode
make#
functionConstructor
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#
functionConstructor
func make() : TypealiasStatement
UsingStmt#
Publicstruct
struct UsingStmt : ASTNode
make#
functionConstructor
func make() : UsingStmt
VarInitStatement#
Publicstruct
struct VarInitStatement : ASTNode
make#
functionConstructor
func make() : VarInitStatement
Scope#
Publicstruct
struct Scope : ASTNode
getNodes#
Publicfunction
func getNodes(self : &Scope) : *VecRef<ASTNode>
make#
functionConstructor
func make() : Scope
FileScope#
Publicstruct
struct FileScope : ASTNode
getBody#
Publicfunction
func getBody(self : &FileScope) : *Scope
make#
functionConstructor
func make() : FileScope
LoopASTNode#
Publicstruct
struct LoopASTNode : ASTNode
make#
functionConstructor
func make() : LoopASTNode
DoWhileLoop#
Publicstruct
struct DoWhileLoop : LoopASTNode
get_body#
Publicfunction
func get_body(self : &DoWhileLoop) : *VecRef<ASTNode>
make#
functionConstructor
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#
functionConstructor
func make() : EnumDeclaration
EnumMember#
Publicstruct
struct EnumMember : ASTNode
getName#
Publicfunction
func getName(self : &EnumMember) : string_view
make#
functionConstructor
func make() : EnumMember
ForLoop#
Publicstruct
struct ForLoop : LoopASTNode
get_body#
Publicfunction
func get_body(self : &ForLoop) : *VecRef<ASTNode>
make#
functionConstructor
func make() : ForLoop
SwitchStatement#
Publicstruct
struct SwitchStatement
make#
functionConstructor
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) : FuncDeclAttributesCBI
setAttributes#
Publicfunction
func setAttributes(self : &FunctionDeclaration, attrs : FuncDeclAttributesCBI) : void
setAccessSpecifier#
Publicfunction
func setAccessSpecifier(self : &FunctionDeclaration, spec : AccessSpecifier) : void
isExtensionFn#
Publicfunction
func isExtensionFn(self : &FunctionDeclaration) : bool
make#
functionConstructor
func make() : FunctionDeclaration
FunctionParam#
Publicstruct
struct FunctionParam : ASTNode
getName#
Publicfunction
func getName(self : &FunctionParam) : string_view
getType#
Publicfunction
func getType(self : &FunctionParam) : *BaseType
make#
functionConstructor
func make() : FunctionParam
BaseGenericDecl#
Publicstruct
struct BaseGenericDecl : ASTNode
getGenericParams#
Publicfunction
func getGenericParams(self : &BaseGenericDecl) : *VecRef<GenericTypeParameter>
make#
functionConstructor
func make() : BaseGenericDecl
GenericStructDecl#
Publicstruct
struct GenericStructDecl : BaseGenericDecl
getMasterImpl#
Publicfunction
func getMasterImpl(self : &GenericStructDecl) : *StructDefinition
make#
functionConstructor
func make() : GenericStructDecl
GenericFuncDecl#
Publicstruct
struct GenericFuncDecl : BaseGenericDecl
getMasterImpl#
Publicfunction
func getMasterImpl(self : &GenericFuncDecl) : *FunctionDeclaration
make#
functionConstructor
func make() : GenericFuncDecl
GenericVariantDecl#
Publicstruct
struct GenericVariantDecl : BaseGenericDecl
getMasterImpl#
Publicfunction
func getMasterImpl(self : &GenericVariantDecl) : *VariantDefinition
make#
functionConstructor
func make() : GenericVariantDecl
GenericUnionDecl#
Publicstruct
struct GenericUnionDecl : BaseGenericDecl
getMasterImpl#
Publicfunction
func getMasterImpl(self : &GenericUnionDecl) : *UnionDef
make#
functionConstructor
func make() : GenericUnionDecl
GenericInterfaceDecl#
Publicstruct
struct GenericInterfaceDecl : BaseGenericDecl
getMasterImpl#
Publicfunction
func getMasterImpl(self : &GenericInterfaceDecl) : *InterfaceDefinition
make#
functionConstructor
func make() : GenericInterfaceDecl
GenericTypeParameter#
Publicstruct
struct GenericTypeParameter : ASTNode
getName#
Publicfunction
func getName(self : &GenericTypeParameter) : string_view
getDefaultType#
Publicfunction
func getDefaultType(self : &GenericTypeParameter) : *BaseType
make#
functionConstructor
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#
functionConstructor
func make() : IfStatement
ImplDefinition#
Publicstruct
struct ImplDefinition : ASTNode
add_function#
Publicfunction
func add_function(self : &ImplDefinition, builder : *ASTBuilder, decl : *FunctionDeclaration) : void
make#
functionConstructor
func make() : ImplDefinition
InterfaceDefinition#
Publicstruct
struct InterfaceDefinition : VariablesContainer
getName#
Publicfunction
func getName(self : &InterfaceDefinition) : string_view
add_function#
Publicfunction
func add_function(self : &InterfaceDefinition, 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#
functionConstructor
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#
functionConstructor
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(self : &StructDefinition, builder : *ASTBuilder, decl : *FunctionDeclaration) : void
getMembers#
Publicfunction
func getMembers(self : &StructDefinition) : *VecRef<BaseDefMember>
getFunctions#
Publicfunction
func getFunctions(self : &StructDefinition) : *VecRef<ASTNode>
make#
functionConstructor
func make() : StructDefinition
StructMember#
Publicstruct
struct StructMember : BaseDefMember
getType#
Publicfunction
func getType(self : &StructMember) : *BaseType
make#
functionConstructor
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(self : &UnionDef, 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
getMembers#
Publicfunction
func getMembers(self : &UnionDef) : *VecRef<BaseDefMember>
getFunctions#
Publicfunction
func getFunctions(self : &UnionDef) : *VecRef<ASTNode>
make#
functionConstructor
func make() : UnionDef
UnsafeBlock#
Publicstruct
struct UnsafeBlock : ASTNode
get_body#
Publicfunction
func get_body(self : &UnsafeBlock) : *VecRef<ASTNode>
make#
functionConstructor
func make() : UnsafeBlock
WhileLoop#
Publicstruct
struct WhileLoop : LoopASTNode
get_body#
Publicfunction
func get_body(self : &WhileLoop) : *VecRef<ASTNode>
make#
functionConstructor
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#
functionConstructor
func make() : VariantDefinition
VariantMember#
Publicstruct
struct VariantMember : ASTNode
add_param#
Publicfunction
func add_param(self : &VariantMember, param : *VariantMemberParam) : void
make#
functionConstructor
func make() : VariantMember
EmbeddedNode#
Publicstruct
struct EmbeddedNode : ASTNode
getDataPtr#
Publicfunction
func getDataPtr(self : &EmbeddedNode) : *void
make#
functionConstructor
func make() : EmbeddedNode
VariantMemberParam#
Publicstruct
struct VariantMemberParam : ASTNode
make#
functionConstructor
func make() : VariantMemberParam
EmbeddedNodeKnownTypeFunc#
Publictypealias
type EmbeddedNodeKnownTypeFunc = func(*EmbeddedNode) : *BaseType
EmbeddedNodeChildResolutionFunc#
Publictypealias
type EmbeddedNodeChildResolutionFunc = func(*EmbeddedNode, &string_view) : *ASTNode
CrossModuleSymbolDeclarerFn#
Publictypealias
type CrossModuleSymbolDeclarerFn = func(*void, &string_view, *ASTNode) : void
CrossModuleSymbolDeclarerProxyFn#
Publictypealias
type CrossModuleSymbolDeclarerProxyFn = func(*void, *EmbeddedNode, CrossModuleSymbolDeclarerFn, AccessSpecifier) : void
ASTBuilder#
Publicstruct
struct ASTBuilder { var allocator : *BatchAllocator var typeBuilder : *void }
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, spec : AccessSpecifier, 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_top_level_embedded_node#
Publicfunction
func make_top_level_embedded_node(self : &ASTBuilder, spec : AccessSpecifier, name : &string_view, data_ptr : *void, known_type_fn : EmbeddedNodeKnownTypeFunc, child_res_fn : EmbeddedNodeChildResolutionFunc, cmsdpf : CrossModuleSymbolDeclarerProxyFn, 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) : *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_generic_type_with_args#
Publicfunction
func make_generic_type_with_args(self : &ASTBuilder, linkedType : *LinkedType, args : span<*BaseType>, locs : span<u64>) : *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, is_mutable : bool, location : u64) : *PointerType
make_reference_type#
Publicfunction
func make_reference_type(self : &ASTBuilder, child_type : *BaseType, is_mutable : bool, 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<*Value>, location : u64) : *AccessChain
make_access_chain_node#
Publicfunction
func make_access_chain_node(self : &ASTBuilder, values : &span<*Value>, 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, is_mutable : bool, location : u64) : *AddrOfValue
make_reference_of_value#
Publicfunction
func make_reference_of_value(self : &ASTBuilder, value : *Value, is_mutable : bool, location : u64) : *ReferenceOfValue
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, type : *BaseType, location : u64) : *Expression
make_float_value#
Publicfunction
func make_float_value(self : &ASTBuilder, value : float, location : u64) : *FloatValue
make_pattern_match_expr#
Publicfunction
func make_pattern_match_expr(self : &ASTBuilder, is_const : bool, destructure_by_name : bool, name : &string_view, location : u64) : *PatternMatchExpr
make_pattern_match_node#
Publicfunction
func make_pattern_match_node(self : &ASTBuilder, expr : *PatternMatchExpr, parent_node : *ASTNode, location : u64) : *PatternMatchExprNode
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_bitwise_not#
Publicfunction
func make_bitwise_not(self : &ASTBuilder, value : *Value, location : u64) : *BitwiseNot
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_offsetof_value#
Publicfunction
func make_offsetof_value(self : &ASTBuilder, type : *BaseType, member_name : &string_view, location : u64) : *OffsetOfValue
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, node : *ASTNode, location : u64) : *StructValue
the node can be a struct decl, union decl
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, parent_node : *ASTNode, location : u64) : *ReturnStatement
make_typealias_stmt#
Publicfunction
func make_typealias_stmt(self : &ASTBuilder, identifier : &string_view, 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, 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, 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, returnType : *BaseType, isVariadic : 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, parent_node : *ASTNode, 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, specifier : AccessSpecifier, parent_node : *ASTNode, location : u64) : *InterfaceDefinition
make_namespace#
Publicfunction
func make_namespace(self : &ASTBuilder, name : &string_view, specifier : AccessSpecifier, parent_node : *ASTNode, location : u64) : *Namespace
make_struct_def#
Publicfunction
func make_struct_def(self : &ASTBuilder, name : &string_view, 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, 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, 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