public static string GetRefString(IntPtr L, int index) { IntPtr len; IntPtr intPtr = LuaDLL.lua_tolstring(L, index, out len); object text; if (!TryGetLuaString(intPtr, out text)) { string tmpText = LuaDLL.lua_tostring(L, index); if (!string.IsNullOrEmpty(tmpText)) { text = string.Intern(tmpText); } RefString(intPtr, index, text, L); } return((string)text); }