sorbet 0.4.5095 → 0.4.5135

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: f9254db3554e9b57faa24c192c0a6c12b53f468f
4
- data.tar.gz: be79bc2c1fe8ee69adb787bdabc11ba2a09982a0
3
+ metadata.gz: bf19f8280cee10aa9738268727afab501e1bf751
4
+ data.tar.gz: 2dccb9e6292953ae9cbfd59ba736d63fc4264bb6
5
5
  SHA512:
6
- metadata.gz: 65e7e6988b02f44089c6afdc27223088fa0b0457d3acec8af88f4f6829129a0b23cf6b79c8e370d9cb1562ced791fc0eaf4167f3027e87c6c62f7789fdbdfaca
7
- data.tar.gz: 578886ef6d7e9169288210457107658be66fad7cdea9cb0176eaebda61e4b76213f7234c6e793768bf152d53d76fe09ad6e21d019ecc444775387613fd8defee
6
+ metadata.gz: 8091b4d40e61d0cac2e8237367a4ba6ebb7c68a6a56304aa01ea49cfc1d8c40d921d9beef74a3a85fd08a018bbfbcabb8e6ae5e36ddc79adad92773906638bce
7
+ data.tar.gz: e701d09faacf3041fd94a76bdf6800f2c07c3032d86e302b1a4331c4d1b8c364fa73ab0aff6a4f2c3b7e21422d4bd4f7725897f34c2c2ff39de751862cdc751b
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) }
data/lib/gem_loader.rb CHANGED
@@ -559,7 +559,11 @@ class Sorbet::Private::GemLoader
559
559
  puts "NameError: #{e}"
560
560
  end
561
561
  else
562
- require gem # rubocop:disable PrisonGuard/NoDynamicRequire
562
+ begin
563
+ require gem # rubocop:disable PrisonGuard/NoDynamicRequire
564
+ rescue NameError => e
565
+ puts "NameError: #{e}"
566
+ end
563
567
  end
564
568
  end
565
569
 
@@ -579,10 +583,17 @@ class Sorbet::Private::GemLoader
579
583
  specs.sort_by(&:name).each do |gemspec|
580
584
  begin
581
585
  require_gem(gemspec.name)
582
- rescue LoadError
586
+ rescue LoadError => e
587
+ puts "LoadError: #{e}"
588
+ rescue NameError => e
589
+ puts "NameError: #{e}"
583
590
  end
584
591
  end
585
- Bundler.require
592
+ begin
593
+ Bundler.require
594
+ rescue NameError => e
595
+ puts "NameError: #{e}"
596
+ end
586
597
  end
587
598
  end
588
599
  # rubocop:enable PrisonGuard/AutogenLoaderPreamble
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.5095
4
+ version: 0.4.5135
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-03 00:00:00.000000000 Z
11
+ date: 2019-12-10 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.5095
19
+ version: 0.4.5135
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.5095
26
+ version: 0.4.5135
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: minitest
29
29
  requirement: !ruby/object:Gem::Requirement