From: Gerd Moellmann Date: Mon, 3 Jul 2000 07:50:42 +0000 (+0000) Subject: (token_string): Add missing tokens. X-Git-Tag: emacs-pretest-21.0.90~3023 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=2faf048a41e463385a5d7202d3aa7707fbacb525;p=emacs.git (token_string): Add missing tokens. (parm_list): Handle case of qualified pointers. --- diff --git a/lib-src/ebrowse.c b/lib-src/ebrowse.c index 0099641d2f5..8ebe5ff8991 100644 --- a/lib-src/ebrowse.c +++ b/lib-src/ebrowse.c @@ -2075,13 +2075,33 @@ token_string (t) case VOID: return "void"; case VOLATILE: return "volatile"; case WHILE: return "while"; + case MUTABLE: return "mutable"; + case BOOL: return "bool"; + case TRUE: return "true"; + case FALSE: return "false"; + case SIGNATURE: return "signature"; + case NAMESPACE: return "namespace"; + case EXPLICIT: return "explicit"; + case TYPENAME: return "typename"; + case CONST_CAST: return "const_cast"; + case DYNAMIC_CAST: return "dynamic_cast"; + case REINTERPRET_CAST: return "reinterpret_cast"; + case STATIC_CAST: return "static_cast"; + case TYPEID: return "typeid"; + case USING: return "using"; + case WCHAR: return "wchar_t"; case YYEOF: return "EOF"; - } - assert (t < 255); - b[0] = t; - b[1] = '\0'; - return b; + default: + if (t < 255) + { + b[0] = t; + b[1] = '\0'; + return b; + } + else + return "???"; + } } @@ -2375,14 +2395,18 @@ parm_list (flags) case IDENT: if (!type_seen) { - char *s; + char *last_id; unsigned ident_type_hash = 0; - parse_qualified_param_ident_or_type (&s); - for (; *s; ++s) - ident_type_hash = (ident_type_hash << 1) ^ *s; - hash = (hash << 1) ^ ident_type_hash; - type_seen = 1; + parse_qualified_param_ident_or_type (&last_id); + if (last_id) + { + /* LAST_ID null means something like `X::*'. */ + for (; *last_id; ++last_id) + ident_type_hash = (ident_type_hash << 1) ^ *last_id; + hash = (hash << 1) ^ ident_type_hash; + type_seen = 1; + } } else MATCH (); @@ -2904,7 +2928,7 @@ parse_qualified_param_ident_or_type (last_id) struct sym *cls = NULL; static char *id = NULL; static int id_size = 0; - + while (LOOKING_AT (IDENT)) { int len = strlen (yytext) + 1;