mirror of
				https://gitea.invidious.io/iv-org/shard-ameba.git
				synced 2024-08-15 00:53:29 +00:00 
			
		
		
		
	Merge pull request #319 from crystal-ameba/Sija/fix-unused-argument-with-anonymous-block-arg
This commit is contained in:
		
						commit
						4b1378aa33
					
				
					 3 changed files with 17 additions and 2 deletions
				
			
		|  | @ -132,6 +132,15 @@ module Ameba::Rule::Lint | |||
|       subject.catch(s).should_not be_valid | ||||
|     end | ||||
| 
 | ||||
|     it "doesn't report if it's an anonymous block" do | ||||
|       s = Source.new %( | ||||
|         def method(&) | ||||
|           yield 1 | ||||
|         end | ||||
|       ) | ||||
|       subject.catch(s).should be_valid | ||||
|     end | ||||
| 
 | ||||
|     it "doesn't report if variable is referenced implicitly" do | ||||
|       s = Source.new %( | ||||
|         class Bar < Foo | ||||
|  |  | |||
|  | @ -31,7 +31,12 @@ module Ameba::AST | |||
|     def initialize(@node, @variable) | ||||
|     end | ||||
| 
 | ||||
|     # Returns `true` if the name starts with '_', `false` if not. | ||||
|     # Returns `true` if the `name` is empty, `false` otherwise. | ||||
|     def anonymous? | ||||
|       name.blank? | ||||
|     end | ||||
| 
 | ||||
|     # Returns `true` if the `name` starts with '_', `false` otherwise. | ||||
|     def ignored? | ||||
|       name.starts_with? '_' | ||||
|     end | ||||
|  |  | |||
|  | @ -55,7 +55,8 @@ module Ameba::Rule::Lint | |||
| 
 | ||||
|     private def find_unused_arguments(source, scope) | ||||
|       scope.arguments.each do |argument| | ||||
|         next if argument.ignored? || scope.references?(argument.variable) | ||||
|         next if argument.anonymous? || argument.ignored? | ||||
|         next if scope.references?(argument.variable) | ||||
| 
 | ||||
|         name_suggestion = scope.node.is_a?(Crystal::Block) ? '_' : "_#{argument.name}" | ||||
|         issue_for argument.node, MSG % {argument.name, name_suggestion} | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue