Skip to content
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

Make FallThrough resilient to missing source information. #1174

Closed
wants to merge 1 commit into from
Closed

Make FallThrough resilient to missing source information. #1174

wants to merge 1 commit into from

Conversation

pkwarren
Copy link

@pkwarren pkwarren commented Nov 9, 2018

Update the FallThrough check to gracefully handle missing source code
information, which occurs when using certain Lombok annotations. This is
similar to the existing workaround added to the ParameterName bug
pattern.

Fixes #613.

@googlebot
Copy link
Collaborator

Thanks for your pull request. It looks like this may be your first contribution to a Google open source project (if not, look below for help). Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

📝 Please visit https://cla.developers.google.com/ to sign.

Once you've signed (or fixed any issues), please reply here (e.g. I signed it!) and we'll verify it.


What to do if you already signed the CLA

Individual signers
Corporate signers

Update the FallThrough check to gracefully handle missing source code
information, which occurs when using certain Lombok annotations. This is
similar to the existing workaround added to the ParameterName bug
pattern.

Fixes #613.
@googlebot
Copy link
Collaborator

CLAs look good, thanks!

@googlebot googlebot added cla: yes and removed cla: no labels Nov 9, 2018
@pkwarren
Copy link
Author

@cushon / @ronshapiro - Are you able to review this PR?

@cushon
Copy link
Collaborator

cushon commented Apr 18, 2019

Do you have a test? Have you seen this happen in builds that don't use lombok?

@pkwarren
Copy link
Author

This only occurs in builds that use Lombok from my experience. This is the same change made in #1135 just in another check we've found which fails without this information.

int caseEndPositionIndex = caseEndPosition(state, caseTree);
int nextStartPositionIndex = next.getStartPosition();
// best effort work-around for https://github.com/google/error-prone/issues/613
if (caseEndPositionIndex == Position.NOPOS || nextStartPositionIndex == Position.NOPOS) {
Copy link
Collaborator

Choose a reason for hiding this comment

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

Did you see examples where next.getStartPosition() wasn't available, or just caseEndPosition(state, caseTree) ?

@cushon
Copy link
Collaborator

cushon commented May 12, 2020

I think this is subsumed by #1573.

@cushon
Copy link
Collaborator

cushon commented May 13, 2020

Closing since I think this will be fixed by #1573.

@cushon cushon closed this May 13, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

IndexOutOfBoundsException in FallThrough.matchSwitch caused by Lombok annotations
3 participants