Invest more effort into working around libclang's tokenize range bug.
extractdecls: for enum/macro constants, provide option -f <format func body>.