Fixed operator*().

This commit is contained in:
Patrick 2024-01-05 14:36:06 +01:00
parent 83a0fb805d
commit efa7f5eaad

View File

@ -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)