class Solargraph::Parser::ParserGem::NodeProcessors::SendNode

def process_visibility

Returns:
  • (void) -
def process_visibility
  if (node.children.length > 2)
    node.children[2..-1].each do |child|
      if child.is_a?(AST::Node) && (child.type == :sym || child.type == :str)
        name = child.children[0].to_s
        matches = pins.select{ |pin| pin.is_a?(Pin::Method) && pin.name == name && pin.namespace == region.closure.full_context.namespace && pin.context.scope == (region.scope || :instance)}
        matches.each do |pin|
          # @todo Smelly instance variable access

          pin.instance_variable_set(:@visibility, node.children[1])
        end
      else
        process_children region.update(visibility: node.children[1])
      end
    end
  else
    # @todo Smelly instance variable access

    region.instance_variable_set(:@visibility, node.children[1])
  end
end