solargraph 0.32.1 → 0.32.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +9 -0
  3. data/.rspec +2 -0
  4. data/.rubocop.yml +6 -0
  5. data/.travis.yml +25 -0
  6. data/EXAMPLES.md +76 -0
  7. data/Gemfile +3 -0
  8. data/LANGUAGE_SERVER.md +51 -0
  9. data/LICENSE +21 -0
  10. data/OVERVIEW.md +37 -0
  11. data/README.md +106 -0
  12. data/Rakefile +14 -0
  13. data/SERVER.md +95 -0
  14. data/bin/solargraph +0 -0
  15. data/bin/solargraph-runtime +5 -5
  16. data/lib/solargraph.rb +54 -54
  17. data/lib/solargraph/api_map.rb +659 -659
  18. data/lib/solargraph/api_map/cache.rb +49 -49
  19. data/lib/solargraph/api_map/source_to_yard.rb +67 -67
  20. data/lib/solargraph/api_map/store.rb +201 -201
  21. data/lib/solargraph/bundle.rb +24 -24
  22. data/lib/solargraph/complex_type.rb +150 -150
  23. data/lib/solargraph/complex_type/type_methods.rb +124 -124
  24. data/lib/solargraph/complex_type/unique_type.rb +44 -44
  25. data/lib/solargraph/core_fills.rb +37 -37
  26. data/lib/solargraph/diagnostics.rb +52 -52
  27. data/lib/solargraph/diagnostics/base.rb +20 -20
  28. data/lib/solargraph/diagnostics/require_not_found.rb +28 -28
  29. data/lib/solargraph/diagnostics/rubocop.rb +98 -98
  30. data/lib/solargraph/diagnostics/rubocop_helpers.rb +46 -46
  31. data/lib/solargraph/diagnostics/type_not_defined.rb +108 -108
  32. data/lib/solargraph/diagnostics/update_errors.rb +38 -38
  33. data/lib/solargraph/language_server/completion_item_kinds.rb +33 -33
  34. data/lib/solargraph/language_server/error_codes.rb +18 -18
  35. data/lib/solargraph/language_server/host.rb +684 -681
  36. data/lib/solargraph/language_server/host/cataloger.rb +54 -79
  37. data/lib/solargraph/language_server/host/diagnoser.rb +80 -80
  38. data/lib/solargraph/language_server/host/dispatch.rb +112 -113
  39. data/lib/solargraph/language_server/host/sources.rb +138 -138
  40. data/lib/solargraph/language_server/message.rb +90 -90
  41. data/lib/solargraph/language_server/message/base.rb +83 -83
  42. data/lib/solargraph/language_server/message/completion_item/resolve.rb +40 -40
  43. data/lib/solargraph/language_server/message/exit_notification.rb +11 -11
  44. data/lib/solargraph/language_server/message/extended.rb +19 -19
  45. data/lib/solargraph/language_server/message/extended/check_gem_version.rb +86 -86
  46. data/lib/solargraph/language_server/message/extended/document.rb +18 -18
  47. data/lib/solargraph/language_server/message/extended/document_gems.rb +30 -30
  48. data/lib/solargraph/language_server/message/extended/environment.rb +20 -20
  49. data/lib/solargraph/language_server/message/extended/search.rb +18 -18
  50. data/lib/solargraph/language_server/message/initialize.rb +141 -141
  51. data/lib/solargraph/language_server/message/initialized.rb +23 -23
  52. data/lib/solargraph/language_server/message/shutdown.rb +11 -11
  53. data/lib/solargraph/language_server/message/text_document.rb +25 -25
  54. data/lib/solargraph/language_server/message/text_document/completion.rb +51 -51
  55. data/lib/solargraph/language_server/message/text_document/definition.rb +18 -18
  56. data/lib/solargraph/language_server/message/text_document/did_change.rb +13 -13
  57. data/lib/solargraph/language_server/message/text_document/document_symbol.rb +21 -21
  58. data/lib/solargraph/language_server/message/text_document/folding_range.rb +24 -24
  59. data/lib/solargraph/language_server/message/text_document/formatting.rb +50 -50
  60. data/lib/solargraph/language_server/message/text_document/hover.rb +31 -31
  61. data/lib/solargraph/language_server/message/text_document/on_type_formatting.rb +32 -32
  62. data/lib/solargraph/language_server/message/text_document/prepare_rename.rb +9 -9
  63. data/lib/solargraph/language_server/message/text_document/references.rb +14 -14
  64. data/lib/solargraph/language_server/message/text_document/rename.rb +17 -17
  65. data/lib/solargraph/language_server/message/text_document/signature_help.rb +19 -19
  66. data/lib/solargraph/language_server/message/workspace.rb +12 -12
  67. data/lib/solargraph/language_server/message/workspace/did_change_configuration.rb +29 -29
  68. data/lib/solargraph/language_server/message/workspace/did_change_watched_files.rb +29 -27
  69. data/lib/solargraph/language_server/message/workspace/did_change_workspace_folders.rb +24 -24
  70. data/lib/solargraph/language_server/message/workspace/workspace_symbol.rb +21 -21
  71. data/lib/solargraph/language_server/request.rb +22 -22
  72. data/lib/solargraph/language_server/symbol_kinds.rb +34 -34
  73. data/lib/solargraph/language_server/transport.rb +11 -11
  74. data/lib/solargraph/language_server/transport/adapter.rb +60 -60
  75. data/lib/solargraph/language_server/transport/data_reader.rb +66 -66
  76. data/lib/solargraph/language_server/uri_helpers.rb +25 -25
  77. data/lib/solargraph/library.rb +421 -419
  78. data/lib/solargraph/live_map.rb +126 -126
  79. data/lib/solargraph/live_map/cache.rb +38 -38
  80. data/lib/solargraph/location.rb +31 -31
  81. data/lib/solargraph/logging.rb +25 -25
  82. data/lib/solargraph/page.rb +68 -68
  83. data/lib/solargraph/pin.rb +50 -50
  84. data/lib/solargraph/pin/attribute.rb +41 -41
  85. data/lib/solargraph/pin/base.rb +280 -280
  86. data/lib/solargraph/pin/base_method.rb +76 -76
  87. data/lib/solargraph/pin/base_variable.rb +72 -72
  88. data/lib/solargraph/pin/block.rb +32 -32
  89. data/lib/solargraph/pin/block_parameter.rb +103 -103
  90. data/lib/solargraph/pin/class_variable.rb +9 -9
  91. data/lib/solargraph/pin/constant.rb +30 -30
  92. data/lib/solargraph/pin/conversions.rb +79 -79
  93. data/lib/solargraph/pin/documenting.rb +41 -41
  94. data/lib/solargraph/pin/duck_method.rb +14 -14
  95. data/lib/solargraph/pin/global_variable.rb +9 -9
  96. data/lib/solargraph/pin/instance_variable.rb +9 -9
  97. data/lib/solargraph/pin/keyword.rb +17 -17
  98. data/lib/solargraph/pin/local_variable.rb +23 -23
  99. data/lib/solargraph/pin/localized.rb +22 -22
  100. data/lib/solargraph/pin/method.rb +126 -126
  101. data/lib/solargraph/pin/method_alias.rb +30 -30
  102. data/lib/solargraph/pin/method_parameter.rb +40 -40
  103. data/lib/solargraph/pin/namespace.rb +54 -54
  104. data/lib/solargraph/pin/plugin/method.rb +25 -25
  105. data/lib/solargraph/pin/proxy_type.rb +35 -35
  106. data/lib/solargraph/pin/reference.rb +22 -22
  107. data/lib/solargraph/pin/reference/extend.rb +11 -11
  108. data/lib/solargraph/pin/reference/include.rb +11 -11
  109. data/lib/solargraph/pin/reference/require.rb +15 -15
  110. data/lib/solargraph/pin/reference/superclass.rb +11 -11
  111. data/lib/solargraph/pin/symbol.rb +44 -44
  112. data/lib/solargraph/pin/yard_pin.rb +10 -10
  113. data/lib/solargraph/pin/yard_pin/constant.rb +14 -14
  114. data/lib/solargraph/pin/yard_pin/method.rb +35 -35
  115. data/lib/solargraph/pin/yard_pin/namespace.rb +19 -19
  116. data/lib/solargraph/pin/yard_pin/yard_mixin.rb +14 -14
  117. data/lib/solargraph/plugin.rb +8 -8
  118. data/lib/solargraph/plugin/base.rb +41 -41
  119. data/lib/solargraph/plugin/canceler.rb +11 -11
  120. data/lib/solargraph/plugin/process.rb +172 -172
  121. data/lib/solargraph/plugin/runtime.rb +134 -134
  122. data/lib/solargraph/position.rb +110 -110
  123. data/lib/solargraph/range.rb +83 -83
  124. data/lib/solargraph/server_methods.rb +14 -14
  125. data/lib/solargraph/shell.rb +102 -102
  126. data/lib/solargraph/source.rb +521 -521
  127. data/lib/solargraph/source/chain.rb +120 -120
  128. data/lib/solargraph/source/chain/call.rb +107 -107
  129. data/lib/solargraph/source/chain/class_variable.rb +11 -11
  130. data/lib/solargraph/source/chain/constant.rb +30 -30
  131. data/lib/solargraph/source/chain/global_variable.rb +11 -11
  132. data/lib/solargraph/source/chain/head.rb +33 -33
  133. data/lib/solargraph/source/chain/instance_variable.rb +11 -11
  134. data/lib/solargraph/source/chain/link.rb +33 -33
  135. data/lib/solargraph/source/chain/literal.rb +21 -21
  136. data/lib/solargraph/source/chain/variable.rb +11 -11
  137. data/lib/solargraph/source/change.rb +77 -77
  138. data/lib/solargraph/source/cursor.rb +157 -157
  139. data/lib/solargraph/source/node_chainer.rb +96 -96
  140. data/lib/solargraph/source/node_methods.rb +225 -225
  141. data/lib/solargraph/source/source_chainer.rb +183 -183
  142. data/lib/solargraph/source_map.rb +169 -169
  143. data/lib/solargraph/source_map/clip.rb +145 -145
  144. data/lib/solargraph/source_map/completion.rb +21 -21
  145. data/lib/solargraph/source_map/mapper.rb +149 -149
  146. data/lib/solargraph/source_map/node_processor.rb +78 -78
  147. data/lib/solargraph/source_map/node_processor/alias_node.rb +19 -19
  148. data/lib/solargraph/source_map/node_processor/args_node.rb +28 -28
  149. data/lib/solargraph/source_map/node_processor/base.rb +68 -68
  150. data/lib/solargraph/source_map/node_processor/begin_node.rb +11 -11
  151. data/lib/solargraph/source_map/node_processor/block_node.rb +14 -14
  152. data/lib/solargraph/source_map/node_processor/casgn_node.rb +14 -14
  153. data/lib/solargraph/source_map/node_processor/cvasgn_node.rb +14 -14
  154. data/lib/solargraph/source_map/node_processor/def_node.rb +54 -54
  155. data/lib/solargraph/source_map/node_processor/defs_node.rb +21 -21
  156. data/lib/solargraph/source_map/node_processor/gvasgn_node.rb +12 -12
  157. data/lib/solargraph/source_map/node_processor/ivasgn_node.rb +18 -18
  158. data/lib/solargraph/source_map/node_processor/lvasgn_node.rb +16 -16
  159. data/lib/solargraph/source_map/node_processor/namespace_node.rb +26 -26
  160. data/lib/solargraph/source_map/node_processor/orasgn_node.rb +12 -12
  161. data/lib/solargraph/source_map/node_processor/sclass_node.rb +11 -11
  162. data/lib/solargraph/source_map/node_processor/send_node.rb +162 -162
  163. data/lib/solargraph/source_map/node_processor/sym_node.rb +11 -11
  164. data/lib/solargraph/source_map/region.rb +58 -58
  165. data/lib/solargraph/version.rb +3 -3
  166. data/lib/solargraph/views/environment.erb +53 -53
  167. data/lib/solargraph/workspace.rb +183 -183
  168. data/lib/solargraph/workspace/config.rb +170 -170
  169. data/lib/solargraph/yard_map.rb +298 -298
  170. data/lib/solargraph/yard_map/cache.rb +17 -17
  171. data/lib/solargraph/yard_map/core_docs.rb +163 -163
  172. data/lib/solargraph/yard_map/core_gen.rb +76 -76
  173. data/lib/yard-coregen.rb +16 -16
  174. data/lib/yard-solargraph.rb +18 -18
  175. data/solargraph.gemspec +37 -0
  176. data/travis-bundler.rb +10 -0
  177. metadata +19 -6
