sorbet-runtime 0.5.5943 → 0.5.5967

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f3b8f8bd01297dd12cefbc3650ac4381c14514644a98716a5dc8f3d68117ee6a
4
- data.tar.gz: 501998cb4313a9452df0018b7bfd119550aac6c89701adf2bda6cf11de7cd2e3
3
+ metadata.gz: 42f63317cef0402a5724af30535c848a16f290a3327d4d83c65d6e74cb390eba
4
+ data.tar.gz: b9925c4d8e5a035d532b4f7afe93a1ce914402f5dc4035546a0109f703384fa9
5
5
  SHA512:
6
- metadata.gz: b55f51a5bdb75aa3ff62f2d589351775b8843156a70c2decade88ed5585ff1022efb60610e10ad637859e74eedc6e65bc564a18a1f94fd3ba3b4f50f214c61b6
7
- data.tar.gz: 93d23d07204fb9354ed65cf533ab3ba860f7361130fead01dd935aebe967a7f76794c8e1e44c1c595a38954cf848bf992bc8daefb25cd5b68c4a7857a85912f1
6
+ metadata.gz: 9b2cb19a9c56190180e0d95c0e7719a965247c025524b286411807b8e69f816cfb1faf97effa75cfd83d901a90a9005451e88417b97e03d0b2cc63eaa80a267a
7
+ data.tar.gz: 5a6e323273d397d345624db5f4d80aa11742fb7efb912320e08afc39833bbb03d2f6b370ac82f41479720feb20868e5d52159c2d644a8a16a2e7e1b0157065d4
@@ -251,7 +251,7 @@ class T::Enum
251
251
 
252
252
 
253
253
  sig {params(serialized_val: SerializedVal).void}
254
- private def initialize(serialized_val=nil)
254
+ def initialize(serialized_val=nil)
255
255
  raise 'T::Enum is abstract' if self.class == T::Enum
256
256
  if !self.class.started_initializing?
257
257
  raise "Must instantiate all enum values of #{self.class} inside 'enums do'."
@@ -7,6 +7,11 @@ module T::Private::Sealed
7
7
  super
8
8
  this_line = Kernel.caller.find {|line| !line.match(/in `inherited'$/)}
9
9
  T::Private::Sealed.validate_inheritance(this_line, self, 'inherited')
10
+ @sorbet_sealed_module_all_subclasses << other
11
+ end
12
+
13
+ def sealed_subclasses
14
+ @sorbet_sealed_module_all_subclasses
10
15
  end
11
16
  end
12
17
 
@@ -15,12 +20,21 @@ module T::Private::Sealed
15
20
  super
16
21
  this_line = Kernel.caller.find {|line| !line.match(/in `included'$/)}
17
22
  T::Private::Sealed.validate_inheritance(this_line, self, 'included')
23
+ @sorbet_sealed_module_all_subclasses << other
18
24
  end
19
25
 
20
26
  def extended(other)
21
27
  super
22
28
  this_line = Kernel.caller.find {|line| !line.match(/in `extended'$/)}
23
29
  T::Private::Sealed.validate_inheritance(this_line, self, 'extended')
30
+ @sorbet_sealed_module_all_subclasses << other
31
+ end
32
+
33
+ def sealed_subclasses
34
+ # this will freeze the set so that you can never get into a
35
+ # state where you use the subclasses list and then something
36
+ # else will add to it
37
+ @sorbet_sealed_module_all_subclasses.freeze
24
38
  end
25
39
  end
26
40
 
@@ -39,6 +53,7 @@ module T::Private::Sealed
39
53
  raise "Couldn't determine declaration file for sealed class."
40
54
  end
41
55
  mod.instance_variable_set(:@sorbet_sealed_module_decl_file, decl_file)
56
+ mod.instance_variable_set(:@sorbet_sealed_module_all_subclasses, Set.new)
42
57
  end
43
58
 
44
59
  def self.sealed_module?(mod)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sorbet-runtime
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.5943
4
+ version: 0.5.5967
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stripe
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-10-10 00:00:00.000000000 Z
11
+ date: 2020-10-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest