From ef226b59148c718a7243d184506ff3008bb624ce Mon Sep 17 00:00:00 2001 From: James Whitehead II Date: Tue, 19 Oct 2010 18:41:16 +0100 Subject: [PATCH] Add an addon-wide index/newindex debug mode --- AddonCore.lua | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/AddonCore.lua b/AddonCore.lua index 53857e5..a17ee28 100644 --- a/AddonCore.lua +++ b/AddonCore.lua @@ -18,6 +18,28 @@ local addonName, addon = ... -- Set global name of addon _G[addonName] = addon +-- Set up an EMERGENCY debug mode +local EMERGENCY_DEBUG = false +if EMERGENCY_DEBUG then + local private = {} + for k,v in pairs(addon) do + rawset(private, k, v) + rawset(addon, k, nil) + end + + setmetatable(addon, { + __index = function(t, k) + local value = rawget(private, k) + print(addonName, "INDEX", k, value) + return value + end, + __newindex = function(t, k, v) + print(addonName, "NEWINDEX", k, v) + rawset(private, k, v) + end, + }) +end + -- Extract version information from TOC file addon.version = GetAddOnMetadata(addonName, "Version") if addon.version == "@project-version" then -- 1.7.9.5