Versions in this module Expand all Collapse all v0 v0.2.0 Sep 19, 2024 Changes in this version type Function + IsBuiltin bool + IsExtern bool v0.1.0 Jun 23, 2024 Changes in this version + var Bool = &BoolType + var EmptyStringConstant *ir.Global + var I16 = &Int + var I32 = &Int + var I64 = &Int + var I8 = &Int + var ModuleStringType types.Type + var String = &StringType + var U128 = &Int + var U16 = &Int + var U256 = &Int + var U32 = &Int + var U64 = &Int + var U8 = &Int + var Uintptr = &Int + var Void = &VoidType + type Array struct + Len uint64 + LlvmType types.Type + Type Type + func (Array) IsSigned() bool + func (Array) Size() int64 + func (a Array) LLVM() types.Type + func (a Array) Name() string + func (a Array) Zero(block *ir.Block, alloca llvmValue.Value) + func (b *Array) AddMethod(name string, method *Method) + func (b *Array) GetMethod(name string) (*Method, bool) + type BoolType struct + func (BoolType) IsSigned() bool + func (BoolType) LLVM() types.Type + func (BoolType) Name() string + func (BoolType) Size() int64 + func (b *BoolType) AddMethod(name string, method *Method) + func (b *BoolType) GetMethod(name string) (*Method, bool) + func (b BoolType) Zero(block *ir.Block, alloca llvmValue.Value) + type Function struct + ArgumentTypes []Type + FuncType types.Type + IsExternal bool + IsVariadic bool + JumpFunction *ir.Func + LlvmReturnType Type + ReturnTypes []Type + func (Function) IsSigned() bool + func (Function) Size() int64 + func (Function) Zero(*ir.Block, llvmValue.Value) + func (b *Function) AddMethod(name string, method *Method) + func (b *Function) GetMethod(name string) (*Method, bool) + func (f Function) LLVM() types.Type + func (f Function) Name() string + type Int struct + Signed bool + Type *types.IntType + TypeName string + TypeSize int64 + func (b *Int) AddMethod(name string, method *Method) + func (b *Int) GetMethod(name string) (*Method, bool) + func (i Int) IsSigned() bool + func (i Int) LLVM() types.Type + func (i Int) Name() string + func (i Int) Size() int64 + func (i Int) Zero(block *ir.Block, alloca llvmValue.Value) + type Interface struct + RequiredMethods map[string]InterfaceMethod + SourceName string + func (Interface) IsSigned() bool + func (Interface) Size() int64 + func (Interface) Zero(*ir.Block, llvmValue.Value) + func (b *Interface) AddMethod(name string, method *Method) + func (b *Interface) GetMethod(name string) (*Method, bool) + func (i Interface) JumpTable() *types.StructType + func (i Interface) LLVM() types.Type + func (i Interface) Name() string + func (i Interface) SortedRequiredMethods() []string + type InterfaceMethod struct + ArgumentTypes []Type + LlvmJumpFunction llvmValue.Named + ReturnTypes []Type + func (InterfaceMethod) IsSigned() bool + func (InterfaceMethod) LLVM() types.Type + func (InterfaceMethod) Name() string + func (InterfaceMethod) Size() int64 + func (InterfaceMethod) Zero(*ir.Block, llvmValue.Value) + func (b *InterfaceMethod) AddMethod(name string, method *Method) + func (b *InterfaceMethod) GetMethod(name string) (*Method, bool) + type Method struct + Function *Function + LlvmFunction llvmValue.Named + MethodName string + PointerReceiver bool + func (Method) IsSigned() bool + func (Method) Size() int64 + func (Method) Zero(*ir.Block, llvmValue.Value) + func (b *Method) AddMethod(name string, method *Method) + func (b *Method) GetMethod(name string) (*Method, bool) + func (m Method) LLVM() types.Type + func (m Method) Name() string + type MultiValue struct + Types []Type + func (MultiValue) IsSigned() bool + func (MultiValue) Size() int64 + func (MultiValue) Zero(*ir.Block, llvmValue.Value) + func (b *MultiValue) AddMethod(name string, method *Method) + func (b *MultiValue) GetMethod(name string) (*Method, bool) + func (m MultiValue) LLVM() types.Type + func (m MultiValue) Name() string + type PackageInstance struct + func (PackageInstance) IsSigned() bool + func (PackageInstance) LLVM() types.Type + func (PackageInstance) Size() int64 + func (PackageInstance) Zero(*ir.Block, llvmValue.Value) + func (b *PackageInstance) AddMethod(name string, method *Method) + func (b *PackageInstance) GetMethod(name string) (*Method, bool) + func (p *PackageInstance) GetFunc(name string) (*Function, bool) + func (p *PackageInstance) SetFunc(name string, val *Function) + func (p *PackageInstance) SetName(name string) + func (p PackageInstance) Name() string + type Pointer struct + IsNonAllocDereference bool + LlvmType types.Type + Type Type + func (Pointer) IsSigned() bool + func (Pointer) Zero(*ir.Block, llvmValue.Value) + func (b *Pointer) AddMethod(name string, method *Method) + func (b *Pointer) GetMethod(name string) (*Method, bool) + func (p Pointer) LLVM() types.Type + func (p Pointer) Name() string + func (p Pointer) Size() int64 + type Slice struct + LlvmType types.Type + Type Type + func (Slice) IsSigned() bool + func (Slice) Name() string + func (Slice) Size() int64 + func (Slice) Zero(*ir.Block, llvmValue.Value) + func (b *Slice) AddMethod(name string, method *Method) + func (b *Slice) GetMethod(name string) (*Method, bool) + func (s Slice) LLVM() types.Type + func (s Slice) SliceZero(block *ir.Block, mallocFunc llvmValue.Named, initCap int, ...) + type StringType struct + Type types.Type + func (StringType) IsSigned() bool + func (StringType) LLVM() types.Type + func (StringType) Name() string + func (StringType) Size() int64 + func (b *StringType) AddMethod(name string, method *Method) + func (b *StringType) GetMethod(name string) (*Method, bool) + func (s StringType) Zero(block *ir.Block, alloca llvmValue.Value) + type Struct struct + IsHeapAllocated bool + MemberIndexes map[string]int + Members map[string]Type + SourceName string + Type types.Type + func (Struct) IsSigned() bool + func (b *Struct) AddMethod(name string, method *Method) + func (b *Struct) GetMethod(name string) (*Method, bool) + func (s Struct) LLVM() types.Type + func (s Struct) Name() string + func (s Struct) Size() int64 + func (s Struct) Zero(block *ir.Block, alloca llvmValue.Value) + type Type interface + AddMethod func(string, *Method) + GetMethod func(string) (*Method, bool) + IsSigned func() bool + LLVM func() types.Type + Name func() string + Size func() int64 + Zero func(*ir.Block, llvmValue.Value) + type UntypedConstantNumber struct + func (UntypedConstantNumber) IsSigned() bool + func (UntypedConstantNumber) Size() int64 + func (UntypedConstantNumber) Zero(*ir.Block, llvmValue.Value) + func (b *UntypedConstantNumber) AddMethod(name string, method *Method) + func (b *UntypedConstantNumber) GetMethod(name string) (*Method, bool) + func (m UntypedConstantNumber) LLVM() types.Type + func (m UntypedConstantNumber) Name() string + type VoidType struct + func (VoidType) IsSigned() bool + func (VoidType) LLVM() types.Type + func (VoidType) Name() string + func (VoidType) Size() int64 + func (VoidType) Zero(*ir.Block, llvmValue.Value) + func (b *VoidType) AddMethod(name string, method *Method) + func (b *VoidType) GetMethod(name string) (*Method, bool) v0.0.0 Apr 6, 2024