class Solargraph::Parser::ParserGem::NodeProcessors::ArgsNode
Public Instance Methods
Source
# File lib/solargraph/parser/parser_gem/node_processors/args_node.rb, line 8 def process callable = region.closure if callable.is_a? Pin::Callable if node.type == :forward_args forward(callable) else node.children.each do |u| loc = get_node_location(u) locals.push Solargraph::Pin::Parameter.new( location: loc, closure: callable, comments: comments_for(node), name: u.children[0].to_s, assignment: u.children[1], asgn_code: u.children[1] ? region.code_for(u.children[1]) : nil, presence: callable.location.range, decl: get_decl(u), source: :parser ) callable.parameters.push locals.last end end end process_children end
Private Instance Methods
Source
# File lib/solargraph/parser/parser_gem/node_processors/args_node.rb, line 38 def forward(callable) loc = get_node_location(node) locals.push Solargraph::Pin::Parameter.new( location: loc, closure: callable, presence: region.closure.location.range, decl: get_decl(node), source: :parser ) callable.parameters.push locals.last end
@param callable [Pin::Callable] @return [void]
Source
# File lib/solargraph/parser/parser_gem/node_processors/args_node.rb, line 52 def get_decl node node.type end
@param node [AST::Node] @return [Symbol]