[clang]: support std::meta::info for primitive types (#190356)

This PR introduces std::meta::info type for reflection on primitive
types, as parsing right now only supports primitive types. This
implementation is based on the fork of @katzdm

For constant evaluation of std::meta::info, a new kind `Reflection` is
introduced in APValue::ValueKind.
For reflection mangling, the convention proposed in this issue is
applied - https://github.com/itanium-cxx-abi/cxx-abi/issues/208

Godbolt links:

Basic tests checked against gcc and clang fork:
https://godbolt.org/z/cj44oWcef
Expected fail tests checked against gcc and clang fork:
https://godbolt.org/z/d8aha3E63
Checked against gcc for mangling output: https://godbolt.org/z/bhb5YEY99

GitOrigin-RevId: 101f57538b5b751c1b2e96f1936217e0bec48287
1 file changed