Fixed operator*().
This commit is contained in:
parent
83a0fb805d
commit
efa7f5eaad
@ -1732,7 +1732,7 @@ class CxxParser:
|
|||||||
if tok.value == '*':
|
if tok.value == '*':
|
||||||
if not ptr_to_member_ok:
|
if not ptr_to_member_ok:
|
||||||
raise self._parse_error(tok)
|
raise self._parse_error(tok)
|
||||||
return name, '*'
|
return name, 'PTR_TO_MEMBER'
|
||||||
|
|
||||||
pqname = PQName(segments, classkey, has_typename)
|
pqname = PQName(segments, classkey, has_typename)
|
||||||
|
|
||||||
@ -1804,7 +1804,7 @@ class CxxParser:
|
|||||||
tok = self.lex.token_if("NAME", "final", "DBL_COLON")
|
tok = self.lex.token_if("NAME", "final", "DBL_COLON")
|
||||||
if tok:
|
if tok:
|
||||||
pqname, op = self._parse_pqname(tok, fn_ok=True, ptr_to_member_ok=True)
|
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 = PointerToMember(base_type=Type(typename=pqname), ptr_to=dtype, const=dtype.const, volatile=dtype.volatile)
|
||||||
# dtype = self._parse_cv_ptr(dtype)
|
# dtype = self._parse_cv_ptr(dtype)
|
||||||
tok = self.lex.token_if("NAME", "final", "DBL_COLON")
|
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)
|
tok = self.lex.token_if_in_set(self._pqname_start_tokens)
|
||||||
if tok:
|
if tok:
|
||||||
pqname, op = self._parse_pqname(tok, fn_ok=True, ptr_to_member_ok=True)
|
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 = PointerToMember(base_type=Type(typename=pqname), ptr_to=dtype, const=dtype.const, volatile=dtype.volatile)
|
||||||
# dtype = self._parse_cv_ptr(dtype)
|
# dtype = self._parse_cv_ptr(dtype)
|
||||||
tok = self.lex.token_if_in_set(self._pqname_start_tokens)
|
tok = self.lex.token_if_in_set(self._pqname_start_tokens)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user