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

Fix 'generated_antlr?' to handle cases where '.g' files container fewer than 2 lines #5268

Merged
merged 1 commit into from
Mar 12, 2021

Conversation

lildude
Copy link
Member

@lildude lildude commented Mar 10, 2021

Description

As reported in #5264, analysing a repo with a file with a .g extension that contains no lines will fail with:

`ruby/gems/2.6.0/gems/github-linguist-7.13.0/lib/linguist/generated.rb:451:in `generated_antlr?': undefined method `include?' for nil:NilClass (NoMethodError)
	from /usr/local/rvm/rubies/ruby-2.6.3/lib/ruby/gems/2.6.0/gems/github-linguist-7.13.0/lib/linguist/generated.rb:86:in `generated?'
	from /usr/local/rvm/rubies/ruby-2.6.3/lib/ruby/gems/2.6.0/gems/github-linguist-7.13.0/lib/linguist/generated.rb:12:in `generated?'
	from /usr/local/rvm/rubies/ruby-2.6.3/lib/ruby/gems/2.6.0/gems/github-linguist-7.13.0/lib/linguist/blob_helper.rb:359:in `generated?'
	from /usr/local/rvm/rubies/ruby-2.6.3/lib/ruby/gems/2.6.0/gems/github-linguist-7.13.0/lib/linguist/lazy_blob.rb:52:in `generated?'
	from /usr/local/rvm/rubies/ruby-2.6.3/lib/ruby/gems/2.6.0/gems/github-linguist-7.13.0/lib/linguist/blob_helper.rb:382:in `include_in_language_stats?'
	from /usr/local/rvm/rubies/ruby-2.6.3/lib/ruby/gems/2.6.0/gems/github-linguist-7.13.0/lib/linguist/repository.rb:164:in `block in compute_stats'
	from /usr/local/rvm/rubies/ruby-2.6.3/lib/ruby/gems/2.6.0/gems/github-linguist-7.13.0/lib/linguist/repository.rb:149:in `each_delta'
	from /usr/local/rvm/rubies/ruby-2.6.3/lib/ruby/gems/2.6.0/gems/github-linguist-7.13.0/lib/linguist/repository.rb:149:in `compute_stats'
	from /usr/local/rvm/rubies/ruby-2.6.3/lib/ruby/gems/2.6.0/gems/github-linguist-7.13.0/lib/linguist/repository.rb:116:in `cache'
	from /usr/local/rvm/rubies/ruby-2.6.3/lib/ruby/gems/2.6.0/gems/github-linguist-7.13.0/lib/linguist/repository.rb:98:in `breakdown_by_file'
	from /usr/local/rvm/rubies/ruby-2.6.3/lib/ruby/gems/2.6.0/gems/github-linguist-7.13.0/bin/github-linguist:48:in `<top (required)>'
	from /usr/local/rvm/rubies/ruby-2.6.3/bin/github-linguist:23:in `load'
	from /usr/local/rvm/rubies/ruby-2.6.3/bin/github-linguist:23:in `<main>'
	from /usr/local/rvm/rubies/ruby-2.6.3/bin//ruby_executable_hooks:24:in `eval'
	from /usr/local/rvm/rubies/ruby-2.6.3/bin//ruby_executable_hooks:24:in `<main>'`

This is because generated_antlr? doesn't cater for scenarios where these files may be empty or container few than 2 lines - it tests for a specific string on the second line.

This PR fixes that.

[Rest of template removed as it doesn't apply]

/cc @Nixinova as the author of #5199 which added this method.

@lildude lildude requested a review from a team as a code owner March 10, 2021 10:36
@lildude lildude merged commit cf480b8 into master Mar 12, 2021
@lildude lildude deleted the lildude/fix-generated-antlr branch March 12, 2021 09:48
@github-linguist github-linguist locked as resolved and limited conversation to collaborators Jun 17, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants