class Solargraph::Parser::ParserGem::NodeProcessors::SendNode
def process
def process if node.children[0].nil? if [:private, :public, :protected].include?(node.children[1]) process_visibility elsif node.children[1] == :module_function process_module_function elsif [:attr_reader, :attr_writer, :attr_accessor].include?(node.children[1]) process_attribute elsif node.children[1] == :include process_include elsif node.children[1] == :extend process_extend elsif node.children[1] == :prepend process_prepend elsif node.children[1] == :require process_require elsif node.children[1] == :autoload process_autoload elsif node.children[1] == :private_constant process_private_constant elsif node.children[1] == :alias_method && node.children[2] && node.children[2] && node.children[2].type == :sym && node.children[3] && node.children[3].type == :sym process_alias_method elsif node.children[1] == :private_class_method && node.children[2].is_a?(AST::Node) # Processing a private class can potentially handle children on its own return if process_private_class_method end elsif node.children[1] == :require && node.children[0].to_s == '(const nil :Bundler)' pins.push Pin::Reference::Require.new(Solargraph::Location.new(region.filename, Solargraph::Range.from_to(0, 0, 0, 0)), 'bundler/require') end process_children end