diff options
author | Chris Mihelich <cmihelic@google.com> | 2024-06-05 12:44:15 -0700 |
---|---|---|
committer | Copybara-Service <copybara-worker@google.com> | 2024-06-05 12:45:11 -0700 |
commit | 49e0099abce54b50fee77a75b90ddc73567f5692 (patch) | |
tree | 31433239d82d70c3a91844a1a0b173bf820da169 /absl/debugging/internal/demangle.cc | |
parent | 8ece6dc4356abe76d3cd7b4742d01f53a95a8e3b (diff) | |
download | abseil-49e0099abce54b50fee77a75b90ddc73567f5692.tar.gz abseil-49e0099abce54b50fee77a75b90ddc73567f5692.tar.bz2 abseil-49e0099abce54b50fee77a75b90ddc73567f5692.zip |
Demangle ti... and te... expressions (typeid).
PiperOrigin-RevId: 640616282
Change-Id: I2aa94673283d89458886f0634adec87bbf0e57de
Diffstat (limited to 'absl/debugging/internal/demangle.cc')
-rw-r--r-- | absl/debugging/internal/demangle.cc | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/absl/debugging/internal/demangle.cc b/absl/debugging/internal/demangle.cc index 787edcee..1d14ac6c 100644 --- a/absl/debugging/internal/demangle.cc +++ b/absl/debugging/internal/demangle.cc @@ -1995,6 +1995,8 @@ static bool ParseBracedExpression(State *state) { // ::= sc <type> <expression> // ::= cc <type> <expression> // ::= rc <type> <expression> +// ::= ti <type> +// ::= te <expression> // ::= st <type> // ::= at <type> // ::= az <expression> @@ -2119,6 +2121,18 @@ static bool ParseExpression(State *state) { } state->parse_state = copy; + // typeid(type) + if (ParseTwoCharToken(state, "ti") && ParseType(state)) { + return true; + } + state->parse_state = copy; + + // typeid(expression) + if (ParseTwoCharToken(state, "te") && ParseExpression(state)) { + return true; + } + state->parse_state = copy; + // sizeof type if (ParseTwoCharToken(state, "st") && ParseType(state)) { return true; |