@@ -1,25 +1,25 @@
1
- module Solargraph
2
- module Pin
3
- module Plugin
4
- class Method < Base
5
- attr_reader :name
6
- attr_reader :path
7
- attr_reader :return_type
8
- attr_reader :parameters
9
- attr_reader :scope
10
- attr_reader :visibility
11
-
12
- def initialize name:, path:, return_type:, parameters:
13
- @name = name
14
- @path = path
15
- @return_type = return_type
16
- @parameters = parameters
17
- end
18
-
19
- def completion_item_kind
20
- Solargraph::LanguageServer::CompletionItemKinds::METHOD
21
- end
22
- end
23
- end
24
- end
25
- end
1
+ module Solargraph
2
+ module Pin
3
+ module Plugin
4
+ class Method < Base
5
+ attr_reader :name
6
+ attr_reader :path
7
+ attr_reader :return_type
8
+ attr_reader :parameters
9
+ attr_reader :scope
10
+ attr_reader :visibility
11
+
12
+ def initialize name:, path:, return_type:, parameters:
13
+ @name = name
14
+ @path = path
15
+ @return_type = return_type
16
+ @parameters = parameters
17
+ end
18
+
19
+ def completion_item_kind
20
+ Solargraph::LanguageServer::CompletionItemKinds::METHOD
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -1,35 +1,35 @@
1
- module Solargraph
2
- module Pin
3
- class ProxyType < Base
4
- # @param location [Solargraph::Location]
5
- # @param namespace [String]
6
- # @param name [String]
7
- # @param return_type [ComplexType]
8
- def initialize location, namespace, name, return_type
9
- super(location, namespace, name, '')
10
- @return_complex_type = return_type
11
- end
12
-
13
- def path
14
- @path ||= begin
15
- result = namespace.to_s
16
- result += '::' unless result.empty? or name.to_s.empty?
17
- result += name.to_s
18
- end
19
- end
20
-
21
- def context
22
- @return_complex_type
23
- end
24
-
25
- # @param return_type [ComplexType]
26
- # @return [ProxyType]
27
- def self.anonymous return_type
28
- parts = return_type.namespace.split('::')
29
- namespace = parts[0..-2].join('::').to_s
30
- name = parts.last.to_s
31
- ProxyType.new(nil, namespace, name, return_type)
32
- end
33
- end
34
- end
35
- end
1
+ module Solargraph
2
+ module Pin
3
+ class ProxyType < Base
4
+ # @param location [Solargraph::Location]
5
+ # @param namespace [String]
6
+ # @param name [String]
7
+ # @param return_type [ComplexType]
8
+ def initialize location, namespace, name, return_type
9
+ super(location, namespace, name, '')
10
+ @return_complex_type = return_type
11
+ end
12
+
13
+ def path
14
+ @path ||= begin
15
+ result = namespace.to_s
16
+ result += '::' unless result.empty? or name.to_s.empty?
17
+ result += name.to_s
18
+ end
19
+ end
20
+
21
+ def context
22
+ @return_complex_type
23
+ end
24
+
25
+ # @param return_type [ComplexType]
26
+ # @return [ProxyType]
27
+ def self.anonymous return_type
28
+ parts = return_type.namespace.split('::')
29
+ namespace = parts[0..-2].join('::').to_s
30
+ name = parts.last.to_s
31
+ ProxyType.new(nil, namespace, name, return_type)
32
+ end
33
+ end
34
+ end
35
+ end
@@ -1,22 +1,22 @@
1
- module Solargraph
2
- module Pin
3
- class Reference < Base
4
- autoload :Require, 'solargraph/pin/reference/require'
5
- autoload :Superclass, 'solargraph/pin/reference/superclass'
6
- autoload :Include, 'solargraph/pin/reference/include'
7
- autoload :Extend, 'solargraph/pin/reference/extend'
8
-
9
- def initialize location, namespace, name
10
- super(location, namespace, name, '')
11
- end
12
-
13
- # @todo Should Reference.new be protected?
14
- # class << self
15
- # protected
16
- # def new *args
17
- # super
18
- # end
19
- # end
20
- end
21
- end
22
- end
1
+ module Solargraph
2
+ module Pin
3
+ class Reference < Base
4
+ autoload :Require, 'solargraph/pin/reference/require'
5
+ autoload :Superclass, 'solargraph/pin/reference/superclass'
6
+ autoload :Include, 'solargraph/pin/reference/include'
7
+ autoload :Extend, 'solargraph/pin/reference/extend'
8
+
9
+ def initialize location, namespace, name
10
+ super(location, namespace, name, '')
11
+ end
12
+
13
+ # @todo Should Reference.new be protected?
14
+ # class << self
15
+ # protected
16
+ # def new *args
17
+ # super
18
+ # end
19
+ # end
20
+ end
21
+ end
22
+ end
@@ -1,11 +1,11 @@
1
- module Solargraph
2
- module Pin
3
- class Reference
4
- class Extend < Reference
5
- def kind
6
- Pin::EXTEND_REFERENCE
7
- end
8
- end
9
- end
10
- end
11
- end
1
+ module Solargraph
2
+ module Pin
3
+ class Reference
4
+ class Extend < Reference
5
+ def kind
6
+ Pin::EXTEND_REFERENCE
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -1,11 +1,11 @@
1
- module Solargraph
2
- module Pin
3
- class Reference
4
- class Include < Reference
5
- def kind
6
- Pin::INCLUDE_REFERENCE
7
- end
8
- end
9
- end
10
- end
11
- end
1
+ module Solargraph
2
+ module Pin
3
+ class Reference
4
+ class Include < Reference
5
+ def kind
6
+ Pin::INCLUDE_REFERENCE
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -1,15 +1,15 @@
1
- module Solargraph
2
- module Pin
3
- class Reference
4
- class Require < Reference
5
- def initialize location, name
6
- super(location, '', name)
7
- end
8
-
9
- def kind
10
- Pin::REQUIRE_REFERENCE
11
- end
12
- end
13
- end
14
- end
15
- end
1
+ module Solargraph
2
+ module Pin
3
+ class Reference
4
+ class Require < Reference
5
+ def initialize location, name
6
+ super(location, '', name)
7
+ end
8
+
9
+ def kind
10
+ Pin::REQUIRE_REFERENCE
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -1,11 +1,11 @@
1
- module Solargraph
2
- module Pin
3
- class Reference
4
- class Superclass < Reference
5
- def kind
6
- Pin::SUPERCLASS_REFERENCE
7
- end
8
- end
9
- end
10
- end
11
- end
1
+ module Solargraph
2
+ module Pin
3
+ class Reference
4
+ class Superclass < Reference
5
+ def kind
6
+ Pin::SUPERCLASS_REFERENCE
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -1,44 +1,44 @@
1
- module Solargraph
2
- module Pin
3
- class Symbol < Base
4
- # @param location [Solargraph::Location]
5
- # @param name [String]
6
- def initialize location, name
7
- @name = name
8
- @location = location
9
- end
10
-
11
- def namespace
12
- ''
13
- end
14
-
15
- def kind
16
- Pin::SYMBOL
17
- end
18
-
19
- def path
20
- ''
21
- end
22
-
23
- def completion_item_kind
24
- Solargraph::LanguageServer::CompletionItemKinds::KEYWORD
25
- end
26
-
27
- def comments
28
- ''
29
- end
30
-
31
- def return_complex_type
32
- @return_complex_type ||= Solargraph::ComplexType::SYMBOL
33
- end
34
-
35
- def directives
36
- []
37
- end
38
-
39
- def deprecated?
40
- false
41
- end
42
- end
43
- end
44
- end
1
+ module Solargraph
2
+ module Pin
3
+ class Symbol < Base
4
+ # @param location [Solargraph::Location]
5
+ # @param name [String]
6
+ def initialize location, name
7
+ @name = name
8
+ @location = location
9
+ end
10
+
11
+ def namespace
12
+ ''
13
+ end
14
+
15
+ def kind
16
+ Pin::SYMBOL
17
+ end
18
+
19
+ def path
20
+ ''
21
+ end
22
+
23
+ def completion_item_kind
24
+ Solargraph::LanguageServer::CompletionItemKinds::KEYWORD
25
+ end
26
+
27
+ def comments
28
+ ''
29
+ end
30
+
31
+ def return_complex_type
32
+ @return_complex_type ||= Solargraph::ComplexType::SYMBOL
33
+ end
34
+
35
+ def directives
36
+ []
37
+ end
38
+
39
+ def deprecated?
40
+ false
41
+ end
42
+ end
43
+ end
44
+ end
@@ -1,10 +1,10 @@
1
- module Solargraph
2
- module Pin
3
- module YardPin
4
- autoload :YardMixin, 'solargraph/pin/yard_pin/yard_mixin'
5
- autoload :Constant, 'solargraph/pin/yard_pin/constant'
6
- autoload :Method, 'solargraph/pin/yard_pin/method'
7
- autoload :Namespace, 'solargraph/pin/yard_pin/namespace'
8
- end
9
- end
10
- end
1
+ module Solargraph
2
+ module Pin
3
+ module YardPin
4
+ autoload :YardMixin, 'solargraph/pin/yard_pin/yard_mixin'
5
+ autoload :Constant, 'solargraph/pin/yard_pin/constant'
6
+ autoload :Method, 'solargraph/pin/yard_pin/method'
7
+ autoload :Namespace, 'solargraph/pin/yard_pin/namespace'
8
+ end
9
+ end
10
+ end
@@ -1,14 +1,14 @@
1
- module Solargraph
2
- module Pin
3
- module YardPin
4
- class Constant < Pin::Constant
5
- include YardMixin
6
-
7
- def initialize code_object, location
8
- super(location, code_object.namespace.to_s, code_object.name.to_s, comments_from(code_object), nil, nil, nil, code_object.visibility)
9
- end
10
- end
11
- end
12
- end
13
- end
14
- map = Solargraph::ApiMap.new
1
+ module Solargraph
2
+ module Pin
3
+ module YardPin
4
+ class Constant < Pin::Constant
5
+ include YardMixin
6
+
7
+ def initialize code_object, location
8
+ super(location, code_object.namespace.to_s, code_object.name.to_s, comments_from(code_object), nil, nil, nil, code_object.visibility)
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
14
+ map = Solargraph::ApiMap.new
@@ -1,35 +1,35 @@
1
- module Solargraph
2
- module Pin
3
- module YardPin
4
- class Method < Pin::Method
5
- include YardMixin
6
-
7
- def initialize code_object, location, name = nil, scope = nil, visibility = nil
8
- comments = (code_object.docstring ? code_object.docstring.all : nil)
9
- super(location, code_object.namespace.to_s, name || code_object.name.to_s, comments, scope || code_object.scope, visibility || code_object.visibility, get_parameters(code_object), nil)
10
- end
11
-
12
- def return_complex_type
13
- @return_complex_type ||= Solargraph::ComplexType.try_parse(Solargraph::CoreFills::CUSTOM_RETURN_TYPES[path]) if Solargraph::CoreFills::CUSTOM_RETURN_TYPES.has_key?(path)
14
- super
15
- end
16
-
17
- private
18
-
19
- def get_parameters code_object
20
- return [] unless code_object.kind_of?(YARD::CodeObjects::MethodObject)
21
- args = []
22
- code_object.parameters.each do |a|
23
- p = a[0]
24
- unless a[1].nil?
25
- p += ' =' unless p.end_with?(':')
26
- p += " #{a[1]}"
27
- end
28
- args.push p
29
- end
30
- args
31
- end
32
- end
33
- end
34
- end
35
- end
1
+ module Solargraph
2
+ module Pin
3
+ module YardPin
4
+ class Method < Pin::Method
5
+ include YardMixin
6
+
7
+ def initialize code_object, location, name = nil, scope = nil, visibility = nil
8
+ comments = (code_object.docstring ? code_object.docstring.all : nil)
9
+ super(location, code_object.namespace.to_s, name || code_object.name.to_s, comments, scope || code_object.scope, visibility || code_object.visibility, get_parameters(code_object), nil)
10
+ end
11
+
12
+ def return_complex_type
13
+ @return_complex_type ||= Solargraph::ComplexType.try_parse(Solargraph::CoreFills::CUSTOM_RETURN_TYPES[path]) if Solargraph::CoreFills::CUSTOM_RETURN_TYPES.has_key?(path)
14
+ super
15
+ end
16
+
17
+ private
18
+
19
+ def get_parameters code_object
20
+ return [] unless code_object.kind_of?(YARD::CodeObjects::MethodObject)
21
+ args = []
22
+ code_object.parameters.each do |a|
23
+ p = a[0]
24
+ unless a[1].nil?
25
+ p += ' =' unless p.end_with?(':')
26
+ p += " #{a[1]}"
27
+ end
28
+ args.push p
29
+ end
30
+ args
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end