Class: PinkSpoon::ConstantResolver::AssignmentFinder

Inherits:
Prism::Visitor
  • Object
show all
Defined in:
lib/pink_spoon/constant_resolver.rb

Instance Method Summary collapse

Constructor Details

#initialize(const_name) ⇒ AssignmentFinder

Returns a new instance of AssignmentFinder.



381
382
383
384
# File 'lib/pink_spoon/constant_resolver.rb', line 381

def initialize(const_name)
  @const_name = const_name
  @result     = nil
end

Instance Method Details

#find(ast) ⇒ Object



386
387
388
389
# File 'lib/pink_spoon/constant_resolver.rb', line 386

def find(ast)
  visit(ast)
  @result
end

#visit_constant_path_write_node(node) ⇒ Object



396
397
398
399
# File 'lib/pink_spoon/constant_resolver.rb', line 396

def visit_constant_path_write_node(node)
  @result = node.value if node.target.slice == @const_name
  super
end

#visit_constant_write_node(node) ⇒ Object



391
392
393
394
# File 'lib/pink_spoon/constant_resolver.rb', line 391

def visit_constant_write_node(node)
  @result = node.value if node.name.to_s == @const_name
  super
end