class Solargraph::Pin::Attribute
def completion_item_kind
def completion_item_kind Solargraph::LanguageServer::CompletionItemKinds::PROPERTY end
def initialize access: :reader, **splat
-
access(::Symbol) -- :reader or :writer
def initialize access: :reader, **splat super(splat) @access = access end
def path
def path @path ||= namespace + (scope == :instance ? '#' : '.') + name end
def probe api_map
def probe api_map types = [] varname = "@#{name.gsub(/=$/, '')}" pins = api_map.get_instance_variable_pins(binder.namespace, binder.scope).select { |iv| iv.name == varname } pins.each do |pin| type = pin.typify(api_map) type = pin.probe(api_map) if type.undefined? types.push type if type.defined? end return ComplexType::UNDEFINED if types.empty? ComplexType.try_parse(*types.map(&:tag).uniq) end
def symbol_kind
def symbol_kind Solargraph::LanguageServer::SymbolKinds::PROPERTY end