Shouldn't this instead be an addition to `elisp-mode-infer-namespace',
like with p8 below?
(elisp-mode-test--with-buffer
(concat "(list {p1}alpha {p2}beta)\n"
"(progn {p3}gamma {p4}delta)\n"
"(lambda ({p5}epsilon {p6}zeta) {p7}eta)\n"
"(defclass child-class (parent-1 {p8}parent-2)\n")
(should (equal (elisp--xref-infer-namespace p1) 'variable))
(should (equal (elisp--xref-infer-namespace p2) 'variable))
(should (equal (elisp--xref-infer-namespace p3) 'variable))
(should (equal (elisp--xref-infer-namespace p4) 'variable))
(should (equal (elisp--xref-infer-namespace p5) 'variable))
(should (equal (elisp--xref-infer-namespace p6) 'variable))
(should (equal (elisp--xref-infer-namespace p7) 'variable))
(should (equal (elisp--xref-infer-namespace p8) 'function)))
Obviously just guessing here...