Class: Solargraph::SourceMap::NodeProcessor::SclassNode

Inherits:
Base
  • Object
show all
Defined in:
lib/solargraph/source_map/node_processor/sclass_node.rb

Instance Attribute Summary

Attributes inherited from Base

#locals, #node, #pins, #region

Instance Method Summary collapse

Methods inherited from Base

#initialize

Methods included from Solargraph::Source::NodeMethods

const_from, drill_signature, get_node_end_position, get_node_start_position, infer_literal_node_type, pack_name, resolve_node_signature, returns_from, unpack_name

Constructor Details

This class inherits a constructor from Solargraph::SourceMap::NodeProcessor::Base

Instance Method Details

#processObject


5
6
7
8
9
10
11
12
13
# File 'lib/solargraph/source_map/node_processor/sclass_node.rb', line 5

def process
  # @todo Temporarily skipping remote metaclasses
  return unless node.children[0].is_a?(AST::Node) && node.children[0].type == :self
  pins.push Solargraph::Pin::Singleton.new(
    location: get_node_location(node),
    closure: region.closure
  )
  process_children region.update(visibility: :public, scope: :class, closure: pins.last)
end