Skip to content

Commit 58358af

Browse files
committed
Introduce ID_pointer_to_member to replace "pointer-to-member" string literals
This is more efficient and avoids bugs caused by typos.
1 parent c9bbc4c commit 58358af

File tree

3 files changed

+5
-4
lines changed

3 files changed

+5
-4
lines changed

src/cpp/cpp_typecheck_expr.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ void cpp_typecheckt::typecheck_expr_main(exprt &expr)
5353
typecheck_expr_cpp_name(expr, cpp_typecheck_fargst());
5454
else if(expr.id()=="cpp-this")
5555
typecheck_expr_this(expr);
56-
else if(expr.id()=="pointer-to-member")
56+
else if(expr.id() == ID_pointer_to_member)
5757
convert_pmop(expr);
5858
else if(expr.id() == ID_new_object)
5959
{
@@ -2605,8 +2605,8 @@ void cpp_typecheckt::typecheck_expr_dereference(exprt &expr)
26052605

26062606
void cpp_typecheckt::convert_pmop(exprt &expr)
26072607
{
2608-
assert(expr.id()=="pointer-to-member");
2609-
assert(expr.operands().size() == 2);
2608+
PRECONDITION(expr.id() == ID_pointer_to_member);
2609+
PRECONDITION(expr.operands().size() == 2);
26102610

26112611
if(
26122612
expr.op1().type().id() != ID_pointer ||

src/cpp/parse.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5377,7 +5377,7 @@ bool Parser::rPmExpr(exprt &exp)
53775377
exprt left;
53785378
left.swap(exp);
53795379

5380-
exp=exprt("pointer-to-member");
5380+
exp = exprt(ID_pointer_to_member);
53815381
exp.move_to_operands(left, right);
53825382
set_location(exp, tk);
53835383
}

src/util/irep_ids.def

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -721,6 +721,7 @@ IREP_ID_ONE(throw_decl)
721721
IREP_ID_ONE(typeid)
722722
IREP_ID_TWO(C_quoted, #quoted)
723723
IREP_ID_ONE(to_member)
724+
IREP_ID_ONE(pointer_to_member)
724725

725726
// Projects depending on this code base that wish to extend the list of
726727
// available ids should provide a file local_irep_ids.def in their source tree

0 commit comments

Comments
 (0)