-
Notifications
You must be signed in to change notification settings - Fork 274
Add parsing of the names of inner java classes. #3599
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
Add parsing of the names of inner java classes. #3599
Conversation
This is required for correctly printing the names of inner classes.
122f4b6
to
6c312f2
Compare
Added because it is good to test new features.
6c312f2
to
2dcbb00
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🚫
This PR failed Diffblue compatibility checks (cbmc commit: 2dcbb00).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/95277944
Status will be re-evaluated on next push.
Please contact @peterschrammel, @thk123, or @allredj for support.
Common spurious failures:
- the cbmc commit has disappeared in the mean time (e.g. in a force-push)
- the author is not in the list of contributors (e.g. first-time contributors).
The incompatibility may have been introduced by an earlier PR. In that case merging this
PR should be avoided unless it fixes the current incompatibility.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🚫 Please add a test for multiple inner classes inside the same outer class
I'd also like to see a test for starting at the outer class rather than the inner class.
|
||
THEN("The inner class should have the inner name \"Inner\".") | ||
{ | ||
REQUIRE(id2string(class_type->get_inner_name()) == "Inner"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
⛏️ Add a check on name
as it isn't obvious to me why this isn't the name of the class
WHEN("Parsing an inner class called \"Inner\".") | ||
{ | ||
const symbol_tablet &symbol_table = load_java_class( | ||
"Outer$Inner", "./java_bytecode/java_bytecode_parser"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
❓ What happens if you load from Outer
rather than starting on the inner class?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As discussed (?) please add a check for the inner class when starting from outer then LGTM
THEN("The outer class does not have an outer class.") | ||
{ | ||
REQUIRE(id2string(class_type->get_outer_class()).empty()); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add tests for the inner class is loaded correctly when starting at the outer class.
@thk123 Please re-review |
There was a problem hiding this 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: 28fbcce).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/95410110
Uh oh!
There was an error while loading. Please reload this page.