solargraph 0.33.2 → 0.34.0
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.
- checksums.yaml +4 -4
- data/.gitignore +0 -1
- data/README.md +1 -1
- data/lib/solargraph.rb +5 -0
- data/lib/solargraph/api_map.rb +36 -18
- data/lib/solargraph/api_map/cache.rb +2 -0
- data/lib/solargraph/api_map/source_to_yard.rb +14 -5
- data/lib/solargraph/api_map/store.rb +17 -19
- data/lib/solargraph/bundle.rb +2 -0
- data/lib/solargraph/complex_type.rb +18 -4
- data/lib/solargraph/complex_type/type_methods.rb +2 -0
- data/lib/solargraph/complex_type/unique_type.rb +2 -0
- data/lib/solargraph/convention.rb +38 -0
- data/lib/solargraph/convention/base.rb +28 -0
- data/lib/solargraph/convention/gemfile.rb +18 -0
- data/lib/solargraph/convention/gemspec.rb +25 -0
- data/lib/solargraph/convention/rspec.rb +23 -0
- data/lib/solargraph/core_fills.rb +66 -42
- data/lib/solargraph/diagnostics.rb +2 -0
- data/lib/solargraph/diagnostics/base.rb +2 -0
- data/lib/solargraph/diagnostics/require_not_found.rb +2 -0
- data/lib/solargraph/diagnostics/rubocop.rb +2 -0
- data/lib/solargraph/diagnostics/rubocop_helpers.rb +2 -0
- data/lib/solargraph/diagnostics/severities.rb +15 -13
- data/lib/solargraph/diagnostics/type_check.rb +2 -0
- data/lib/solargraph/diagnostics/update_errors.rb +2 -0
- data/lib/solargraph/documentor.rb +42 -0
- data/lib/solargraph/environ.rb +40 -0
- data/lib/solargraph/language_server.rb +19 -17
- data/lib/solargraph/language_server/completion_item_kinds.rb +2 -0
- data/lib/solargraph/language_server/error_codes.rb +2 -0
- data/lib/solargraph/language_server/host.rb +3 -1
- data/lib/solargraph/language_server/host/cataloger.rb +2 -0
- data/lib/solargraph/language_server/host/diagnoser.rb +2 -0
- data/lib/solargraph/language_server/host/dispatch.rb +2 -0
- data/lib/solargraph/language_server/host/sources.rb +2 -0
- data/lib/solargraph/language_server/message.rb +2 -0
- data/lib/solargraph/language_server/message/base.rb +2 -0
- data/lib/solargraph/language_server/message/cancel_request.rb +13 -11
- data/lib/solargraph/language_server/message/client.rb +11 -9
- data/lib/solargraph/language_server/message/client/register_capability.rb +15 -13
- data/lib/solargraph/language_server/message/completion_item.rb +11 -9
- data/lib/solargraph/language_server/message/completion_item/resolve.rb +2 -0
- data/lib/solargraph/language_server/message/exit_notification.rb +2 -0
- data/lib/solargraph/language_server/message/extended.rb +2 -0
- data/lib/solargraph/language_server/message/extended/check_gem_version.rb +2 -0
- data/lib/solargraph/language_server/message/extended/document.rb +2 -0
- data/lib/solargraph/language_server/message/extended/document_gems.rb +2 -0
- data/lib/solargraph/language_server/message/extended/download_core.rb +27 -25
- data/lib/solargraph/language_server/message/extended/environment.rb +5 -0
- data/lib/solargraph/language_server/message/extended/search.rb +2 -0
- data/lib/solargraph/language_server/message/initialize.rb +2 -0
- data/lib/solargraph/language_server/message/initialized.rb +2 -0
- data/lib/solargraph/language_server/message/method_not_found.rb +16 -14
- data/lib/solargraph/language_server/message/method_not_implemented.rb +14 -12
- data/lib/solargraph/language_server/message/shutdown.rb +2 -0
- data/lib/solargraph/language_server/message/text_document.rb +2 -0
- data/lib/solargraph/language_server/message/text_document/base.rb +19 -17
- data/lib/solargraph/language_server/message/text_document/code_action.rb +2 -0
- data/lib/solargraph/language_server/message/text_document/completion.rb +3 -1
- data/lib/solargraph/language_server/message/text_document/definition.rb +2 -0
- data/lib/solargraph/language_server/message/text_document/did_change.rb +2 -0
- data/lib/solargraph/language_server/message/text_document/did_close.rb +15 -13
- data/lib/solargraph/language_server/message/text_document/did_open.rb +15 -13
- data/lib/solargraph/language_server/message/text_document/did_save.rb +17 -15
- data/lib/solargraph/language_server/message/text_document/document_symbol.rb +2 -0
- data/lib/solargraph/language_server/message/text_document/folding_range.rb +2 -0
- data/lib/solargraph/language_server/message/text_document/formatting.rb +8 -1
- data/lib/solargraph/language_server/message/text_document/hover.rb +3 -1
- data/lib/solargraph/language_server/message/text_document/on_type_formatting.rb +2 -0
- data/lib/solargraph/language_server/message/text_document/prepare_rename.rb +2 -0
- data/lib/solargraph/language_server/message/text_document/references.rb +2 -0
- data/lib/solargraph/language_server/message/text_document/rename.rb +2 -0
- data/lib/solargraph/language_server/message/text_document/signature_help.rb +7 -1
- data/lib/solargraph/language_server/message/workspace.rb +2 -0
- data/lib/solargraph/language_server/message/workspace/did_change_configuration.rb +2 -0
- data/lib/solargraph/language_server/message/workspace/did_change_watched_files.rb +2 -0
- data/lib/solargraph/language_server/message/workspace/did_change_workspace_folders.rb +2 -0
- data/lib/solargraph/language_server/message/workspace/workspace_symbol.rb +2 -0
- data/lib/solargraph/language_server/message_types.rb +14 -12
- data/lib/solargraph/language_server/request.rb +2 -0
- data/lib/solargraph/language_server/symbol_kinds.rb +2 -0
- data/lib/solargraph/language_server/transport.rb +2 -0
- data/lib/solargraph/language_server/transport/adapter.rb +2 -0
- data/lib/solargraph/language_server/transport/data_reader.rb +3 -1
- data/lib/solargraph/language_server/uri_helpers.rb +2 -0
- data/lib/solargraph/library.rb +2 -0
- data/lib/solargraph/location.rb +2 -0
- data/lib/solargraph/logging.rb +2 -0
- data/lib/solargraph/page.rb +2 -0
- data/lib/solargraph/pin.rb +3 -20
- data/lib/solargraph/pin/attribute.rb +2 -4
- data/lib/solargraph/pin/base.rb +3 -5
- data/lib/solargraph/pin/base_method.rb +2 -4
- data/lib/solargraph/pin/base_variable.rb +2 -0
- data/lib/solargraph/pin/block.rb +2 -4
- data/lib/solargraph/pin/class_variable.rb +2 -3
- data/lib/solargraph/pin/closure.rb +9 -0
- data/lib/solargraph/pin/common.rb +3 -5
- data/lib/solargraph/pin/constant.rb +2 -4
- data/lib/solargraph/pin/conversions.rb +4 -2
- data/lib/solargraph/pin/documenting.rb +2 -0
- data/lib/solargraph/pin/duck_method.rb +2 -0
- data/lib/solargraph/pin/global_variable.rb +2 -3
- data/lib/solargraph/pin/instance_variable.rb +2 -4
- data/lib/solargraph/pin/keyword.rb +2 -4
- data/lib/solargraph/pin/keyword_param.rb +8 -0
- data/lib/solargraph/pin/local_variable.rb +2 -4
- data/lib/solargraph/pin/localized.rb +2 -0
- data/lib/solargraph/pin/method.rb +14 -4
- data/lib/solargraph/pin/method_alias.rb +2 -4
- data/lib/solargraph/pin/namespace.rb +22 -14
- data/lib/solargraph/pin/parameter.rb +4 -6
- data/lib/solargraph/pin/proxy_type.rb +2 -0
- data/lib/solargraph/pin/reference.rb +2 -0
- data/lib/solargraph/pin/reference/extend.rb +2 -3
- data/lib/solargraph/pin/reference/include.rb +2 -3
- data/lib/solargraph/pin/reference/override.rb +12 -3
- data/lib/solargraph/pin/reference/require.rb +2 -4
- data/lib/solargraph/pin/reference/superclass.rb +2 -3
- data/lib/solargraph/pin/singleton.rb +2 -0
- data/lib/solargraph/pin/symbol.rb +2 -4
- data/lib/solargraph/pin/yard_pin.rb +2 -0
- data/lib/solargraph/pin/yard_pin/constant.rb +7 -3
- data/lib/solargraph/pin/yard_pin/method.rb +12 -10
- data/lib/solargraph/pin/yard_pin/namespace.rb +9 -4
- data/lib/solargraph/pin/yard_pin/yard_mixin.rb +30 -3
- data/lib/solargraph/position.rb +2 -0
- data/lib/solargraph/range.rb +2 -0
- data/lib/solargraph/server_methods.rb +2 -0
- data/lib/solargraph/shell.rb +33 -2
- data/lib/solargraph/source.rb +2 -0
- data/lib/solargraph/source/chain.rb +2 -0
- data/lib/solargraph/source/chain/call.rb +63 -14
- data/lib/solargraph/source/chain/class_variable.rb +2 -0
- data/lib/solargraph/source/chain/constant.rb +18 -11
- data/lib/solargraph/source/chain/global_variable.rb +2 -0
- data/lib/solargraph/source/chain/head.rb +2 -0
- data/lib/solargraph/source/chain/instance_variable.rb +2 -0
- data/lib/solargraph/source/chain/link.rb +2 -0
- data/lib/solargraph/source/chain/literal.rb +2 -0
- data/lib/solargraph/source/chain/or.rb +2 -0
- data/lib/solargraph/source/chain/variable.rb +2 -0
- data/lib/solargraph/source/change.rb +2 -0
- data/lib/solargraph/source/cursor.rb +4 -1
- data/lib/solargraph/source/encoding_fixes.rb +2 -0
- data/lib/solargraph/source/flawed_builder.rb +15 -13
- data/lib/solargraph/source/node_chainer.rb +2 -0
- data/lib/solargraph/source/node_methods.rb +9 -5
- data/lib/solargraph/source/source_chainer.rb +2 -0
- data/lib/solargraph/source/updater.rb +52 -50
- data/lib/solargraph/source_map.rb +15 -7
- data/lib/solargraph/source_map/clip.rb +35 -3
- data/lib/solargraph/source_map/completion.rb +2 -0
- data/lib/solargraph/source_map/mapper.rb +2 -0
- data/lib/solargraph/source_map/node_processor.rb +2 -0
- data/lib/solargraph/source_map/node_processor/alias_node.rb +2 -0
- data/lib/solargraph/source_map/node_processor/args_node.rb +2 -0
- data/lib/solargraph/source_map/node_processor/base.rb +5 -3
- data/lib/solargraph/source_map/node_processor/begin_node.rb +2 -0
- data/lib/solargraph/source_map/node_processor/block_node.rb +2 -0
- data/lib/solargraph/source_map/node_processor/casgn_node.rb +2 -0
- data/lib/solargraph/source_map/node_processor/cvasgn_node.rb +2 -0
- data/lib/solargraph/source_map/node_processor/def_node.rb +2 -0
- data/lib/solargraph/source_map/node_processor/defs_node.rb +2 -0
- data/lib/solargraph/source_map/node_processor/gvasgn_node.rb +2 -0
- data/lib/solargraph/source_map/node_processor/ivasgn_node.rb +3 -1
- data/lib/solargraph/source_map/node_processor/lvasgn_node.rb +2 -0
- data/lib/solargraph/source_map/node_processor/namespace_node.rb +4 -1
- data/lib/solargraph/source_map/node_processor/orasgn_node.rb +2 -0
- data/lib/solargraph/source_map/node_processor/resbody_node.rb +2 -0
- data/lib/solargraph/source_map/node_processor/sclass_node.rb +2 -0
- data/lib/solargraph/source_map/node_processor/send_node.rb +11 -6
- data/lib/solargraph/source_map/node_processor/sym_node.rb +2 -0
- data/lib/solargraph/source_map/region.rb +2 -0
- data/lib/solargraph/type_checker.rb +35 -17
- data/lib/solargraph/type_checker/param_def.rb +2 -0
- data/lib/solargraph/type_checker/problem.rb +2 -0
- data/lib/solargraph/version.rb +3 -1
- data/lib/solargraph/views/document.erb +3 -3
- data/lib/solargraph/views/environment.erb +3 -0
- data/lib/solargraph/workspace.rb +5 -1
- data/lib/solargraph/workspace/config.rb +14 -0
- data/lib/solargraph/yard_map.rb +64 -5
- data/lib/solargraph/yard_map/cache.rb +2 -0
- data/lib/solargraph/yard_map/core_docs.rb +2 -0
- data/lib/solargraph/yard_map/core_gen.rb +2 -0
- data/lib/solargraph/yard_map/mapper.rb +15 -14
- data/lib/solargraph/yard_map/rdoc_to_yard.rb +129 -0
- data/lib/yard-solargraph.rb +8 -0
- metadata +11 -2
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
end
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Solargraph
|
|
4
|
+
module LanguageServer
|
|
5
|
+
module Message
|
|
6
|
+
module TextDocument
|
|
7
|
+
class DidOpen < Base
|
|
8
|
+
def process
|
|
9
|
+
host.open params['textDocument']['uri'], params['textDocument']['text'], params['textDocument']['version']
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
#
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
end
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Solargraph
|
|
4
|
+
module LanguageServer
|
|
5
|
+
module Message
|
|
6
|
+
module TextDocument
|
|
7
|
+
class DidSave < Base
|
|
8
|
+
def process
|
|
9
|
+
# @todo The server might not need to do anything in response to
|
|
10
|
+
# this notification. See https://github.com/castwide/solargraph/issues/73
|
|
11
|
+
# host.save params
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
require 'open3'
|
|
2
4
|
require 'shellwords'
|
|
3
5
|
|
|
@@ -12,7 +14,12 @@ module Solargraph
|
|
|
12
14
|
original = host.read_text(params['textDocument']['uri'])
|
|
13
15
|
cmd = "rubocop -a -f fi -s #{Shellwords.escape(filename)}"
|
|
14
16
|
o, e, s = Open3.capture3(cmd, stdin_data: original)
|
|
15
|
-
|
|
17
|
+
return format(original, o) if o && !o.empty?
|
|
18
|
+
set_error(Solargraph::LanguageServer::ErrorCodes::INTERNAL_ERROR, e)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def format original, result
|
|
22
|
+
lines = result.lines
|
|
16
23
|
index = lines.index{|l| l.start_with?('====================')}
|
|
17
24
|
formatted = lines[index+1..-1].join
|
|
18
25
|
# The response is required to send an explicit range. Text edits
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
require 'uri'
|
|
2
4
|
require 'htmlentities'
|
|
3
5
|
|
|
@@ -18,7 +20,7 @@ module Solargraph
|
|
|
18
20
|
if !this_link.nil? && this_link != last_link
|
|
19
21
|
parts.push this_link
|
|
20
22
|
end
|
|
21
|
-
parts.push HTMLEntities.new.encode(pin.detail) unless pin.
|
|
23
|
+
parts.push HTMLEntities.new.encode(pin.detail) unless pin.is_a?(Pin::Namespace) || pin.detail.nil?
|
|
22
24
|
parts.push pin.documentation unless pin.documentation.nil? or pin.documentation.empty?
|
|
23
25
|
contents.push parts.join("\n\n") unless parts.empty?
|
|
24
26
|
last_link = this_link unless this_link.nil?
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
module Solargraph
|
|
2
4
|
module LanguageServer
|
|
3
5
|
module Message
|
|
@@ -7,7 +9,11 @@ module Solargraph
|
|
|
7
9
|
line = params['position']['line']
|
|
8
10
|
col = params['position']['character']
|
|
9
11
|
suggestions = host.signatures_at(params['textDocument']['uri'], line, col)
|
|
10
|
-
info =
|
|
12
|
+
info = []
|
|
13
|
+
suggestions.each do |pin|
|
|
14
|
+
info.concat pin.overloads.map(&:signature_help)
|
|
15
|
+
info.push pin.signature_help
|
|
16
|
+
end
|
|
11
17
|
set_result({
|
|
12
18
|
signatures: info
|
|
13
19
|
})
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
end
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Solargraph
|
|
4
|
+
module LanguageServer
|
|
5
|
+
# The MessageType constants from the language server specification.
|
|
6
|
+
#
|
|
7
|
+
module MessageTypes
|
|
8
|
+
ERROR = 1
|
|
9
|
+
WARNING = 2
|
|
10
|
+
INFO = 3
|
|
11
|
+
LOG = 4
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
module Solargraph
|
|
2
4
|
module LanguageServer
|
|
3
5
|
module Transport
|
|
@@ -5,7 +7,7 @@ module Solargraph
|
|
|
5
7
|
def initialize
|
|
6
8
|
@in_header = true
|
|
7
9
|
@content_length = 0
|
|
8
|
-
@buffer =
|
|
10
|
+
@buffer = String.new
|
|
9
11
|
end
|
|
10
12
|
|
|
11
13
|
# Declare a block to be executed for each message received from the
|
data/lib/solargraph/library.rb
CHANGED
data/lib/solargraph/location.rb
CHANGED
data/lib/solargraph/logging.rb
CHANGED
data/lib/solargraph/page.rb
CHANGED
data/lib/solargraph/pin.rb
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
module Solargraph
|
|
2
4
|
# The namespace for pins used in maps.
|
|
3
5
|
#
|
|
@@ -28,27 +30,8 @@ module Solargraph
|
|
|
28
30
|
autoload :DuckMethod, 'solargraph/pin/duck_method'
|
|
29
31
|
autoload :YardPin, 'solargraph/pin/yard_pin'
|
|
30
32
|
autoload :Singleton, 'solargraph/pin/singleton'
|
|
33
|
+
autoload :KeywordParam, 'solargraph/pin/keyword_param'
|
|
31
34
|
|
|
32
|
-
ATTRIBUTE = 1
|
|
33
|
-
CLASS_VARIABLE = 2
|
|
34
|
-
CONSTANT = 3
|
|
35
|
-
GLOBAL_VARIABLE = 4
|
|
36
|
-
INSTANCE_VARIABLE = 5
|
|
37
|
-
KEYWORD = 6
|
|
38
|
-
LOCAL_VARIABLE = 7
|
|
39
|
-
METHOD = 8
|
|
40
|
-
NAMESPACE = 9
|
|
41
|
-
SYMBOL = 10
|
|
42
|
-
BLOCK = 11
|
|
43
|
-
BLOCK_PARAMETER = 12
|
|
44
|
-
REQUIRE_REFERENCE = 13
|
|
45
|
-
SUPERCLASS_REFERENCE = 14
|
|
46
|
-
INCLUDE_REFERENCE = 15
|
|
47
|
-
EXTEND_REFERENCE = 16
|
|
48
|
-
METHOD_ALIAS = 17
|
|
49
|
-
OVERRIDE_REFERENCE = 18
|
|
50
|
-
|
|
51
|
-
# ROOT_PIN = Pin::Namespace.new(nil, '', '', '', :class, :public)
|
|
52
35
|
ROOT_PIN = Pin::Namespace.new(type: :class, name: '', closure: nil)
|
|
53
36
|
end
|
|
54
37
|
end
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
module Solargraph
|
|
2
4
|
module Pin
|
|
3
5
|
class Attribute < BaseMethod
|
|
@@ -10,10 +12,6 @@ module Solargraph
|
|
|
10
12
|
@access = access
|
|
11
13
|
end
|
|
12
14
|
|
|
13
|
-
def kind
|
|
14
|
-
Solargraph::Pin::ATTRIBUTE
|
|
15
|
-
end
|
|
16
|
-
|
|
17
15
|
def completion_item_kind
|
|
18
16
|
Solargraph::LanguageServer::CompletionItemKinds::PROPERTY
|
|
19
17
|
end
|
data/lib/solargraph/pin/base.rb
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
module Solargraph
|
|
2
4
|
module Pin
|
|
3
5
|
# The base class for map pins.
|
|
@@ -16,9 +18,6 @@ module Solargraph
|
|
|
16
18
|
# @return [String]
|
|
17
19
|
attr_reader :name
|
|
18
20
|
|
|
19
|
-
# @return [Integer]
|
|
20
|
-
attr_reader :kind
|
|
21
|
-
|
|
22
21
|
# @return [String]
|
|
23
22
|
attr_reader :path
|
|
24
23
|
|
|
@@ -27,9 +26,8 @@ module Solargraph
|
|
|
27
26
|
# @param closure [String]
|
|
28
27
|
# @param name [String]
|
|
29
28
|
# @param comments [String]
|
|
30
|
-
def initialize location: nil,
|
|
29
|
+
def initialize location: nil, closure: nil, name: '', comments: ''
|
|
31
30
|
@location = location
|
|
32
|
-
@kind = kind
|
|
33
31
|
@closure = closure
|
|
34
32
|
@name = name
|
|
35
33
|
@comments = comments
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
module Solargraph
|
|
2
4
|
module Pin
|
|
3
5
|
# The base class for method and attribute pins.
|
|
@@ -43,10 +45,6 @@ module Solargraph
|
|
|
43
45
|
# @return [ComplexType]
|
|
44
46
|
def generate_complex_type
|
|
45
47
|
tag = docstring.tag(:return)
|
|
46
|
-
if tag.nil?
|
|
47
|
-
ol = docstring.tag(:overload)
|
|
48
|
-
tag = ol.tag(:return) unless ol.nil?
|
|
49
|
-
end
|
|
50
48
|
return ComplexType::UNDEFINED if tag.nil? or tag.types.nil? or tag.types.empty?
|
|
51
49
|
ComplexType.try_parse *tag.types
|
|
52
50
|
end
|
data/lib/solargraph/pin/block.rb
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
module Solargraph
|
|
2
4
|
module Pin
|
|
3
5
|
class Block < Closure
|
|
@@ -25,10 +27,6 @@ module Solargraph
|
|
|
25
27
|
@binder || context
|
|
26
28
|
end
|
|
27
29
|
|
|
28
|
-
def kind
|
|
29
|
-
Pin::BLOCK
|
|
30
|
-
end
|
|
31
|
-
|
|
32
30
|
# @return [Array<String>]
|
|
33
31
|
def parameters
|
|
34
32
|
@parameters ||= []
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
module Solargraph
|
|
2
4
|
module Pin
|
|
3
5
|
class Closure < Base
|
|
@@ -23,6 +25,13 @@ module Solargraph
|
|
|
23
25
|
def binder
|
|
24
26
|
@binder || context
|
|
25
27
|
end
|
|
28
|
+
|
|
29
|
+
# @return [Array<String>]
|
|
30
|
+
def gates
|
|
31
|
+
# @todo This check might not be necessary. There should always be a
|
|
32
|
+
# root pin
|
|
33
|
+
closure ? closure.gates : ['']
|
|
34
|
+
end
|
|
26
35
|
end
|
|
27
36
|
end
|
|
28
37
|
end
|