Diff

util/helpers.lua @ 1959:f56670ce64de

util.helpers: Add get_upvalue(function, name) helper
author Matthew Wild <mwild1@gmail.com>
date Fri, 16 Oct 2009 22:03:32 +0100
parent 1795:0e933d6f2c31
child 1964:101a8df23b29
line wrap: on
line diff
--- 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;