Skip to content

Clean up replace_symbolt interface #3101

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged

Conversation

smowton
Copy link
Contributor

@smowton smowton commented Oct 4, 2018

Add set(), with meaning similar to insert() but overwriting any existing value, and
an overload of erase() that takes an iterator. These allow the constant propagator to use
it more cleanly (though not entirely; it still needs get_expr_map() for some tasks such
as merging two replace_symbolt objects).

No behavioural change is intended here.

Doing this partial cleanup because the security product's out-of-tree changes required us to intercept some operations that the constant propagator directly executed against expr_map; these cleanups bring the two versions closer together, and are hopefully code quality improvements regardless.

  • Each commit message has a non-empty body, explaining why the change was made.
  • My contribution is formatted in line with CODING_STANDARD.md.
  • Methods or procedures I have added are documented, following the guidelines provided in CODING_STANDARD.md.
    - [ ] Regression or unit tests are included, or existing tests cover the modified code (in this case I have detailed which ones those are in the commit message).
    - [ ] My commit message includes data points confirming performance improvements (if claimed).
  • My PR is restricted to a single feature or bugfix.
  • White-space or formatting changes outside the feature-related changed lines are in commits of their own.

Add set(), with meaning similar to insert() but overwriting any existing value, and
an overload of erase() that takes an iterator. These allow the constant propagator to use
it more cleanly (though not entirely; it still needs get_expr_map() for some tasks such
as merging two replace_symbolt objects).

No behavioural change is intended here.
Copy link
Contributor

@allredj allredj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Passed Diffblue compatibility checks (cbmc commit: c2143d0).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/86983957

expr_map[old_expr.get_identifier()] = new_expr;
}


Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

redundant blank line

@peterschrammel peterschrammel removed their assignment Oct 6, 2018
@smowton smowton merged commit c3b78c9 into diffblue:develop Oct 7, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants