diff --git a/cxxheaderparser/parser.py b/cxxheaderparser/parser.py index 2cfdce5..bb03dee 100644 --- a/cxxheaderparser/parser.py +++ b/cxxheaderparser/parser.py @@ -1732,7 +1732,7 @@ class CxxParser: if tok.value == '*': if not ptr_to_member_ok: raise self._parse_error(tok) - return name, '*' + return name, 'PTR_TO_MEMBER' pqname = PQName(segments, classkey, has_typename) @@ -1804,7 +1804,7 @@ class CxxParser: tok = self.lex.token_if("NAME", "final", "DBL_COLON") if tok: pqname, op = self._parse_pqname(tok, fn_ok=True, ptr_to_member_ok=True) - while op == '*': + while op == 'PTR_TO_MEMBER': dtype = PointerToMember(base_type=Type(typename=pqname), ptr_to=dtype, const=dtype.const, volatile=dtype.volatile) # dtype = self._parse_cv_ptr(dtype) tok = self.lex.token_if("NAME", "final", "DBL_COLON") @@ -2506,7 +2506,7 @@ class CxxParser: tok = self.lex.token_if_in_set(self._pqname_start_tokens) if tok: pqname, op = self._parse_pqname(tok, fn_ok=True, ptr_to_member_ok=True) - while op == '*': + while op == 'PTR_TO_MEMBER': dtype = PointerToMember(base_type=Type(typename=pqname), ptr_to=dtype, const=dtype.const, volatile=dtype.volatile) # dtype = self._parse_cv_ptr(dtype) tok = self.lex.token_if_in_set(self._pqname_start_tokens)