sorbet 0.5.5716 → 0.5.5725

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 (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/constant_cache.rb +22 -1
  3. metadata +4 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8299fdee4709a979d486278ed8f65c4278b0bace
4
- data.tar.gz: a69b0111705cfd5d29e28048466efbcb40784572
3
+ metadata.gz: 23ebb498dc6cb00474bac0a9eebd9428ca821635
4
+ data.tar.gz: db9d27b9ea57c717d3e3a7ec9731b894d4f9bbae
5
5
  SHA512:
6
- metadata.gz: 9d993e2468bd77618e4759b8f8b5ea110d384086183febc37a17c9fc3cce5da1654117b0c0278bbaef353ac21fd8566777112c8e1bed3de088a278ed43c644ef
7
- data.tar.gz: 6fa36b8219e894685baa72aaaa6b30582e18edb452b4ecbb72c05836a60cb6cdb2f57c453485d548515f944ee67c76e98dd6eaeda96299ae9b0477b613311e0a
6
+ metadata.gz: 434e7245cfbb3894125835c01b382de3a2b896ce8abe75f39b0ac2fdac687fa850073e6897b4b5fcd095668c4052f7dff77cb344178a94a65bb91dae4c8cc2d3
7
+ data.tar.gz: 2fb48cf0d27d3180d6f7be5e89f133ee7c02900b9e08a443190dba13c80e7aef5a8363061cc8a1f08983955712d2a113db10a7bba503c8e984daeb3a5cfa6038
@@ -97,7 +97,27 @@ class Sorbet::Private::ConstantLookupCache
97
97
 
98
98
  @all_constants.map do |_key, struct|
99
99
  next if struct.nil? || !Sorbet::Private::RealStdlib.real_is_a?(struct.const, Module) || struct.aliases.size < 2
100
- ret[struct.primary_name] = struct.aliases.reject {|name| name == struct.primary_name}
100
+ if struct.owner != nil
101
+ ret[struct.primary_name] = struct.aliases.reject do |name|
102
+ # ignore the primary
103
+ next true if name == struct.primary_name
104
+
105
+ prefix, _, _ = name.rpartition('::')
106
+
107
+ # an alias that exists at the top-level
108
+ next false if prefix == ""
109
+
110
+ # if the prefix is the same syntactically, then this is a good alias
111
+ next false if prefix == struct.owner.primary_name
112
+
113
+ # skip the alias if the owner is the same
114
+ other_owner_const = Sorbet::Private::RealStdlib.real_const_get(Object, prefix, false)
115
+ struct.owner.const == other_owner_const
116
+ end
117
+ else
118
+ # top-level names
119
+ ret[struct.primary_name] = struct.aliases.reject {|name| name == struct.primary_name }
120
+ end
101
121
  end
102
122
  ret
103
123
  end
@@ -155,6 +175,7 @@ class Sorbet::Private::ConstantLookupCache
155
175
  if maybe_seen_already
156
176
  if nested_name != maybe_seen_already.primary_name
157
177
  maybe_seen_already.aliases << nested_name
178
+ maybe_seen_already.owner = owner
158
179
  end
159
180
  if maybe_seen_already.primary_name.nil? && Sorbet::Private::RealStdlib.real_is_a?(nested_constant, Module)
160
181
  realName = Sorbet::Private::RealStdlib.real_name(nested_constant)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sorbet
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.5716
4
+ version: 0.5.5725
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stripe
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-06-02 00:00:00.000000000 Z
11
+ date: 2020-06-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sorbet-static
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 0.5.5716
19
+ version: 0.5.5725
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 0.5.5716
26
+ version: 0.5.5725
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: minitest
29
29
  requirement: !ruby/object:Gem::Requirement