sorbet 0.5.5716 → 0.5.5725

Sign up to get free protection for your applications and to get access to all the features.
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