void GetMenuItemExtraInfoIfNeeded()
        {
            if (m_DebugInfoFetched)
            {
                return;
            }

            m_DebugInfoFetched = true;
            var managedMenuItemMethods = EditorAssemblies.GetAllMethodsWithAttribute <MenuItem>();

            foreach (var managedMenuItemMethod in managedMenuItemMethods)
            {
                var attributes = managedMenuItemMethod.GetCustomAttributes(typeof(MenuItem), false);
                foreach (var attribute in attributes)
                {
                    var menuAttribute = (MenuItem)attribute;
                    if (menuAttribute.menuItem == m_MenuItemPath)
                    {
                        var sourceInfo = MethodSourceFinderUtility.GetSourceInfo(managedMenuItemMethod);
                        m_FilePath       = sourceInfo.filePath;
                        m_LineNumber     = sourceInfo.lineNumber;
                        m_FullMemberName = managedMenuItemMethod.DeclaringType.FullName + "." + managedMenuItemMethod.Name;
                        return;
                    }
                }
            }
        }
        void GetMethodDefinitionInfoIfNeeded()
        {
            if (m_DebugInfoFetched)
            {
                return;
            }
            m_DebugInfoFetched = true;
            var sourceInfo = MethodSourceFinderUtility.GetSourceInfo(m_MethodInfo);

            m_FilePath   = sourceInfo.filePath;
            m_LineNumber = sourceInfo.lineNumber;
        }