Start inline block scope at end of condition rather than at keyword #230
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When trying to determine if a variable used within an
else
block has been defined, we need to determine the scope of the associatedif
block. This is because if the definition was within that block, then the usage inside theelse
is out of scope. Here's an example:When the
if
block is using curly braces, identifying the start and end of the block is easy. However, it's a little more difficult when the block is inline:In the inline case, we have to search for the start and end of the block. Prior to this PR, the block was considered to go from the
if
statement to the first semicolon. This works for the above case, but it doesn't work if the variable is being defined within the condition:In this PR we modify that logic so that the block is instead considered to go from the end of the condition to the first semicolon.
Reported by @djibarian in #228