util.helpers: Add get_upvalue(function, name) helper

Fri, 16 Oct 2009 22:03:32 +0100

author
Matthew Wild <mwild1@gmail.com>
date
Fri, 16 Oct 2009 22:03:32 +0100
changeset 1959
f56670ce64de
parent 1958
e2b0026143c4
child 1960
1e674dae31ae

util.helpers: Add get_upvalue(function, name) helper

util/helpers.lua file | annotate | diff | comparison | revisions
--- a/util/helpers.lua	Fri Oct 16 19:52:09 2009 +0100
+++ b/util/helpers.lua	Fri Oct 16 22:03:32 2009 +0100
@@ -24,4 +24,13 @@
 	events.fire_event, events[events.fire_event] = events[events.fire_event], nil; -- :)
 end
 
+function get_upvalue(f, get_name)
+	local i, name, value = 0;
+	repeat
+		i = i + 1;
+		name, value = debug.getupvalue(f, i);
+	until name == get_name or name == nil;
+	return value;
+end
+
 return _M;

mercurial