Versions in this module Expand all Collapse all v1 v1.0.0 Sep 11, 2020 Changes in this version + const AnyArena + const AnyRTTI + const AnyRefCount + const AnyValue + const BufAlign + const BufArena + const BufCap + const BufData + const BufSize + const ContextArena + const ContextCmdArgs + const ContextCmdID + const ContextGlobals + const ContextNextPoolID + const ContextThread + const ErrAborted + const ErrSuccess + const KindArray + const KindBool + const KindChar + const KindClass + const KindEnum + const KindF32 + const KindF64 + const KindInt + const KindMap + const KindPointer + const KindReference + const KindS16 + const KindS32 + const KindS64 + const KindS8 + const KindSize + const KindSlice + const KindString + const KindU16 + const KindU32 + const KindU64 + const KindU8 + const KindUint + const MapArena + const MapCapacity + const MapCount + const MapElements + const MapRefCount + const MsgArena + const MsgArgName + const MsgArgValue + const MsgArgs + const MsgIdentifier + const MsgRefCount + const PoolBuffer + const PoolID + const PoolRefCount + const PoolSize + const RTTIAPIIndex + const RTTIKind + const RTTIReference + const RTTIRelease + const RTTITypeIndex + const RTTITypeName + const Read + const RefArena + const RefRefCount + const RefValue + const SliceBase + const SliceCount + const SlicePool + const SliceRoot + const SliceSize + const StringArena + const StringData + const StringLength + const StringRefCount + const Write + type C struct + APIs []*semantic.API + M *codegen.Module + Mangler mangling.Mangler + Root mangling.Scope + Settings Settings + T Types + func (c *C) Alloc(s *S, count *codegen.Value, ty codegen.Type) *codegen.Value + func (c *C) AppendBuffer(s *S, bufPtr, size, bytes *codegen.Value) + func (c *C) AppendBufferData(s *S, bufPtr, ptr *codegen.Value) + func (c *C) Build(f *codegen.Function, do func(*S)) + func (c *C) CopySlice(s *S, dst, src *codegen.Value) + func (c *C) CopySliceByPtr(s *S, dst, src *codegen.Value) + func (c *C) CurrentAPI() *semantic.API + func (c *C) CurrentExpression() semantic.Expression + func (c *C) CurrentStatement() semantic.Statement + func (c *C) Delegate(from, to *codegen.Function) + func (c *C) ExpressionStack() []semantic.Expression + func (c *C) Fail(msg string, args ...interface{}) + func (c *C) Free(s *S, ptr *codegen.Value) + func (c *C) InitBuffer(s *S, bufPtr, initialCapacity *codegen.Value) + func (c *C) IterateMap(s *S, mapPtr *codegen.Value, idxTy semantic.Type, ...) + func (c *C) LoadParameters(s *S, f *semantic.Function) + func (c *C) Log(s *S, severity log.Severity, msg string, args ...interface{}) + func (c *C) LogF(s *S, msg string, args ...interface{}) + func (c *C) LogI(s *S, msg string, args ...interface{}) + func (c *C) MakeSlice(s *S, size, count *codegen.Value) *codegen.Value + func (c *C) MakeSliceAt(s *S, size, count, slice *codegen.Value) + func (c *C) MakeString(s *S, length, data *codegen.Value) *codegen.Value + func (c *C) Mangle(ty codegen.Type) mangling.Type + func (c *C) Method(isConst bool, owner codegen.Type, retTy codegen.Type, name string, ...) *codegen.Function + func (c *C) Parameter(s *S, e *semantic.Parameter) *codegen.Value + func (c *C) Realloc(s *S, old, count *codegen.Value) *codegen.Value + func (c *C) SliceDataForRead(s *S, slice *codegen.Value, elType codegen.Type) *codegen.Value + func (c *C) SliceDataForWrite(s *S, slice *codegen.Value, elType codegen.Type) *codegen.Value + func (c *C) SourceLocation() SourceLocation + func (c *C) SourceLocationFor(n semantic.Node) SourceLocation + func (c *C) SourceLocationForCST(n cst.Node) SourceLocation + func (c *C) StatementStack() []semantic.Statement + func (c *C) StorageTypes(layout *device.MemoryLayout, prefix string) *StorageTypes + func (c *C) TermBuffer(s *S, bufPtr *codegen.Value) + type CommandInfo struct + Execute *codegen.Function + Parameters *codegen.Struct + type ContextDataPlugin interface + ContextData func(*C) []ContextField + OnPreBuildContext func(*C) + type ContextField struct + Init func(s *S, fieldPtr *codegen.Value) + Name string + Term func(s *S, fieldPtr *codegen.Value) + Type codegen.Type + type ErrorCode uint32 + type FunctionExposerPlugin interface + Functions func() map[string]*codegen.Function + type MapInfo struct + Element codegen.Type + Elements *codegen.Struct + Key codegen.Type + Type *codegen.Struct + Val codegen.Type + type MapMethods struct + Clear *codegen.Function + ClearKeep *codegen.Function + Contains *codegen.Function + Index *codegen.Function + Remove *codegen.Function + type OnBeginCommandListener interface + OnBeginCommand func(s *S, cmd *semantic.Function) + type OnEndCommandListener interface + OnEndCommand func(s *S, cmd *semantic.Function) + type OnFenceListener interface + OnFence func(s *S) + type OnReadListener interface + OnRead func(s *S, slice *codegen.Value, ty *semantic.Slice) + type OnWriteListener interface + OnWrite func(s *S, slice *codegen.Value, ty *semantic.Slice) + type Plugin interface + Build func(*C) + type Program struct + APIs []*semantic.API + Codegen *codegen.Module + Commands map[string]*CommandInfo + Functions map[string]*codegen.Function + Globals *StructInfo + Maps map[string]*MapInfo + Module codegen.Global + Settings Settings + Structs map[string]*StructInfo + func Compile(apis []*semantic.API, mappings *semantic.Mappings, s Settings) (*Program, error) + func (p *Program) Dump() string + func (p *Program) IR() map[string]string + type S struct + Arena *codegen.Value + Ctx *codegen.Value + CurrentThread *codegen.Value + Globals *codegen.Value + Location *codegen.Value + Parameters map[*semantic.Parameter]*codegen.Value + func (s *S) ForN(n *codegen.Value, cb func(s *S, iterator *codegen.Value) (cont *codegen.Value)) + func (s *S) If(cond *codegen.Value, onTrue func(s *S)) + func (s *S) IfElse(cond *codegen.Value, onTrue, onFalse func(s *S)) + func (s *S) Return(val *codegen.Value) + func (s *S) Switch(cases []SwitchCase, defaultCase func(s *S)) + type Settings struct + CaptureABI *device.ABI + EmitContext bool + EmitDebug bool + EmitExec bool + Mangler mangling.Mangler + Module string + Namespaces []string + Plugins []Plugin + TargetABI *device.ABI + WriteToApplicationPool bool + type SourceLocation struct + Column int + File string + Line int + Node semantic.Node + func (l SourceLocation) IsValid() bool + func (l SourceLocation) String() string + type StorageTypes struct + func (s *StorageTypes) AlignOf(ty semantic.Type) uint64 + func (s *StorageTypes) Get(ty semantic.Type) codegen.Type + func (s *StorageTypes) SizeOf(ty semantic.Type) uint64 + func (s *StorageTypes) StrideOf(ty semantic.Type) uint64 + type StructInfo struct + Type *codegen.Struct + type SwitchCase struct + Block func(*S) + Conditions func(*S) []*codegen.Value + type Types struct + Any *codegen.Struct + AnyPtr codegen.Type + Arena *codegen.Struct + ArenaPtr codegen.Type + Buf codegen.Type + BufPtr codegen.Type + CaptureTypes *StorageTypes + CmdParams map[*semantic.Function]*codegen.Struct + Ctx *codegen.Struct + CtxPtr codegen.Type + DataAccess codegen.Type + Globals *codegen.Struct + GlobalsPtr codegen.Type + Maps map[*semantic.Map]*MapInfo + Msg *codegen.Struct + MsgArg *codegen.Struct + MsgArgPtr codegen.Type + MsgPtr codegen.Type + Pool codegen.Type + PoolPtr codegen.Type + RTTI *codegen.Struct + Sli codegen.Type + Str *codegen.Struct + StrPtr codegen.Type + Uint8Ptr codegen.Type + VoidPtr codegen.Type + VoidPtrPtr codegen.Type + func (t *Types) AlignOf(layout *device.MemoryLayout, ty semantic.Type) uint64 + func (t *Types) Capture(ty semantic.Type) codegen.Type + func (t *Types) SizeOf(layout *device.MemoryLayout, ty semantic.Type) uint64 + func (t *Types) StrideOf(layout *device.MemoryLayout, ty semantic.Type) uint64 + func (t *Types) Target(ty semantic.Type) codegen.Type Incompatible versions in this module v2.0.0+incompatible Jul 8, 2021