Class: PinkSpoon::LocalVarDeclarationFinder
- Inherits:
-
Prism::Visitor
- Object
- Prism::Visitor
- PinkSpoon::LocalVarDeclarationFinder
- Defined in:
- lib/pink_spoon/server.rb
Overview
Finds the line where a local variable was last declared (parameter or assignment) before a given line number.
Instance Method Summary collapse
-
#initialize(var_name, before_line) ⇒ LocalVarDeclarationFinder
constructor
A new instance of LocalVarDeclarationFinder.
- #line ⇒ Object
- #visit_block_parameter_node(node) ⇒ Object
- #visit_keyword_rest_parameter_node(node) ⇒ Object
- #visit_local_variable_and_write_node(node) ⇒ Object
- #visit_local_variable_operator_write_node(node) ⇒ Object
- #visit_local_variable_or_write_node(node) ⇒ Object
- #visit_local_variable_write_node(node) ⇒ Object
- #visit_optional_keyword_parameter_node(node) ⇒ Object
- #visit_optional_parameter_node(node) ⇒ Object
- #visit_required_keyword_parameter_node(node) ⇒ Object
- #visit_required_parameter_node(node) ⇒ Object
- #visit_rest_parameter_node(node) ⇒ Object
Constructor Details
#initialize(var_name, before_line) ⇒ LocalVarDeclarationFinder
Returns a new instance of LocalVarDeclarationFinder.
224 225 226 227 228 |
# File 'lib/pink_spoon/server.rb', line 224 def initialize(var_name, before_line) @var_name = var_name @before_line = before_line @candidates = [] end |
Instance Method Details
#line ⇒ Object
230 231 232 |
# File 'lib/pink_spoon/server.rb', line 230 def line @candidates.last end |
#visit_block_parameter_node(node) ⇒ Object
242 |
# File 'lib/pink_spoon/server.rb', line 242 def visit_block_parameter_node(node) = record(node) || super |
#visit_keyword_rest_parameter_node(node) ⇒ Object
241 |
# File 'lib/pink_spoon/server.rb', line 241 def visit_keyword_rest_parameter_node(node) = record(node) || super |
#visit_local_variable_and_write_node(node) ⇒ Object
237 |
# File 'lib/pink_spoon/server.rb', line 237 def visit_local_variable_and_write_node(node) = record(node) || super |
#visit_local_variable_operator_write_node(node) ⇒ Object
235 |
# File 'lib/pink_spoon/server.rb', line 235 def visit_local_variable_operator_write_node(node) = record(node) || super |
#visit_local_variable_or_write_node(node) ⇒ Object
236 |
# File 'lib/pink_spoon/server.rb', line 236 def visit_local_variable_or_write_node(node) = record(node) || super |
#visit_local_variable_write_node(node) ⇒ Object
234 |
# File 'lib/pink_spoon/server.rb', line 234 def visit_local_variable_write_node(node) = record(node) || super |
#visit_optional_keyword_parameter_node(node) ⇒ Object
244 |
# File 'lib/pink_spoon/server.rb', line 244 def visit_optional_keyword_parameter_node(node) = record(node) || super |
#visit_optional_parameter_node(node) ⇒ Object
239 |
# File 'lib/pink_spoon/server.rb', line 239 def visit_optional_parameter_node(node) = record(node) || super |
#visit_required_keyword_parameter_node(node) ⇒ Object
243 |
# File 'lib/pink_spoon/server.rb', line 243 def visit_required_keyword_parameter_node(node) = record(node) || super |
#visit_required_parameter_node(node) ⇒ Object
238 |
# File 'lib/pink_spoon/server.rb', line 238 def visit_required_parameter_node(node) = record(node) || super |
#visit_rest_parameter_node(node) ⇒ Object
240 |
# File 'lib/pink_spoon/server.rb', line 240 def visit_rest_parameter_node(node) = record(node) || super |