func proxy__gc(L *lua.State) int { vp := (*valueProxy)(L.ToUserdata(1)) mu.Lock() delete(proxyMap, vp) mu.Unlock() return 0 }
func GetTasklistFromLua(L *lua.State) *Tasklist { L.CheckStack(1) L.GetGlobal(TASKLIST) rawptr := L.ToUserdata(-1) var ptr **Tasklist = (**Tasklist)(rawptr) L.Pop(1) return *ptr }
func GetEntryFromLua(L *lua.State, name string, fname string) *Entry { L.CheckStack(1) L.GetGlobal(name) rawptr := L.ToUserdata(-1) var ptr **Entry = (**Entry)(rawptr) L.Pop(1) if ptr == nil { panic(errors.New("No cursor set, can not use " + fname)) } return *ptr }
func valueOfProxy(L *lua.State, idx int) (reflect.Value, reflect.Type) { vp := (*valueProxy)(L.ToUserdata(idx)) return vp.value, vp.t }