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; }