Changeset

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
parents 1958:e2b0026143c4
children 1960:1e674dae31ae
files util/helpers.lua
diffstat 1 files changed, 9 insertions(+), 0 deletions(-) [+]
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;