Module: Solargraph::SourceMap::NodeProcessor
- Defined in:
- lib/solargraph/source_map/node_processor.rb,
lib/solargraph/source_map/node_processor/base.rb,
lib/solargraph/source_map/node_processor/def_node.rb,
lib/solargraph/source_map/node_processor/sym_node.rb,
lib/solargraph/source_map/node_processor/args_node.rb,
lib/solargraph/source_map/node_processor/defs_node.rb,
lib/solargraph/source_map/node_processor/send_node.rb,
lib/solargraph/source_map/node_processor/alias_node.rb,
lib/solargraph/source_map/node_processor/begin_node.rb,
lib/solargraph/source_map/node_processor/block_node.rb,
lib/solargraph/source_map/node_processor/casgn_node.rb,
lib/solargraph/source_map/node_processor/cvasgn_node.rb,
lib/solargraph/source_map/node_processor/gvasgn_node.rb,
lib/solargraph/source_map/node_processor/ivasgn_node.rb,
lib/solargraph/source_map/node_processor/lvasgn_node.rb,
lib/solargraph/source_map/node_processor/orasgn_node.rb,
lib/solargraph/source_map/node_processor/sclass_node.rb,
lib/solargraph/source_map/node_processor/namespace_node.rb
Overview
The processor classes used by SourceMap::Mapper to generate pins from parser nodes.
Defined Under Namespace
Classes: AliasNode, ArgsNode, Base, BeginNode, BlockNode, CasgnNode, CvasgnNode, DefNode, DefsNode, GvasgnNode, IvasgnNode, LvasgnNode, NamespaceNode, OrasgnNode, SclassNode, SendNode, SymNode
Class Method Summary collapse
Class Method Details
.process(node, region = Region.new(nil, '', :instance, :public, []), pins = []) ⇒ Array<Pin::Base>
68 69 70 71 72 73 74 75 |
# File 'lib/solargraph/source_map/node_processor.rb', line 68 def self.process node, region = Region.new(nil, '', :instance, :public, []), pins = [] pins.push Pin::Namespace.new(region.source.location, '', '', nil, :class, :public) if pins.empty? return pins unless node.is_a?(Parser::AST::Node) #&& @@processors.key?(node.type) klass = @@processors[node.type] || BeginNode processor = klass.new(node, region, pins) processor.process processor.pins end |