solargraph 0.58.1 → 0.58.3
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/.github/workflows/plugins.yml +3 -2
- data/.gitignore +1 -0
- data/CHANGELOG.md +10 -1
- data/lib/solargraph/api_map/cache.rb +110 -110
- data/lib/solargraph/api_map/constants.rb +279 -279
- data/lib/solargraph/api_map/index.rb +193 -193
- data/lib/solargraph/api_map/source_to_yard.rb +97 -97
- data/lib/solargraph/api_map/store.rb +384 -384
- data/lib/solargraph/api_map.rb +945 -945
- data/lib/solargraph/bench.rb +45 -45
- data/lib/solargraph/complex_type/type_methods.rb +228 -228
- data/lib/solargraph/complex_type/unique_type.rb +482 -482
- data/lib/solargraph/complex_type.rb +444 -444
- data/lib/solargraph/convention/data_definition/data_assignment_node.rb +61 -61
- data/lib/solargraph/convention/data_definition/data_definition_node.rb +91 -91
- data/lib/solargraph/convention/data_definition.rb +105 -105
- data/lib/solargraph/convention/gemfile.rb +15 -15
- data/lib/solargraph/convention/gemspec.rb +23 -23
- data/lib/solargraph/convention/rakefile.rb +17 -17
- data/lib/solargraph/convention/struct_definition/struct_assignment_node.rb +61 -61
- data/lib/solargraph/convention/struct_definition/struct_definition_node.rb +102 -102
- data/lib/solargraph/convention/struct_definition.rb +164 -164
- data/lib/solargraph/convention.rb +78 -78
- data/lib/solargraph/converters/dd.rb +17 -17
- data/lib/solargraph/converters/dl.rb +15 -15
- data/lib/solargraph/converters/dt.rb +15 -15
- data/lib/solargraph/converters/misc.rb +1 -1
- data/lib/solargraph/diagnostics/require_not_found.rb +53 -53
- data/lib/solargraph/diagnostics/rubocop.rb +118 -118
- data/lib/solargraph/diagnostics/rubocop_helpers.rb +68 -68
- data/lib/solargraph/diagnostics/type_check.rb +55 -55
- data/lib/solargraph/diagnostics/update_errors.rb +41 -41
- data/lib/solargraph/doc_map.rb +439 -439
- data/lib/solargraph/equality.rb +34 -34
- data/lib/solargraph/gem_pins.rb +98 -98
- data/lib/solargraph/language_server/error_codes.rb +20 -20
- data/lib/solargraph/language_server/host/diagnoser.rb +89 -89
- data/lib/solargraph/language_server/host/dispatch.rb +130 -130
- data/lib/solargraph/language_server/host/message_worker.rb +112 -112
- data/lib/solargraph/language_server/host/sources.rb +99 -99
- data/lib/solargraph/language_server/host.rb +878 -878
- data/lib/solargraph/language_server/message/base.rb +97 -97
- data/lib/solargraph/language_server/message/client/register_capability.rb +15 -15
- data/lib/solargraph/language_server/message/completion_item/resolve.rb +60 -60
- data/lib/solargraph/language_server/message/extended/check_gem_version.rb +114 -114
- data/lib/solargraph/language_server/message/extended/document.rb +23 -23
- data/lib/solargraph/language_server/message/extended/document_gems.rb +32 -32
- data/lib/solargraph/language_server/message/extended/download_core.rb +19 -19
- data/lib/solargraph/language_server/message/extended/search.rb +20 -20
- data/lib/solargraph/language_server/message/initialize.rb +191 -191
- data/lib/solargraph/language_server/message/text_document/completion.rb +56 -56
- data/lib/solargraph/language_server/message/text_document/definition.rb +40 -40
- data/lib/solargraph/language_server/message/text_document/document_highlight.rb +16 -16
- data/lib/solargraph/language_server/message/text_document/document_symbol.rb +26 -26
- data/lib/solargraph/language_server/message/text_document/formatting.rb +148 -148
- data/lib/solargraph/language_server/message/text_document/hover.rb +58 -58
- data/lib/solargraph/language_server/message/text_document/prepare_rename.rb +11 -11
- data/lib/solargraph/language_server/message/text_document/references.rb +16 -16
- data/lib/solargraph/language_server/message/text_document/rename.rb +19 -19
- data/lib/solargraph/language_server/message/text_document/signature_help.rb +24 -24
- data/lib/solargraph/language_server/message/text_document/type_definition.rb +25 -25
- data/lib/solargraph/language_server/message/workspace/did_change_configuration.rb +35 -35
- data/lib/solargraph/language_server/message/workspace/did_change_watched_files.rb +40 -40
- data/lib/solargraph/language_server/message/workspace/did_change_workspace_folders.rb +26 -26
- data/lib/solargraph/language_server/message/workspace/workspace_symbol.rb +23 -23
- data/lib/solargraph/language_server/message.rb +94 -94
- data/lib/solargraph/language_server/request.rb +27 -27
- data/lib/solargraph/language_server/transport/data_reader.rb +74 -74
- data/lib/solargraph/language_server/uri_helpers.rb +49 -49
- data/lib/solargraph/library.rb +683 -683
- data/lib/solargraph/location.rb +82 -82
- data/lib/solargraph/logging.rb +37 -37
- data/lib/solargraph/page.rb +92 -92
- data/lib/solargraph/parser/comment_ripper.rb +69 -69
- data/lib/solargraph/parser/flow_sensitive_typing.rb +255 -255
- data/lib/solargraph/parser/node_processor/base.rb +92 -92
- data/lib/solargraph/parser/node_processor.rb +62 -62
- data/lib/solargraph/parser/parser_gem/class_methods.rb +149 -149
- data/lib/solargraph/parser/parser_gem/flawed_builder.rb +19 -19
- data/lib/solargraph/parser/parser_gem/node_chainer.rb +166 -166
- data/lib/solargraph/parser/parser_gem/node_methods.rb +486 -486
- data/lib/solargraph/parser/parser_gem/node_processors/and_node.rb +22 -22
- data/lib/solargraph/parser/parser_gem/node_processors/args_node.rb +59 -59
- data/lib/solargraph/parser/parser_gem/node_processors/begin_node.rb +15 -15
- data/lib/solargraph/parser/parser_gem/node_processors/block_node.rb +46 -46
- data/lib/solargraph/parser/parser_gem/node_processors/def_node.rb +53 -53
- data/lib/solargraph/parser/parser_gem/node_processors/defs_node.rb +37 -37
- data/lib/solargraph/parser/parser_gem/node_processors/if_node.rb +23 -23
- data/lib/solargraph/parser/parser_gem/node_processors/ivasgn_node.rb +40 -40
- data/lib/solargraph/parser/parser_gem/node_processors/lvasgn_node.rb +29 -29
- data/lib/solargraph/parser/parser_gem/node_processors/masgn_node.rb +59 -59
- data/lib/solargraph/parser/parser_gem/node_processors/opasgn_node.rb +98 -98
- data/lib/solargraph/parser/parser_gem/node_processors/orasgn_node.rb +17 -17
- data/lib/solargraph/parser/parser_gem/node_processors/resbody_node.rb +38 -38
- data/lib/solargraph/parser/parser_gem/node_processors/sclass_node.rb +52 -52
- data/lib/solargraph/parser/parser_gem/node_processors/send_node.rb +291 -291
- data/lib/solargraph/parser/parser_gem/node_processors/until_node.rb +29 -29
- data/lib/solargraph/parser/parser_gem/node_processors/while_node.rb +29 -29
- data/lib/solargraph/parser/parser_gem/node_processors.rb +70 -70
- data/lib/solargraph/parser/parser_gem.rb +12 -12
- data/lib/solargraph/parser/region.rb +69 -69
- data/lib/solargraph/parser/snippet.rb +17 -17
- data/lib/solargraph/parser.rb +23 -23
- data/lib/solargraph/pin/base.rb +729 -729
- data/lib/solargraph/pin/base_variable.rb +126 -126
- data/lib/solargraph/pin/block.rb +104 -104
- data/lib/solargraph/pin/breakable.rb +9 -9
- data/lib/solargraph/pin/callable.rb +231 -231
- data/lib/solargraph/pin/closure.rb +72 -72
- data/lib/solargraph/pin/common.rb +79 -79
- data/lib/solargraph/pin/constant.rb +45 -45
- data/lib/solargraph/pin/conversions.rb +123 -123
- data/lib/solargraph/pin/delegated_method.rb +120 -120
- data/lib/solargraph/pin/documenting.rb +114 -114
- data/lib/solargraph/pin/instance_variable.rb +34 -34
- data/lib/solargraph/pin/keyword.rb +20 -20
- data/lib/solargraph/pin/local_variable.rb +75 -75
- data/lib/solargraph/pin/method.rb +672 -672
- data/lib/solargraph/pin/method_alias.rb +34 -34
- data/lib/solargraph/pin/namespace.rb +115 -115
- data/lib/solargraph/pin/parameter.rb +275 -275
- data/lib/solargraph/pin/proxy_type.rb +39 -39
- data/lib/solargraph/pin/reference/override.rb +47 -47
- data/lib/solargraph/pin/reference/superclass.rb +15 -15
- data/lib/solargraph/pin/reference.rb +39 -39
- data/lib/solargraph/pin/search.rb +61 -61
- data/lib/solargraph/pin/signature.rb +61 -61
- data/lib/solargraph/pin/symbol.rb +53 -53
- data/lib/solargraph/pin/until.rb +18 -18
- data/lib/solargraph/pin/while.rb +18 -18
- data/lib/solargraph/pin.rb +44 -44
- data/lib/solargraph/pin_cache.rb +245 -245
- data/lib/solargraph/position.rb +132 -119
- data/lib/solargraph/range.rb +112 -112
- data/lib/solargraph/rbs_map/conversions.rb +823 -823
- data/lib/solargraph/rbs_map/core_fills.rb +84 -84
- data/lib/solargraph/rbs_map/core_map.rb +58 -58
- data/lib/solargraph/rbs_map/stdlib_map.rb +43 -43
- data/lib/solargraph/rbs_map.rb +163 -163
- data/lib/solargraph/server_methods.rb +16 -16
- data/lib/solargraph/shell.rb +363 -352
- data/lib/solargraph/source/chain/array.rb +37 -37
- data/lib/solargraph/source/chain/call.rb +337 -337
- data/lib/solargraph/source/chain/class_variable.rb +13 -13
- data/lib/solargraph/source/chain/constant.rb +26 -26
- data/lib/solargraph/source/chain/global_variable.rb +13 -13
- data/lib/solargraph/source/chain/hash.rb +34 -34
- data/lib/solargraph/source/chain/if.rb +28 -28
- data/lib/solargraph/source/chain/instance_variable.rb +13 -13
- data/lib/solargraph/source/chain/link.rb +109 -109
- data/lib/solargraph/source/chain/literal.rb +48 -48
- data/lib/solargraph/source/chain/or.rb +23 -23
- data/lib/solargraph/source/chain/q_call.rb +11 -11
- data/lib/solargraph/source/chain/variable.rb +13 -13
- data/lib/solargraph/source/chain/z_super.rb +30 -30
- data/lib/solargraph/source/chain.rb +291 -291
- data/lib/solargraph/source/change.rb +82 -82
- data/lib/solargraph/source/cursor.rb +166 -166
- data/lib/solargraph/source/source_chainer.rb +194 -194
- data/lib/solargraph/source/updater.rb +55 -55
- data/lib/solargraph/source.rb +498 -498
- data/lib/solargraph/source_map/clip.rb +226 -226
- data/lib/solargraph/source_map/data.rb +34 -34
- data/lib/solargraph/source_map/mapper.rb +259 -259
- data/lib/solargraph/source_map.rb +212 -212
- data/lib/solargraph/type_checker/checks.rb +124 -124
- data/lib/solargraph/type_checker/param_def.rb +37 -37
- data/lib/solargraph/type_checker/problem.rb +32 -32
- data/lib/solargraph/type_checker/rules.rb +84 -84
- data/lib/solargraph/type_checker.rb +814 -814
- data/lib/solargraph/version.rb +1 -1
- data/lib/solargraph/workspace/config.rb +255 -255
- data/lib/solargraph/workspace/require_paths.rb +97 -97
- data/lib/solargraph/workspace.rb +220 -220
- data/lib/solargraph/yard_map/helpers.rb +44 -44
- data/lib/solargraph/yard_map/mapper/to_method.rb +130 -130
- data/lib/solargraph/yard_map/mapper/to_namespace.rb +31 -31
- data/lib/solargraph/yard_map/mapper.rb +79 -79
- data/lib/solargraph/yard_map/to_method.rb +89 -89
- data/lib/solargraph/yard_tags.rb +20 -20
- data/lib/solargraph/yardoc.rb +87 -87
- data/lib/solargraph.rb +105 -105
- data/rbs_collection.yaml +1 -1
- metadata +12 -12
- /data/{sig → rbs}/shims/ast/0/node.rbs +0 -0
- /data/{sig → rbs}/shims/ast/2.4/.rbs_meta.yaml +0 -0
- /data/{sig → rbs}/shims/ast/2.4/ast.rbs +0 -0
- /data/{sig → rbs}/shims/parser/3.2.0.1/builders/default.rbs +0 -0
- /data/{sig → rbs}/shims/parser/3.2.0.1/manifest.yaml +0 -0
- /data/{sig → rbs}/shims/parser/3.2.0.1/parser.rbs +0 -0
- /data/{sig → rbs}/shims/parser/3.2.0.1/polyfill.rbs +0 -0
- /data/{sig → rbs}/shims/thor/1.2.0.1/.rbs_meta.yaml +0 -0
- /data/{sig → rbs}/shims/thor/1.2.0.1/manifest.yaml +0 -0
- /data/{sig → rbs}/shims/thor/1.2.0.1/thor.rbs +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2e2913913dac1fa336d5f2a7ac51a5cc7d7afb085fc14e0aea405ec4fc6f482c
|
|
4
|
+
data.tar.gz: 180f4779d6e070e919c8d4d1af3d4c72edb79370cbb9592671213db049254d2b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d30d4d79505a7bd37d906bd8eaf5351426e21a87ae23e922677a149dd946536c05a02debf70e1198d2f8b75dbf0a4941f9a2df34aa9ce2938b35da6458477fa5
|
|
7
|
+
data.tar.gz: 18a7d22d68a432c3b4e7c75385852a3f6f875a77269cabdfef4e91d229c93275236f04df50d5ff527cee7ba3a3100f41151e6f50f3d5947df0cbba83a304252e
|
|
@@ -125,7 +125,7 @@ jobs:
|
|
|
125
125
|
- name: Set up Ruby
|
|
126
126
|
uses: ruby/setup-ruby@v1
|
|
127
127
|
with:
|
|
128
|
-
ruby-version: '3.
|
|
128
|
+
ruby-version: '3.2'
|
|
129
129
|
rubygems: latest
|
|
130
130
|
bundler-cache: false
|
|
131
131
|
- name: Install gems
|
|
@@ -178,7 +178,8 @@ jobs:
|
|
|
178
178
|
uses: ruby/setup-ruby@v1
|
|
179
179
|
with:
|
|
180
180
|
# solargraph-rails supports Ruby 3.0+
|
|
181
|
-
|
|
181
|
+
# This job uses 3.2 due to a problem compiling sqlite3 in earlier versions
|
|
182
|
+
ruby-version: '3.2'
|
|
182
183
|
bundler-cache: false
|
|
183
184
|
bundler: latest
|
|
184
185
|
env:
|
data/.gitignore
CHANGED
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
|
+
## 0.58.3 - March 9, 2026
|
|
2
|
+
- Ignore workspace dependencies in cache processes (#1174)
|
|
3
|
+
|
|
4
|
+
## 0.58.2 - January 19, 2026
|
|
5
|
+
- Avoid rbs pollution (#1146)
|
|
6
|
+
- Fix 'solargraph pin --references ClassName' private method call (#1150)
|
|
7
|
+
- Improve memory efficiency of Position class (#1054)
|
|
8
|
+
- Raise InvalidOffsetError for offsets > text (#1155)
|
|
9
|
+
|
|
1
10
|
## 0.58.1 - January 2, 2026
|
|
2
|
-
-
|
|
11
|
+
- Normalize line endings to LF (#1142)
|
|
3
12
|
|
|
4
13
|
## 0.58.0 - January 1, 2026
|
|
5
14
|
- Faster constant resolution (#1083)
|
|
@@ -1,110 +1,110 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Solargraph
|
|
4
|
-
class ApiMap
|
|
5
|
-
class Cache
|
|
6
|
-
def initialize
|
|
7
|
-
# @type [Hash{String => Array<Pin::Method>}]
|
|
8
|
-
@methods = {}
|
|
9
|
-
# @type [Hash{String, Array<String> => Array<Pin::Base>}]
|
|
10
|
-
@constants = {}
|
|
11
|
-
# @type [Hash{String => String}]
|
|
12
|
-
@qualified_namespaces = {}
|
|
13
|
-
# @type [Hash{String => Pin::Method}]
|
|
14
|
-
@receiver_definitions = {}
|
|
15
|
-
# @type [Hash{String => SourceMap::Clip}]
|
|
16
|
-
@clips = {}
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
def to_s
|
|
20
|
-
self.class.to_s
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
# avoid enormous dump
|
|
24
|
-
def inspect
|
|
25
|
-
to_s
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
# @param fqns [String]
|
|
29
|
-
# @param scope [Symbol]
|
|
30
|
-
# @param visibility [Array<Symbol>]
|
|
31
|
-
# @param deep [Boolean]
|
|
32
|
-
# @return [Array<Pin::Method>]
|
|
33
|
-
def get_methods fqns, scope, visibility, deep
|
|
34
|
-
@methods["#{fqns}|#{scope}|#{visibility}|#{deep}"]
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
# @param fqns [String]
|
|
38
|
-
# @param scope [Symbol]
|
|
39
|
-
# @param visibility [Array<Symbol>]
|
|
40
|
-
# @param deep [Boolean]
|
|
41
|
-
# @param value [Array<Pin::Method>]
|
|
42
|
-
# @return [void]
|
|
43
|
-
def set_methods fqns, scope, visibility, deep, value
|
|
44
|
-
@methods["#{fqns}|#{scope}|#{visibility}|#{deep}"] = value
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
# @param namespace [String]
|
|
48
|
-
# @param contexts [Array<String>]
|
|
49
|
-
# @return [Array<Pin::Base>]
|
|
50
|
-
def get_constants namespace, contexts
|
|
51
|
-
@constants["#{namespace}|#{contexts}"]
|
|
52
|
-
end
|
|
53
|
-
|
|
54
|
-
# @param namespace [String]
|
|
55
|
-
# @param contexts [Array<String>]
|
|
56
|
-
# @param value [Array<Pin::Base>]
|
|
57
|
-
# @return [void]
|
|
58
|
-
def set_constants namespace, contexts, value
|
|
59
|
-
@constants["#{namespace}|#{contexts}"] = value
|
|
60
|
-
end
|
|
61
|
-
|
|
62
|
-
# @param name [String]
|
|
63
|
-
# @param context [String]
|
|
64
|
-
# @return [String]
|
|
65
|
-
def get_qualified_namespace name, context
|
|
66
|
-
@qualified_namespaces["#{name}|#{context}"]
|
|
67
|
-
end
|
|
68
|
-
|
|
69
|
-
# @param name [String]
|
|
70
|
-
# @param context [String]
|
|
71
|
-
# @param value [String]
|
|
72
|
-
# @return [void]
|
|
73
|
-
def set_qualified_namespace name, context, value
|
|
74
|
-
@qualified_namespaces["#{name}|#{context}"] = value
|
|
75
|
-
end
|
|
76
|
-
|
|
77
|
-
# @param path [String]
|
|
78
|
-
# @return [Pin::Method]
|
|
79
|
-
def get_receiver_definition path
|
|
80
|
-
@receiver_definitions[path]
|
|
81
|
-
end
|
|
82
|
-
|
|
83
|
-
# @param path [String]
|
|
84
|
-
# @param pin [Pin::Method]
|
|
85
|
-
# @return [void]
|
|
86
|
-
def set_receiver_definition path, pin
|
|
87
|
-
@receiver_definitions[path] = pin
|
|
88
|
-
end
|
|
89
|
-
|
|
90
|
-
# @return [void]
|
|
91
|
-
def clear
|
|
92
|
-
return if empty?
|
|
93
|
-
|
|
94
|
-
all_caches.each(&:clear)
|
|
95
|
-
end
|
|
96
|
-
|
|
97
|
-
# @return [Boolean]
|
|
98
|
-
def empty?
|
|
99
|
-
all_caches.all?(&:empty?)
|
|
100
|
-
end
|
|
101
|
-
|
|
102
|
-
private
|
|
103
|
-
|
|
104
|
-
# @return [Array<Object>]
|
|
105
|
-
def all_caches
|
|
106
|
-
[@methods, @constants, @qualified_namespaces, @receiver_definitions, @clips]
|
|
107
|
-
end
|
|
108
|
-
end
|
|
109
|
-
end
|
|
110
|
-
end
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Solargraph
|
|
4
|
+
class ApiMap
|
|
5
|
+
class Cache
|
|
6
|
+
def initialize
|
|
7
|
+
# @type [Hash{String => Array<Pin::Method>}]
|
|
8
|
+
@methods = {}
|
|
9
|
+
# @type [Hash{String, Array<String> => Array<Pin::Base>}]
|
|
10
|
+
@constants = {}
|
|
11
|
+
# @type [Hash{String => String}]
|
|
12
|
+
@qualified_namespaces = {}
|
|
13
|
+
# @type [Hash{String => Pin::Method}]
|
|
14
|
+
@receiver_definitions = {}
|
|
15
|
+
# @type [Hash{String => SourceMap::Clip}]
|
|
16
|
+
@clips = {}
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def to_s
|
|
20
|
+
self.class.to_s
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
# avoid enormous dump
|
|
24
|
+
def inspect
|
|
25
|
+
to_s
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
# @param fqns [String]
|
|
29
|
+
# @param scope [Symbol]
|
|
30
|
+
# @param visibility [Array<Symbol>]
|
|
31
|
+
# @param deep [Boolean]
|
|
32
|
+
# @return [Array<Pin::Method>]
|
|
33
|
+
def get_methods fqns, scope, visibility, deep
|
|
34
|
+
@methods["#{fqns}|#{scope}|#{visibility}|#{deep}"]
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
# @param fqns [String]
|
|
38
|
+
# @param scope [Symbol]
|
|
39
|
+
# @param visibility [Array<Symbol>]
|
|
40
|
+
# @param deep [Boolean]
|
|
41
|
+
# @param value [Array<Pin::Method>]
|
|
42
|
+
# @return [void]
|
|
43
|
+
def set_methods fqns, scope, visibility, deep, value
|
|
44
|
+
@methods["#{fqns}|#{scope}|#{visibility}|#{deep}"] = value
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
# @param namespace [String]
|
|
48
|
+
# @param contexts [Array<String>]
|
|
49
|
+
# @return [Array<Pin::Base>]
|
|
50
|
+
def get_constants namespace, contexts
|
|
51
|
+
@constants["#{namespace}|#{contexts}"]
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
# @param namespace [String]
|
|
55
|
+
# @param contexts [Array<String>]
|
|
56
|
+
# @param value [Array<Pin::Base>]
|
|
57
|
+
# @return [void]
|
|
58
|
+
def set_constants namespace, contexts, value
|
|
59
|
+
@constants["#{namespace}|#{contexts}"] = value
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
# @param name [String]
|
|
63
|
+
# @param context [String]
|
|
64
|
+
# @return [String]
|
|
65
|
+
def get_qualified_namespace name, context
|
|
66
|
+
@qualified_namespaces["#{name}|#{context}"]
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
# @param name [String]
|
|
70
|
+
# @param context [String]
|
|
71
|
+
# @param value [String]
|
|
72
|
+
# @return [void]
|
|
73
|
+
def set_qualified_namespace name, context, value
|
|
74
|
+
@qualified_namespaces["#{name}|#{context}"] = value
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
# @param path [String]
|
|
78
|
+
# @return [Pin::Method]
|
|
79
|
+
def get_receiver_definition path
|
|
80
|
+
@receiver_definitions[path]
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
# @param path [String]
|
|
84
|
+
# @param pin [Pin::Method]
|
|
85
|
+
# @return [void]
|
|
86
|
+
def set_receiver_definition path, pin
|
|
87
|
+
@receiver_definitions[path] = pin
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
# @return [void]
|
|
91
|
+
def clear
|
|
92
|
+
return if empty?
|
|
93
|
+
|
|
94
|
+
all_caches.each(&:clear)
|
|
95
|
+
end
|
|
96
|
+
|
|
97
|
+
# @return [Boolean]
|
|
98
|
+
def empty?
|
|
99
|
+
all_caches.all?(&:empty?)
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
private
|
|
103
|
+
|
|
104
|
+
# @return [Array<Object>]
|
|
105
|
+
def all_caches
|
|
106
|
+
[@methods, @constants, @qualified_namespaces, @receiver_definitions, @clips]
|
|
107
|
+
end
|
|
108
|
+
end
|
|
109
|
+
end
|
|
110
|
+
end
|