Versions in this module Expand all Collapse all v0 v0.3.0 Oct 7, 2021 v0.2.0 Oct 7, 2021 v0.1.0 Oct 7, 2021 Changes in this version + const BigFloat + const BigInt + const BigRat + const Bool + const Chan + const Complex128 + const Complex64 + const ConstBoundRune + const ConstBoundString + const ConstUnboundComplex + const ConstUnboundFloat + const ConstUnboundInt + const ConstUnboundPtr + const Float32 + const Float64 + const GobCap + const GobClose + const GobComplex + const GobCopy + const GobDelete + const GobImag + const GobLen + const GobReal + const Int + const Int16 + const Int32 + const Int64 + const Int8 + const InvalidReserved + const Map + const OpAdd + const OpAddAssign + const OpAddrVal + const OpAnd + const OpAndAssign + const OpAndNot + const OpAndNotAssign + const OpAssign + const OpBitNot + const OpDec + const OpEQ + const OpEQNil + const OpGE + const OpGT + const OpInc + const OpInvalid + const OpLAnd + const OpLE + const OpLNot + const OpLOr + const OpLT + const OpLsh + const OpLshAssign + const OpMod + const OpModAssign + const OpMul + const OpMulAssign + const OpNE + const OpNENil + const OpNeg + const OpOr + const OpOrAssign + const OpQuo + const OpQuoAssign + const OpRsh + const OpRshAssign + const OpSub + const OpSubAssign + const OpXor + const OpXorAssign + const Ptr + const SameAsFirst + const Slice + const SliceConstIndexLast + const SliceDefaultIndex + const String + const SymbolFunc + const SymbolFuncv + const SymbolVar + const Uint + const Uint16 + const Uint32 + const Uint64 + const Uint8 + const Uintptr + const UnsafePointer + func CallAddrOp(kind Kind, op AddrOperator, data ...interface{}) + func CallBuiltinOp(kind Kind, op Operator, data ...interface{}) interface + func DumpCodeBlock(w io.Writer, data ...Instr) + func FindGoPackage(pkgPath string) exec.GoPackage + func ProfileReport() + func SetProfile(profile bool) + func ToValues(args []interface{}) []reflect.Value + type AddrOperator = exec.AddrOperator + type AddrOperatorInfo = exec.AddrOperatorInfo + type Builder struct + func NewBuilder(code *Code) *Builder + func (p *Builder) Addr(idx int32) *Builder + func (p *Builder) AddrField(typ reflect.Type, index []int) *Builder + func (p *Builder) AddrGoVar(addr GoVarAddr) *Builder + func (p *Builder) AddrIndex(idx int) *Builder + func (p *Builder) AddrOp(kind Kind, op AddrOperator) *Builder + func (p *Builder) AddrVar(v *Var) *Builder + func (p *Builder) Append(typ reflect.Type, arity int) *Builder + func (p *Builder) BuiltinOp(kind Kind, op Operator) *Builder + func (p *Builder) CallClosure(arity int) *Builder + func (p *Builder) CallFunc(fun *FuncInfo) *Builder + func (p *Builder) CallFuncv(fun *FuncInfo, arity int) *Builder + func (p *Builder) CallGoClosure(arity int) *Builder + func (p *Builder) CallGoFunc(fun GoFuncAddr) *Builder + func (p *Builder) CallGoFuncv(fun GoFuncvAddr, arity int) *Builder + func (p *Builder) CaseNE(l *Label, arity int) *Builder + func (p *Builder) Closure(fun *FuncInfo) *Builder + func (p *Builder) Default() *Builder + func (p *Builder) Defer() *Builder + func (p *Builder) DefineFunc(fun *FuncInfo) *Builder + func (p *Builder) DefineVar(vars ...*Var) *Builder + func (p *Builder) DefineVars(vars ...exec.Var) *Builder + func (p *Builder) EndComprehension(c *Comprehension) *Builder + func (p *Builder) EndForPhrase(f *ForPhrase) *Builder + func (p *Builder) EndFunc(fun *FuncInfo) *Builder + func (p *Builder) ErrWrap(nret int, retErr exec.Var, frame *errors.Frame, narg int) *Builder + func (p *Builder) FilterForPhrase(f *ForPhrase) *Builder + func (p *Builder) ForPhrase(f *ForPhrase, key, val *Var, hasExecCtx ...bool) *Builder + func (p *Builder) Go() exec.Builder + func (p *Builder) GoBuiltin(typ reflect.Type, op GoBuiltin) *Builder + func (p *Builder) GoClosure(fun *FuncInfo) *Builder + func (p *Builder) InCurrentCtx(v *Var) bool + func (p *Builder) Index(idx int) *Builder + func (p *Builder) Interface() exec.Builder + func (p *Builder) Jmp(l *Label) *Builder + func (p *Builder) JmpIf(cond exec.JmpCondFlag, l *Label) *Builder + func (p *Builder) Label(l *Label) *Builder + func (p *Builder) ListComprehension(c *Comprehension) *Builder + func (p *Builder) Load(idx int32) *Builder + func (p *Builder) LoadField(typ reflect.Type, index []int) *Builder + func (p *Builder) LoadGoVar(addr GoVarAddr) *Builder + func (p *Builder) LoadVar(v *Var) *Builder + func (p *Builder) Make(typ reflect.Type, arity int) *Builder + func (p *Builder) MakeArray(typ reflect.Type, arity int) *Builder + func (p *Builder) MakeMap(typ reflect.Type, arity int) *Builder + func (p *Builder) MapComprehension(c *Comprehension) *Builder + func (p *Builder) MapIndex(twoValue bool) *Builder + func (p *Builder) New(typ reflect.Type) *Builder + func (p *Builder) Pop(n int) *Builder + func (p *Builder) Push(val interface{}) *Builder + func (p *Builder) Recv() *Builder + func (p *Builder) Reserve() Reserved + func (p *Builder) ReservedAsOpLsh(r exec.Reserved, kind exec.Kind, op exec.Operator) *Builder + func (p *Builder) ReservedAsPush(r Reserved, val interface{}) + func (p *Builder) Resolve() *Code + func (p *Builder) Return(n int32) *Builder + func (p *Builder) Send() *Builder + func (p *Builder) SetIndex(idx int) *Builder + func (p *Builder) SetMapIndex() *Builder + func (p *Builder) Slice(i, j int) *Builder + func (p *Builder) Slice3(i, j, k int) *Builder + func (p *Builder) Store(idx int32) *Builder + func (p *Builder) StoreField(typ reflect.Type, index []int) *Builder + func (p *Builder) StoreGoVar(addr GoVarAddr) *Builder + func (p *Builder) StoreVar(v *Var) *Builder + func (p *Builder) Struct(typ reflect.Type, arity int) *Builder + func (p *Builder) TypeCast(from, to reflect.Type) *Builder + func (p *Builder) WrapIfErr(nret int, l *Label) *Builder + func (p *Builder) Zero(typ reflect.Type) *Builder + type Closure struct + func (p *Closure) Call(in []reflect.Value) (out []reflect.Value) + type Code struct + func NewCode() *Code + func (p *Code) Dump(w io.Writer) + func (p *Code) Len() int + type Comprehension struct + End int + TypeOut reflect.Type + func NewComprehension(out reflect.Type) *Comprehension + type ConstKind = exec.ConstKind + type Context struct + func NewContext(in exec.Code) *Context + func (ctx *Context) Call(f exec.FuncInfo) + func (ctx *Context) CloneSetVarScope(new *Context) + func (ctx *Context) Exec(ip, ipEnd int) (currentIP int) + func (ctx *Context) GetVar(x *Var) interface{} + func (ctx *Context) Go(arity int, f func(goctx *Context)) + func (ctx *Context) Run() + func (ctx *Context) SetVar(x *Var, v interface{}) + type ForPhrase struct + Cond int + End int + Key *Var + TypeIn reflect.Type + Value *Var + func NewForPhrase(in reflect.Type) *ForPhrase + type FuncInfo struct + Pkg *Package + func NewFunc(name string, nestDepth uint32) *FuncInfo + func (p *FuncInfo) Args(in ...reflect.Type) *FuncInfo + func (p *FuncInfo) IsUnnamedOut() bool + func (p *FuncInfo) IsVariadic() bool + func (p *FuncInfo) Name() string + func (p *FuncInfo) NumIn() int + func (p *FuncInfo) NumOut() int + func (p *FuncInfo) Out(i int) *Var + func (p *FuncInfo) Return(out ...*Var) *FuncInfo + func (p *FuncInfo) Type() reflect.Type + func (p *FuncInfo) Vargs(in ...reflect.Type) *FuncInfo + type GoBuiltin = exec.GoBuiltin + type GoConstInfo = exec.GoConstInfo + type GoFuncAddr = exec.GoFuncAddr + type GoFuncInfo struct + Name string + Pkg *GoPackage + This interface{} + type GoFuncvAddr = exec.GoFuncvAddr + type GoFuncvInfo struct + type GoPackage struct + func NewGoPackage(pkgPath string) *GoPackage + func (p *GoPackage) Const(name string, kind ConstKind, val interface{}) GoConstInfo + func (p *GoPackage) Find(name string) (addr uint32, kind SymbolKind, ok bool) + func (p *GoPackage) FindConst(name string) (ci *GoConstInfo, ok bool) + func (p *GoPackage) FindFunc(name string) (addr GoFuncAddr, ok bool) + func (p *GoPackage) FindFuncv(name string) (addr GoFuncvAddr, ok bool) + func (p *GoPackage) FindType(name string) (typ reflect.Type, ok bool) + func (p *GoPackage) FindVar(name string) (addr GoVarAddr, ok bool) + func (p *GoPackage) Func(name string, fn interface{}, exec func(i int, p *Context)) GoFuncInfo + func (p *GoPackage) Funcv(name string, fn interface{}, exec func(i int, p *Context)) GoFuncvInfo + func (p *GoPackage) PkgPath() string + func (p *GoPackage) RegisterConsts(consts ...GoConstInfo) + func (p *GoPackage) RegisterFuncs(funs ...GoFuncInfo) (base GoFuncAddr) + func (p *GoPackage) RegisterFuncvs(funs ...GoFuncvInfo) (base GoFuncvAddr) + func (p *GoPackage) RegisterTypes(typinfos ...GoTypeInfo) + func (p *GoPackage) RegisterVars(vars ...GoVarInfo) (base GoVarAddr) + func (p *GoPackage) Rtype(typ reflect.Type) GoTypeInfo + func (p *GoPackage) Type(name string, typ reflect.Type) GoTypeInfo + func (p *GoPackage) Var(name string, addr interface{}) GoVarInfo + type GoTypeInfo struct + Name string + Pkg *GoPackage + Type reflect.Type + type GoVarAddr = exec.GoVarAddr + type GoVarInfo struct + Addr interface{} + Name string + Pkg *GoPackage + type Instr = uint32 + type InstrInfo struct + Arg1 string + Arg2 string + Name string + Params uint16 + func DecodeInstr(i Instr) (InstrInfo, int32, int32) + type Kind = exec.Kind + type Label struct + func NewLabel(name string) *Label + func (p *Label) Name() string + type Operator = exec.Operator + type OperatorInfo = exec.OperatorInfo + type Package struct + func NewPackage(code *Code) *Package + func (p *Package) FindGoPackage(pkgPath string) exec.GoPackage + func (p *Package) GetGoFuncInfo(addr exec.GoFuncAddr) *exec.GoFuncInfo + func (p *Package) GetGoFuncType(addr exec.GoFuncAddr) reflect.Type + func (p *Package) GetGoFuncvInfo(addr exec.GoFuncvAddr) *exec.GoFuncInfo + func (p *Package) GetGoFuncvType(addr exec.GoFuncvAddr) reflect.Type + func (p *Package) GetGoVarInfo(addr exec.GoVarAddr) *exec.GoVarInfo + func (p *Package) NewComprehension(out reflect.Type) exec.Comprehension + func (p *Package) NewForPhrase(in reflect.Type) exec.ForPhrase + func (p *Package) NewFunc(name string, nestDepth uint32, funcType ...int) exec.FuncInfo + func (p *Package) NewLabel(name string) exec.Label + func (p *Package) NewVar(typ reflect.Type, name string) exec.Var + type Reserved = exec.Reserved + type Stack struct + func NewStack() (p *Stack) + func (p *Stack) Get(idx int) interface{} + func (p *Stack) GetArgs(arity int) []interface{} + func (p *Stack) Init() + func (p *Stack) Len() int + func (p *Stack) Pop() interface{} + func (p *Stack) PopN(n int) + func (p *Stack) Push(v interface{}) + func (p *Stack) Ret(arity int, results ...interface{}) + func (p *Stack) Set(idx int, v interface{}) + func (p *Stack) SetLen(base int) + type StructField = reflect.StructField + type StructInfo struct + Fields []StructField + func Struct(fields []StructField) *StructInfo + func (p *StructInfo) Type() reflect.Type + type SymbolKind = exec.SymbolKind + type Var struct + func NewVar(typ reflect.Type, name string) *Var + func (p *Var) IsUnnamedOut() bool + func (p *Var) Name() string + func (p *Var) SetAddr(nestDepth, idx uint32) + func (p *Var) Type() reflect.Type