Better handling of local class when creating local variable-like elements.
Consider code like:
void test() {
record R(int i) {}
r = new R(0);
}
there's an error on the r = new R(0); line, as r is not defined. There's a fix available for that, but if that's used, the type of the variable will be Record. That's not ideal - R would be much better.
Given that, with the introduction of record, local classes might be more common than before, this PR's goal is to improve handling of local classes in hints that generate variables.
For introduce hint, this PR will detect some variants would not work well, and does not offer them to the user.
What do you think?
^Add meaningful description above
Click to collapse/expand PR instructions
By opening a pull request you confirm that, unless explicitly stated otherwise, the changes -
- are all your own work, and you have the right to contribute them.
- are contributed solely under the terms and conditions of the Apache License 2.0 (see section 5 of the license for more information).
Please make sure (eg. git log) that all commits have a valid name and email address for you in the Author field.
If you're a first time contributor, see the Contributing guidelines for more information.
If you're a committer, please label the PR before pressing "Create pull request" so that the right test jobs can run.
PR approval and merge checklist:
- [ ] Was this PR correctly labeled, did the right tests run? When did they run?
- [ ] Is this PR squashed?
- [ ] Are author name / email address correct? Are co-authors correctly listed? Do the commit messages need updates?
- [ ] Does the PR title and description still fit after the Nth iteration? Is the description sufficient to appear in the release notes?
If this PR targets the delivery branch: don't merge. (full wiki article)