@@ -266,6 +266,11 @@ def all_in_scope_ext_params
266266 param_db = ext_db . params . find { |p | p . name == param_name }
267267 raise "There is no param '#{ param_name } ' in extension '#{ ext_crd [ "name" ] } " if param_db . nil?
268268
269+ next unless ext_db . versions . any? do |ver |
270+ Gem ::Requirement . new ( ext_crd [ "version" ] ) . satisfied_by? ( Gem ::Version . new ( ver [ "version" ] ) ) &&
271+ param_db . defined_in_extension_version? ( ver [ "version" ] )
272+ end
273+
269274 @all_in_scope_ext_params <<
270275 InScopeExtensionParameter . new ( param_db , param_data [ "schema" ] , param_data [ "note" ] )
271276 end
@@ -295,6 +300,11 @@ def in_scope_ext_params(ext_req)
295300 ext_param_db = ext_db . params . find { |p | p . name == param_name }
296301 raise "There is no param '#{ param_name } ' in extension '#{ ext_crd [ "name" ] } " if ext_param_db . nil?
297302
303+ next unless ext_db . versions . any? do |ver |
304+ Gem ::Requirement . new ( ext_crd [ "version" ] ) . satisfied_by? ( Gem ::Version . new ( ver [ "version" ] ) ) &&
305+ ext_param_db . defined_in_extension_version? ( ver [ "version" ] )
306+ end
307+
298308 ext_params <<
299309 InScopeExtensionParameter . new ( ext_param_db , param_data [ "schema" ] , param_data [ "note" ] )
300310 end
@@ -308,8 +318,15 @@ def all_out_of_scope_params
308318
309319 @all_out_of_scope_params = [ ]
310320 in_scope_ext_reqs . each do |ext_req |
311- @arch_def . extension ( ext_req . name ) . params . each do |param_db |
321+ ext_db = @arch_def . extension ( ext_req . name )
322+ ext_db . params . each do |param_db |
312323 next if all_in_scope_ext_params . any? { |c | c . param_db . name == param_db . name }
324+
325+ next unless ext_db . versions . any? do |ver |
326+ Gem ::Requirement . new ( ext_req . version_requirement ) . satisfied_by? ( Gem ::Version . new ( ver [ "version" ] ) ) &&
327+ param_db . defined_in_extension_version? ( ver [ "version" ] )
328+ end
329+
313330 @all_out_of_scope_params << param_db
314331 end
315332 end
0 commit comments