public void Release()
        {
            MDebug.Assert(s_Instance == this, "XLua", "s_Instance == this");
            s_Instance = null;

            m_DefineLine           = null;
            m_ItemOperatorCache    = null;
            m_ItemCache            = null;
            m_EnableCodeStackCache = null;
            m_ScriptingDefine      = null;
        }
        public LuaScriptParser(HashSet <string> luaScriptingDefine)
        {
            MDebug.Assert(s_Instance == null, "XLua", "s_Instance == null");
            s_Instance = this;

#if UNITY_EDITOR
            luaScriptingDefine.Add("UNITY_EDITOR");
#endif

#if GF_DEBUG
            luaScriptingDefine.Add("GF_DEBUG");
#endif

            m_ScriptingDefine = luaScriptingDefine;

            m_EnableCodeStackCache = new Stack <bool>();
            m_ItemCache            = new Queue <ItemType>();
            m_ItemOperatorCache    = new Stack <ItemType>();
        }