sorbet 0.4.5109 → 0.4.5129

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
  SHA1:
3
- metadata.gz: 2ef693ca3caa35b14b4f9f33cc5d52ba2aec16a9
4
- data.tar.gz: 28a22a9948f48962219855d39a0e02a022dc19eb
3
+ metadata.gz: 151546f4aafacfd98cd6fb512a6b40276e3a4003
4
+ data.tar.gz: 924d9d6696c3f40c7afd085674972c2a7c3850e7
5
5
  SHA512:
6
- metadata.gz: 03db6317bd23df81a5ba1be4d1ac09d27806139c83ec7a5a0b849922f1304b1df3e69bd19482158c0cab5a1dc83c1ec210725a4803f08d9fad124a4ae844f03a
7
- data.tar.gz: 7334e5cc457f89ea206d2941dd769245c87b187720ffcf8877bec43a2d2fbac70bc24326fcb5a76e212f32981cc736cf5cf16fde18bf0082cd1aed6166191805
6
+ metadata.gz: 649c1d6224da092a9eb6d286ba4fdf6871252cd08fcc1aa3d7b98d41ce0c6ca1c1679680ed0bdf54a33e176a135a46857a13ec396652ca6a0af7a77fe50a8b7e
7
+ data.tar.gz: e8660ee3741a4eb94597d4896f42923b53b90bbdb49c9f8da0d0ce6c7f8867873a2f27b0555fc40e47003dff458eca7668512d62d3266356754fb35e586df34e
data/bin/srb CHANGED
@@ -70,6 +70,7 @@ typecheck() {
70
70
  version_suffix="${without_bin_srb##*/sorbet}"
71
71
  # /path/to/gems
72
72
  gems_path="${without_bin_srb%/sorbet*}"
73
+
73
74
  # /path/to/gems/sorbet-static-0.0.1-darwin-17/libexec/sorbet
74
75
  # (assumes people only have one platform-depdendent gem installed per version)
75
76
  guess_sorbet=("$gems_path/sorbet-static$version_suffix"*/libexec/sorbet)
@@ -83,6 +84,27 @@ typecheck() {
83
84
  sorbet="$(VISUAL=echo gem open sorbet-static -v "${version}")/libexec/sorbet"
84
85
  fi
85
86
 
87
+ # if we still don't know the sorbet binary
88
+ # perhaps this is the java platform
89
+ if ! [[ -f "${sorbet}" ]]; then
90
+ if gem env platform | grep -q "java"; then
91
+ # certain platforms (i.e. java) include multiple binaries
92
+ # mac.sorbet & linux.sorbet -- since they can't use the host platform (i.e. darwin or linux)
93
+ # to collect the correct sorbet binary
94
+ case "$(uname -s)" in
95
+ Linux*) prefix="linux.";;
96
+ Darwin*) prefix="mac.";;
97
+ *) prefix=""
98
+ esac
99
+
100
+ guess_sorbet=("$gems_path/sorbet-static$version_suffix"*/libexec/"${prefix}sorbet")
101
+ if [[ -f "${guess_sorbet[0]}" ]]; then
102
+ sorbet="${guess_sorbet[0]}"
103
+ fi
104
+
105
+ fi
106
+ fi
107
+
86
108
  # shellcheck disable=SC2086
87
109
  "${sorbet}" "${args[@]}"
88
110
  fi
@@ -215,8 +215,9 @@ module Sorbet::Private
215
215
  def gem_from_location(location)
216
216
  match =
217
217
  location&.match(/^.*\/(ruby)\/([\d.]+)\//) || # ruby stdlib
218
+ location&.match(/^.*\/(j?ruby)-([\d.]+)\//) || # jvm ruby stdlib
218
219
  location&.match(/^.*\/(site_ruby)\/([\d.]+)\//) || # rubygems
219
- location&.match(/^.*\/gems\/(?:ruby-)?[\d.]+(?:@[^\/]+)?(?:\/bundler)?\/gems\/([^\/]+)-([^-\/]+)\//i) # gem
220
+ location&.match(/^.*\/gems\/(?:j?ruby-)?[\d.]+(?:@[^\/]+)?(?:\/bundler)?\/gems\/([^\/]+)-([^-\/]+)\//i) # gem
220
221
  if match.nil?
221
222
  # uncomment to generate files for methods outside of gems
222
223
  # {
@@ -118,13 +118,18 @@ module Sorbet::Private
118
118
  on_module_created(tp.self)
119
119
  end
120
120
  @c_call_tracepoint = TracePoint.new(:c_call) do |tp|
121
- case tp.method_id
121
+
122
+ # older version of JRuby unfortunately returned a String
123
+ case tp.method_id.to_sym
122
124
  when :require, :require_relative
123
125
  @context_stack << []
124
126
  end
125
127
  end
126
128
  @c_return_tracepoint = TracePoint.new(:c_return) do |tp|
127
- case tp.method_id
129
+
130
+ # older version of JRuby unfortunately returned a String
131
+ method_id_sym = tp.method_id.to_sym
132
+ case method_id_sym
128
133
  when :require, :require_relative
129
134
  popped = @context_stack.pop
130
135
 
@@ -147,8 +152,13 @@ module Sorbet::Private
147
152
  begin
148
153
  tp.disable
149
154
 
150
- singleton = tp.method_id == :singleton_method_added
155
+ singleton = method_id_sym == :singleton_method_added
151
156
  receiver = singleton ? Sorbet::Private::RealStdlib.real_singleton_class(tp.self) : tp.self
157
+
158
+ # JRuby the main Object is not a module
159
+ # so lets skip it, otherwise RealStdlib#real_instance_methods raises an exception since it expects one.
160
+ next unless receiver.is_a?(Module)
161
+
152
162
  methods = Sorbet::Private::RealStdlib.real_instance_methods(receiver, false) + Sorbet::Private::RealStdlib.real_private_instance_methods(receiver, false)
153
163
  set = @modules[Sorbet::Private::RealStdlib.real_object_id(receiver)] ||= Set.new
154
164
  added = methods.find { |m| !set.include?(m) }
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.4.5109
4
+ version: 0.4.5129
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stripe
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-12-05 00:00:00.000000000 Z
11
+ date: 2019-12-06 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.4.5109
19
+ version: 0.4.5129
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.4.5109
26
+ version: 0.4.5129
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: minitest
29
29
  requirement: !ruby/object:Gem::Requirement