class RubyVM::AbstractSyntaxTree::NodeWrapper
Wrapper for RubyVM::AbstractSyntaxTree::Node. for return character based column
Attributes
code[R]
Public Class Methods
from(node, code)
click to toggle source
# File lib/solargraph/parser/rubyvm/node_wrapper.rb, line 14 def self.from(node, code) return node unless node.is_a?(RubyVM::AbstractSyntaxTree::Node) and !node.kind_of?(SimpleDelegator) new(node, code) end
new(node, code)
click to toggle source
@param node [RubyVM::AbstractSyntaxTree::Node] wrapped node to return character based column @param code [Array<String>] source code lines for generated this node
Calls superclass method
# File lib/solargraph/parser/rubyvm/node_wrapper.rb, line 9 def initialize(node, code) @code = code super(node) end
Public Instance Methods
children()
click to toggle source
# File lib/solargraph/parser/rubyvm/node_wrapper.rb, line 43 def children @children ||= __getobj__.children.map do |node| NodeWrapper.from(node, @code) end end
class()
click to toggle source
# File lib/solargraph/parser/rubyvm/node_wrapper.rb, line 24 def class __getobj__.class end
first_column()
click to toggle source
# File lib/solargraph/parser/rubyvm/node_wrapper.rb, line 29 def first_column @first_column ||= begin line = @code[__getobj__.first_lineno - 1] || "" line.byteslice(0, __getobj__.first_column).length end end
is_a?(type)
click to toggle source
Calls superclass method
# File lib/solargraph/parser/rubyvm/node_wrapper.rb, line 20 def is_a?(type) __getobj__.is_a?(type) || super.is_a?(type) end
last_column()
click to toggle source
# File lib/solargraph/parser/rubyvm/node_wrapper.rb, line 36 def last_column @last_column ||= begin line = @code[__getobj__.last_lineno - 1] || "" line.byteslice(0, __getobj__.last_column).length end end