Consider a compact Riemannian manifold of even dimension $n$ admitting a $U(1)$ action. If the fixed points of the action are isolated, then Witten [1; eq. 35] gives the character-valued index of the Dirac operator:

$I(\theta)= \left(\frac{i}{2}\right)^{n/2}\sum_\limits{i}{\rm Tr} \thinspace e^{i\theta Q^{(i)}}\prod_\limits{a}\frac{1}{\sin(r_a^{(i)}\theta/2)}$.

The sum is over fixed points of the $U(1)$ action. The $Q^{(i)}$ are eigenvalues of the $U(1)$ generator at the fixed points and the $r_a^{(i)}$ are rotation angles characterizing the $U(1)$ generator when it is expressed as a vector field in local coordinates near the fixed points.

Witten remarks: "We shall not write down here the more general formula that holds if the zeros of $K$ [the $U(1)$ generator] are not isolated. This formula involves weighting the factors of $1/\sin(r\theta/2)$ by the number of zero modes of a certain Dirac operator on the fixed point set."

My question is: what is the more general formula and/or where can I find it?

[1] Witten, Edward. "Fermion quantum numbers in Kaluza-Klein theory." Supergravities in Diverse Dimensions: Commentary and Reprints (In 2 Volumes). 1989. 1412-1462.