Class: Solargraph::SourceMap::NodeProcessor::AliasNode
- Defined in:
- lib/solargraph/source_map/node_processor/alias_node.rb
Instance Attribute Summary
Attributes inherited from Base
Instance Method Summary collapse
Methods inherited from Base
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
#process ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 |
# File 'lib/solargraph/source_map/node_processor/alias_node.rb', line 5 def process pin = pins.select{|p| [Solargraph::Pin::Method, Solargraph::Pin::Attribute].include?(p.class) && p.name == node.children[1].children[0].to_s && p.namespace == region.namespace && p.scope == region.scope}.first if pin.nil? pins.push Solargraph::Pin::MethodAlias.new(get_node_location(node), region.namespace, node.children[0].children[0].to_s, region.scope, node.children[1].children[0].to_s) elsif pin.is_a?(Solargraph::Pin::Method) pins.push Solargraph::Pin::Method.new(get_node_location(node), pin.namespace, node.children[0].children[0].to_s, comments_for(node) || pin.comments, pin.scope, pin.visibility, pin.parameters, pin.node) elsif pin.is_a?(Solargraph::Pin::Attribute) pins.push Solargraph::Pin::Attribute.new(get_node_location(node), pin.namespace, node.children[0].children[0].to_s, comments_for(node) || pin.comments, pin.access, pin.scope, pin.visibility) end process_children end |