solargraph 0.58.3 → 0.59.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/.envrc +3 -0
- data/.github/workflows/linting.yml +6 -5
- data/.github/workflows/plugins.yml +46 -34
- data/.github/workflows/rspec.yml +15 -28
- data/.github/workflows/typecheck.yml +3 -2
- data/.rubocop.yml +38 -6
- data/.rubocop_todo.yml +53 -966
- data/CHANGELOG.md +12 -0
- data/Gemfile +3 -1
- data/README.md +3 -3
- data/Rakefile +26 -23
- data/bin/solargraph +2 -1
- data/lib/solargraph/api_map/cache.rb +3 -3
- data/lib/solargraph/api_map/constants.rb +12 -3
- data/lib/solargraph/api_map/index.rb +29 -18
- data/lib/solargraph/api_map/source_to_yard.rb +22 -9
- data/lib/solargraph/api_map/store.rb +39 -28
- data/lib/solargraph/api_map.rb +156 -72
- data/lib/solargraph/bench.rb +2 -3
- data/lib/solargraph/complex_type/conformance.rb +176 -0
- data/lib/solargraph/complex_type/type_methods.rb +30 -18
- data/lib/solargraph/complex_type/unique_type.rb +216 -57
- data/lib/solargraph/complex_type.rb +171 -58
- data/lib/solargraph/convention/data_definition/data_assignment_node.rb +1 -1
- data/lib/solargraph/convention/data_definition/data_definition_node.rb +7 -5
- data/lib/solargraph/convention/data_definition.rb +5 -2
- data/lib/solargraph/convention/gemfile.rb +1 -1
- data/lib/solargraph/convention/gemspec.rb +1 -1
- data/lib/solargraph/convention/rakefile.rb +1 -1
- data/lib/solargraph/convention/struct_definition/struct_assignment_node.rb +2 -1
- data/lib/solargraph/convention/struct_definition/struct_definition_node.rb +4 -3
- data/lib/solargraph/convention/struct_definition.rb +8 -4
- data/lib/solargraph/convention.rb +2 -2
- data/lib/solargraph/converters/dd.rb +2 -0
- data/lib/solargraph/converters/dl.rb +2 -0
- data/lib/solargraph/converters/dt.rb +2 -0
- data/lib/solargraph/converters/misc.rb +2 -0
- data/lib/solargraph/diagnostics/require_not_found.rb +1 -0
- data/lib/solargraph/diagnostics/rubocop.rb +11 -10
- data/lib/solargraph/diagnostics/rubocop_helpers.rb +5 -3
- data/lib/solargraph/diagnostics/type_check.rb +11 -10
- data/lib/solargraph/diagnostics/update_errors.rb +4 -8
- data/lib/solargraph/doc_map.rb +38 -39
- data/lib/solargraph/equality.rb +4 -4
- data/lib/solargraph/gem_pins.rb +6 -6
- data/lib/solargraph/language_server/error_codes.rb +10 -10
- data/lib/solargraph/language_server/host/diagnoser.rb +1 -1
- data/lib/solargraph/language_server/host/dispatch.rb +3 -3
- data/lib/solargraph/language_server/host/message_worker.rb +4 -3
- data/lib/solargraph/language_server/host/sources.rb +2 -1
- data/lib/solargraph/language_server/host.rb +30 -22
- data/lib/solargraph/language_server/message/base.rb +1 -1
- data/lib/solargraph/language_server/message/client/register_capability.rb +1 -3
- data/lib/solargraph/language_server/message/completion_item/resolve.rb +6 -8
- data/lib/solargraph/language_server/message/extended/check_gem_version.rb +12 -18
- data/lib/solargraph/language_server/message/extended/document.rb +1 -0
- data/lib/solargraph/language_server/message/extended/document_gems.rb +7 -7
- data/lib/solargraph/language_server/message/extended/download_core.rb +2 -1
- data/lib/solargraph/language_server/message/extended/search.rb +1 -1
- data/lib/solargraph/language_server/message/initialize.rb +20 -14
- data/lib/solargraph/language_server/message/text_document/completion.rb +10 -8
- data/lib/solargraph/language_server/message/text_document/definition.rb +41 -32
- data/lib/solargraph/language_server/message/text_document/document_highlight.rb +17 -10
- data/lib/solargraph/language_server/message/text_document/document_symbol.rb +29 -19
- data/lib/solargraph/language_server/message/text_document/formatting.rb +8 -6
- data/lib/solargraph/language_server/message/text_document/hover.rb +5 -5
- data/lib/solargraph/language_server/message/text_document/prepare_rename.rb +13 -6
- data/lib/solargraph/language_server/message/text_document/references.rb +17 -10
- data/lib/solargraph/language_server/message/text_document/rename.rb +20 -13
- data/lib/solargraph/language_server/message/text_document/signature_help.rb +3 -2
- data/lib/solargraph/language_server/message/text_document/type_definition.rb +25 -17
- data/lib/solargraph/language_server/message/workspace/did_change_configuration.rb +34 -28
- data/lib/solargraph/language_server/message/workspace/did_change_watched_files.rb +38 -30
- data/lib/solargraph/language_server/message/workspace/did_change_workspace_folders.rb +23 -17
- data/lib/solargraph/language_server/message/workspace/workspace_symbol.rb +27 -17
- data/lib/solargraph/language_server/message.rb +1 -1
- data/lib/solargraph/language_server/request.rb +4 -2
- data/lib/solargraph/language_server/transport/data_reader.rb +11 -13
- data/lib/solargraph/language_server/uri_helpers.rb +2 -2
- data/lib/solargraph/library.rb +57 -38
- data/lib/solargraph/location.rb +17 -14
- data/lib/solargraph/logging.rb +22 -4
- data/lib/solargraph/page.rb +1 -1
- data/lib/solargraph/parser/comment_ripper.rb +19 -4
- data/lib/solargraph/parser/flow_sensitive_typing.rb +324 -108
- data/lib/solargraph/parser/node_processor/base.rb +34 -4
- data/lib/solargraph/parser/node_processor.rb +8 -7
- data/lib/solargraph/parser/parser_gem/class_methods.rb +30 -14
- data/lib/solargraph/parser/parser_gem/flawed_builder.rb +1 -1
- data/lib/solargraph/parser/parser_gem/node_chainer.rb +50 -25
- data/lib/solargraph/parser/parser_gem/node_methods.rb +91 -70
- data/lib/solargraph/parser/parser_gem/node_processors/and_node.rb +4 -4
- data/lib/solargraph/parser/parser_gem/node_processors/args_node.rb +13 -11
- data/lib/solargraph/parser/parser_gem/node_processors/begin_node.rb +9 -0
- data/lib/solargraph/parser/parser_gem/node_processors/block_node.rb +11 -12
- data/lib/solargraph/parser/parser_gem/node_processors/def_node.rb +10 -3
- data/lib/solargraph/parser/parser_gem/node_processors/defs_node.rb +9 -8
- data/lib/solargraph/parser/parser_gem/node_processors/if_node.rb +36 -6
- data/lib/solargraph/parser/parser_gem/node_processors/ivasgn_node.rb +5 -3
- data/lib/solargraph/parser/parser_gem/node_processors/lvasgn_node.rb +1 -0
- data/lib/solargraph/parser/parser_gem/node_processors/masgn_node.rb +3 -1
- data/lib/solargraph/parser/parser_gem/node_processors/opasgn_node.rb +3 -3
- data/lib/solargraph/parser/parser_gem/node_processors/or_node.rb +22 -0
- data/lib/solargraph/parser/parser_gem/node_processors/orasgn_node.rb +1 -1
- data/lib/solargraph/parser/parser_gem/node_processors/resbody_node.rb +2 -1
- data/lib/solargraph/parser/parser_gem/node_processors/sclass_node.rb +4 -5
- data/lib/solargraph/parser/parser_gem/node_processors/send_node.rb +124 -113
- data/lib/solargraph/parser/parser_gem/node_processors/until_node.rb +1 -1
- data/lib/solargraph/parser/parser_gem/node_processors/when_node.rb +23 -0
- data/lib/solargraph/parser/parser_gem/node_processors/while_node.rb +6 -2
- data/lib/solargraph/parser/parser_gem/node_processors.rb +4 -0
- data/lib/solargraph/parser/parser_gem.rb +2 -0
- data/lib/solargraph/parser/region.rb +9 -3
- data/lib/solargraph/parser/snippet.rb +3 -1
- data/lib/solargraph/parser.rb +2 -0
- data/lib/solargraph/pin/base.rb +124 -80
- data/lib/solargraph/pin/base_variable.rb +273 -24
- data/lib/solargraph/pin/block.rb +29 -6
- data/lib/solargraph/pin/breakable.rb +7 -1
- data/lib/solargraph/pin/callable.rb +65 -21
- data/lib/solargraph/pin/closure.rb +7 -10
- data/lib/solargraph/pin/common.rb +24 -6
- data/lib/solargraph/pin/compound_statement.rb +55 -0
- data/lib/solargraph/pin/constant.rb +3 -5
- data/lib/solargraph/pin/conversions.rb +10 -4
- data/lib/solargraph/pin/delegated_method.rb +19 -8
- data/lib/solargraph/pin/documenting.rb +4 -2
- data/lib/solargraph/pin/instance_variable.rb +5 -1
- data/lib/solargraph/pin/keyword.rb +0 -4
- data/lib/solargraph/pin/local_variable.rb +15 -59
- data/lib/solargraph/pin/method.rb +156 -104
- data/lib/solargraph/pin/method_alias.rb +8 -0
- data/lib/solargraph/pin/namespace.rb +19 -12
- data/lib/solargraph/pin/parameter.rb +100 -36
- data/lib/solargraph/pin/proxy_type.rb +4 -1
- data/lib/solargraph/pin/reference/override.rb +1 -1
- data/lib/solargraph/pin/reference/superclass.rb +2 -0
- data/lib/solargraph/pin/reference/type_alias.rb +16 -0
- data/lib/solargraph/pin/reference.rb +20 -0
- data/lib/solargraph/pin/search.rb +3 -2
- data/lib/solargraph/pin/signature.rb +15 -12
- data/lib/solargraph/pin/symbol.rb +2 -1
- data/lib/solargraph/pin/until.rb +2 -4
- data/lib/solargraph/pin/while.rb +2 -4
- data/lib/solargraph/pin.rb +2 -0
- data/lib/solargraph/pin_cache.rb +22 -19
- data/lib/solargraph/position.rb +17 -10
- data/lib/solargraph/range.rb +16 -15
- data/lib/solargraph/rbs_map/conversions.rb +358 -229
- data/lib/solargraph/rbs_map/core_fills.rb +18 -11
- data/lib/solargraph/rbs_map/core_map.rb +24 -17
- data/lib/solargraph/rbs_map/stdlib_map.rb +33 -5
- data/lib/solargraph/rbs_map.rb +76 -32
- data/lib/solargraph/server_methods.rb +1 -1
- data/lib/solargraph/shell.rb +258 -66
- data/lib/solargraph/source/chain/array.rb +4 -2
- data/lib/solargraph/source/chain/call.rb +96 -56
- data/lib/solargraph/source/chain/class_variable.rb +1 -1
- data/lib/solargraph/source/chain/constant.rb +5 -1
- data/lib/solargraph/source/chain/global_variable.rb +1 -1
- data/lib/solargraph/source/chain/hash.rb +8 -5
- data/lib/solargraph/source/chain/if.rb +12 -10
- data/lib/solargraph/source/chain/instance_variable.rb +24 -1
- data/lib/solargraph/source/chain/link.rb +12 -22
- data/lib/solargraph/source/chain/literal.rb +9 -6
- data/lib/solargraph/source/chain/or.rb +10 -4
- data/lib/solargraph/source/chain/q_call.rb +2 -0
- data/lib/solargraph/source/chain/variable.rb +3 -1
- data/lib/solargraph/source/chain/z_super.rb +1 -3
- data/lib/solargraph/source/chain.rb +51 -38
- data/lib/solargraph/source/change.rb +12 -5
- data/lib/solargraph/source/cursor.rb +23 -17
- data/lib/solargraph/source/encoding_fixes.rb +6 -7
- data/lib/solargraph/source/source_chainer.rb +56 -32
- data/lib/solargraph/source/updater.rb +5 -1
- data/lib/solargraph/source.rb +59 -35
- data/lib/solargraph/source_map/clip.rb +48 -29
- data/lib/solargraph/source_map/data.rb +4 -1
- data/lib/solargraph/source_map/mapper.rb +69 -42
- data/lib/solargraph/source_map.rb +21 -9
- data/lib/solargraph/type_checker/problem.rb +3 -1
- data/lib/solargraph/type_checker/rules.rb +81 -8
- data/lib/solargraph/type_checker.rb +195 -121
- data/lib/solargraph/version.rb +1 -1
- data/lib/solargraph/workspace/config.rb +14 -11
- data/lib/solargraph/workspace/gemspecs.rb +367 -0
- data/lib/solargraph/workspace/require_paths.rb +1 -0
- data/lib/solargraph/workspace.rb +50 -28
- data/lib/solargraph/yard_map/helpers.rb +8 -3
- data/lib/solargraph/yard_map/mapper/to_method.rb +13 -7
- data/lib/solargraph/yard_map/mapper/to_namespace.rb +2 -1
- data/lib/solargraph/yard_map/mapper.rb +13 -8
- data/lib/solargraph/yard_map.rb +17 -18
- data/lib/solargraph/yard_tags.rb +2 -2
- data/lib/solargraph/yardoc.rb +7 -4
- data/lib/solargraph.rb +31 -8
- data/rbs/fills/rubygems/0/dependency.rbs +193 -0
- data/rbs/fills/tuple/tuple.rbs +28 -0
- data/rbs/shims/ast/0/node.rbs +1 -1
- data/rbs/shims/diff-lcs/1.5/diff-lcs.rbs +11 -0
- data/solargraph.gemspec +37 -35
- metadata +41 -41
- data/lib/solargraph/type_checker/checks.rb +0 -124
- data/lib/solargraph/type_checker/param_def.rb +0 -37
- data/lib/solargraph/yard_map/to_method.rb +0 -89
|
@@ -32,15 +32,16 @@ module Solargraph
|
|
|
32
32
|
|
|
33
33
|
# @todo Fix this map
|
|
34
34
|
@fqns_pins_map = nil
|
|
35
|
-
return catalog(pinsets) if changed
|
|
35
|
+
return catalog(pinsets) if changed.zero?
|
|
36
36
|
|
|
37
|
+
# @sg-ignore Need to add nil check here
|
|
37
38
|
pinsets[changed..].each_with_index do |pins, idx|
|
|
38
39
|
@pinsets[changed + idx] = pins
|
|
39
40
|
@indexes[changed + idx] = if pins.empty?
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
@indexes[changed + idx - 1]
|
|
42
|
+
else
|
|
43
|
+
@indexes[changed + idx - 1].merge(pins)
|
|
44
|
+
end
|
|
44
45
|
end
|
|
45
46
|
constants.clear
|
|
46
47
|
cached_qualify_superclass.clear
|
|
@@ -59,10 +60,10 @@ module Solargraph
|
|
|
59
60
|
# @param visibility [Array<Symbol>]
|
|
60
61
|
# @return [Enumerable<Solargraph::Pin::Namespace, Solargraph::Pin::Constant>]
|
|
61
62
|
def get_constants fqns, visibility = [:public]
|
|
62
|
-
namespace_children(fqns).select
|
|
63
|
-
# @sg-ignore flow
|
|
63
|
+
namespace_children(fqns).select do |pin|
|
|
64
|
+
# @sg-ignore flow sensitive typing not smart enough to handle this case
|
|
64
65
|
!pin.name.empty? && (pin.is_a?(Pin::Namespace) || pin.is_a?(Pin::Constant)) && visibility.include?(pin.visibility)
|
|
65
|
-
|
|
66
|
+
end
|
|
66
67
|
end
|
|
67
68
|
|
|
68
69
|
# @param fqns [String]
|
|
@@ -71,17 +72,18 @@ module Solargraph
|
|
|
71
72
|
# @return [Enumerable<Solargraph::Pin::Method>]
|
|
72
73
|
def get_methods fqns, scope: :instance, visibility: [:public]
|
|
73
74
|
all_pins = namespace_children(fqns).select do |pin|
|
|
74
|
-
# @sg-ignore https://github.com/castwide/solargraph/pull/1114
|
|
75
75
|
pin.is_a?(Pin::Method) && pin.scope == scope && visibility.include?(pin.visibility)
|
|
76
76
|
end
|
|
77
77
|
GemPins.combine_method_pins_by_path(all_pins)
|
|
78
78
|
end
|
|
79
79
|
|
|
80
|
-
BOOLEAN_SUPERCLASS_PIN = Pin::Reference::Superclass.new(name: 'Boolean', closure: Pin::ROOT_PIN,
|
|
81
|
-
|
|
80
|
+
BOOLEAN_SUPERCLASS_PIN = Pin::Reference::Superclass.new(name: 'Boolean', closure: Pin::ROOT_PIN,
|
|
81
|
+
source: :solargraph)
|
|
82
|
+
OBJECT_SUPERCLASS_PIN = Pin::Reference::Superclass.new(name: 'Object', closure: Pin::ROOT_PIN,
|
|
83
|
+
source: :solargraph)
|
|
82
84
|
|
|
83
|
-
# @param fqns [String]
|
|
84
|
-
# @return [Pin::Reference::Superclass]
|
|
85
|
+
# @param fqns [String, nil]
|
|
86
|
+
# @return [Pin::Reference::Superclass, nil]
|
|
85
87
|
def get_superclass fqns
|
|
86
88
|
return nil if fqns.nil? || fqns.empty?
|
|
87
89
|
return BOOLEAN_SUPERCLASS_PIN if %w[TrueClass FalseClass].include?(fqns)
|
|
@@ -126,20 +128,20 @@ module Solargraph
|
|
|
126
128
|
index.path_pin_hash[path]
|
|
127
129
|
end
|
|
128
130
|
|
|
129
|
-
# @param fqns [String]
|
|
131
|
+
# @param fqns [String, nil]
|
|
130
132
|
# @param scope [Symbol] :class or :instance
|
|
131
133
|
# @return [Enumerable<Solargraph::Pin::Base>]
|
|
132
|
-
def get_instance_variables
|
|
133
|
-
all_instance_variables.select
|
|
134
|
+
def get_instance_variables fqns, scope = :instance
|
|
135
|
+
all_instance_variables.select do |pin|
|
|
134
136
|
pin.binder.namespace == fqns && pin.binder.scope == scope
|
|
135
|
-
|
|
137
|
+
end
|
|
136
138
|
end
|
|
137
139
|
|
|
138
140
|
# @param fqns [String]
|
|
139
141
|
#
|
|
140
142
|
# @return [Enumerable<Solargraph::Pin::ClassVariable>]
|
|
141
|
-
def get_class_variables
|
|
142
|
-
namespace_children(fqns).select { |pin| pin.is_a?(Pin::ClassVariable)}
|
|
143
|
+
def get_class_variables fqns
|
|
144
|
+
namespace_children(fqns).select { |pin| pin.is_a?(Pin::ClassVariable) }
|
|
143
145
|
end
|
|
144
146
|
|
|
145
147
|
# @return [Enumerable<Solargraph::Pin::Base>]
|
|
@@ -149,7 +151,7 @@ module Solargraph
|
|
|
149
151
|
|
|
150
152
|
# @param fqns [String]
|
|
151
153
|
# @return [Boolean]
|
|
152
|
-
def namespace_exists?
|
|
154
|
+
def namespace_exists? fqns
|
|
153
155
|
fqns_pins(fqns).any?
|
|
154
156
|
end
|
|
155
157
|
|
|
@@ -165,7 +167,7 @@ module Solargraph
|
|
|
165
167
|
|
|
166
168
|
# @param fqns [String]
|
|
167
169
|
# @return [Array<String>]
|
|
168
|
-
def domains
|
|
170
|
+
def domains fqns
|
|
169
171
|
result = []
|
|
170
172
|
fqns_pins(fqns).each do |nspin|
|
|
171
173
|
result.concat nspin.domains
|
|
@@ -178,7 +180,7 @@ module Solargraph
|
|
|
178
180
|
@named_macros ||= begin
|
|
179
181
|
result = {}
|
|
180
182
|
pins.each do |pin|
|
|
181
|
-
pin.macros.select{|m| m.tag.tag_name == 'macro' && !m.tag.text.empty? }.each do |macro|
|
|
183
|
+
pin.macros.select { |m| m.tag.tag_name == 'macro' && !m.tag.text.empty? }.each do |macro|
|
|
182
184
|
next if macro.tag.name.nil? || macro.tag.name.empty?
|
|
183
185
|
result[macro.tag.name] = macro
|
|
184
186
|
end
|
|
@@ -199,7 +201,7 @@ module Solargraph
|
|
|
199
201
|
index.pins_by_class klass
|
|
200
202
|
end
|
|
201
203
|
|
|
202
|
-
# @param fqns [String]
|
|
204
|
+
# @param fqns [String, nil]
|
|
203
205
|
# @return [Array<Solargraph::Pin::Namespace>]
|
|
204
206
|
def fqns_pins fqns
|
|
205
207
|
return [] if fqns.nil?
|
|
@@ -217,7 +219,7 @@ module Solargraph
|
|
|
217
219
|
# Get all ancestors (superclasses, includes, prepends, extends) for a namespace
|
|
218
220
|
# @param fqns [String] The fully qualified namespace
|
|
219
221
|
# @return [Array<String>] Array of ancestor namespaces including the original
|
|
220
|
-
def get_ancestors
|
|
222
|
+
def get_ancestors fqns
|
|
221
223
|
return [] if fqns.nil? || fqns.empty?
|
|
222
224
|
|
|
223
225
|
ancestors = [fqns]
|
|
@@ -244,8 +246,11 @@ module Solargraph
|
|
|
244
246
|
next if refs.nil?
|
|
245
247
|
# @param ref [String]
|
|
246
248
|
refs.map(&:type).map(&:to_s).each do |ref|
|
|
249
|
+
# @sg-ignore flow sensitive typing should be able to handle redefinition
|
|
247
250
|
next if ref.nil? || ref.empty? || visited.include?(ref)
|
|
251
|
+
# @sg-ignore flow sensitive typing should be able to handle redefinition
|
|
248
252
|
ancestors << ref
|
|
253
|
+
# @sg-ignore flow sensitive typing should be able to handle redefinition
|
|
249
254
|
queue << ref
|
|
250
255
|
end
|
|
251
256
|
end
|
|
@@ -257,7 +262,7 @@ module Solargraph
|
|
|
257
262
|
# @param fqns [String]
|
|
258
263
|
#
|
|
259
264
|
# @return [Array<Solargraph::Pin::Reference>]
|
|
260
|
-
def get_ancestor_references
|
|
265
|
+
def get_ancestor_references fqns
|
|
261
266
|
(get_prepends(fqns) + get_includes(fqns) + [get_superclass(fqns)]).compact
|
|
262
267
|
end
|
|
263
268
|
|
|
@@ -266,6 +271,12 @@ module Solargraph
|
|
|
266
271
|
@constants ||= Constants.new(self)
|
|
267
272
|
end
|
|
268
273
|
|
|
274
|
+
# @param name [String]
|
|
275
|
+
# @return [ComplexType, nil]
|
|
276
|
+
def unalias name
|
|
277
|
+
index.alias_hash[name]
|
|
278
|
+
end
|
|
279
|
+
|
|
269
280
|
private
|
|
270
281
|
|
|
271
282
|
# @return [Index]
|
|
@@ -275,7 +286,7 @@ module Solargraph
|
|
|
275
286
|
|
|
276
287
|
# @param pinsets [Array<Array<Pin::Base>>]
|
|
277
288
|
#
|
|
278
|
-
# @return [
|
|
289
|
+
# @return [true]
|
|
279
290
|
def catalog pinsets
|
|
280
291
|
@pinsets = pinsets
|
|
281
292
|
# @type [Array<Index>]
|
|
@@ -308,7 +319,7 @@ module Solargraph
|
|
|
308
319
|
index.pins_by_class(Pin::Symbol)
|
|
309
320
|
end
|
|
310
321
|
|
|
311
|
-
# @return [Hash{String => Array<
|
|
322
|
+
# @return [Hash{String => Array<Pin::Reference::Superclass>}]
|
|
312
323
|
def superclass_references
|
|
313
324
|
index.superclass_references
|
|
314
325
|
end
|
|
@@ -347,7 +358,7 @@ module Solargraph
|
|
|
347
358
|
|
|
348
359
|
# @param fqns [String]
|
|
349
360
|
# @return [Pin::Reference::Superclass, nil]
|
|
350
|
-
def try_special_superclasses
|
|
361
|
+
def try_special_superclasses fqns
|
|
351
362
|
return OBJECT_SUPERCLASS_PIN if fqns == 'Boolean'
|
|
352
363
|
return OBJECT_SUPERCLASS_PIN if !%w[BasicObject Object].include?(fqns) && namespace_exists?(fqns)
|
|
353
364
|
|