Ответ по коду — только через базы: LSP, CodeGraph, db-tools. Grep остался фоллбэком после подтверждённой пустоты primary.