Sha256: 94cfd1fbb0ccc211ad589b9b56410a78a9244bca6dd9bb133a0c4e526f0d8619
Contents?: true
Size: 1022 Bytes
Versions: 2
Compression:
Stored size: 1022 Bytes
Contents
# typed: strict # frozen_string_literal: true module RubyLsp # This class allows listeners to access contextual information about a node in the AST, such as its parent, # its namespace nesting, and the surrounding CallNode (e.g. a method call). class NodeContext extend T::Sig sig { returns(T.nilable(Prism::Node)) } attr_reader :node, :parent sig { returns(T::Array[String]) } attr_reader :nesting sig { returns(T.nilable(Prism::CallNode)) } attr_reader :call_node sig do params( node: T.nilable(Prism::Node), parent: T.nilable(Prism::Node), nesting: T::Array[String], call_node: T.nilable(Prism::CallNode), ).void end def initialize(node, parent, nesting, call_node) @node = node @parent = parent @nesting = nesting @call_node = call_node end sig { returns(String) } def fully_qualified_name @fully_qualified_name ||= T.let(@nesting.join("::"), T.nilable(String)) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ruby-lsp-0.17.3 | lib/ruby_lsp/node_context.rb |
ruby-lsp-0.17.2 | lib/ruby_lsp/node_context.rb |