Class: Solargraph::Pin::BaseMethod
- Defined in:
- lib/solargraph/pin/base_method.rb
Overview
The base class for method and attribute pins.
Direct Known Subclasses
Instance Attribute Summary collapse
-
#visibility ⇒ ::Symbol
readonly
:public, :private, or :protected.
Attributes inherited from Closure
Attributes inherited from Base
#code_object, #kind, #location, #name
Attributes included from Common
Instance Method Summary collapse
-
#initialize(visibility: :public, **splat) ⇒ BaseMethod
constructor
A new instance of BaseMethod.
- #parameter_names ⇒ Array<String>
- #parameters ⇒ Array<String>
- #path ⇒ Object
- #return_type ⇒ Object
- #typify(api_map) ⇒ Object
Methods inherited from Closure
Methods inherited from Base
#==, #comments, #completion_item_kind, #deprecated?, #directives, #docstring, #filename, #infer, #inspect, #macros, #maybe_directives?, #nearly?, #probe, #probed?, #proxied?, #proxy, #realize, #symbol_kind, #to_s, #try_merge!, #variable?
Methods included from Documenting
Methods included from Conversions
#completion_item, #detail, #link_documentation, #reset_conversions, #resolve_completion_item, #signature_help
Methods included from Common
#binder, #comments, #context, #kind, #name, #namespace
Constructor Details
#initialize(visibility: :public, **splat) ⇒ BaseMethod
10 11 12 13 |
# File 'lib/solargraph/pin/base_method.rb', line 10 def initialize visibility: :public, **splat super(splat) @visibility = visibility end |
Instance Attribute Details
#visibility ⇒ ::Symbol (readonly)
7 8 9 |
# File 'lib/solargraph/pin/base_method.rb', line 7 def visibility @visibility end |
Instance Method Details
#parameter_names ⇒ Array<String>
37 38 39 |
# File 'lib/solargraph/pin/base_method.rb', line 37 def parameter_names [] end |
#parameters ⇒ Array<String>
32 33 34 |
# File 'lib/solargraph/pin/base_method.rb', line 32 def parameters [] end |
#path ⇒ Object
19 20 21 |
# File 'lib/solargraph/pin/base_method.rb', line 19 def path @path ||= namespace.to_s + (scope == :instance ? '#' : '.') + name.to_s end |
#return_type ⇒ Object
15 16 17 |
# File 'lib/solargraph/pin/base_method.rb', line 15 def return_type @return_type ||= generate_complex_type end |
#typify(api_map) ⇒ Object
23 24 25 26 27 28 29 |
# File 'lib/solargraph/pin/base_method.rb', line 23 def typify api_map decl = super return decl unless decl.undefined? type = see_reference(api_map) || typify_from_super(api_map) return type.qualify(api_map, namespace) unless type.nil? name.end_with?('?') ? ComplexType::BOOLEAN : ComplexType::UNDEFINED end |