mbt-gen 0.0.13 → 0.0.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 112610c6e247d3de6fc7c69afc0a668659dbcffc9ee1786967bf4a69d9586520
4
- data.tar.gz: d0eea35ebf9689ca1bead1e9efe8e8f2a96b75d45b644484875e383927dd2b91
3
+ metadata.gz: a735505ef6ca3f6784860c7a01aa8abafdcfed996095718d94ed2caeee517c6a
4
+ data.tar.gz: 1822f83dfae7c22337e3754fe204955b02861a33f13558034a331092235d2c06
5
5
  SHA512:
6
- metadata.gz: 137856eff73bfde902b67a9bdc97426253b036a79be6d1b6e912ceaa6012a27bb27715d3de26fb75210602985b8e8bdbe6e43cf15db8edb4f931db69f9b16c5d
7
- data.tar.gz: 37e9195a691a211aca006aef7ba57cfc5a91d46f61327acd0297385911f8d29fe4b60dcd77a3514a3b5565aff7d5517d92413e3a80005eff1b24c204bd83c87e
6
+ metadata.gz: 36a74c094e81a175ecc802dcd93f5da64660ff84712672752b95d139f17985945814b6ce84e7910f286c1b2f229cdb8a026b8c42049ef4779f5b36af9c47d465
7
+ data.tar.gz: 98307fab8e79ca0df312ff6a6375cc02c103c025e0bde84cc3fbf350e88b1062ffe93603bba0212344d51025ef839602d12e4389ea4f94f31a3c29208cc5f63b
data/lib/mbt-gen.rb CHANGED
@@ -628,7 +628,7 @@ def translate_validation_rule_to_SMTLIB(rule, context_struct, prefix, config, op
628
628
  raise RuntimeError.new("could not parse LIST_VALUE_FIRST_ELEMENT[...]: #{m.inspect} in validation rule #{rule_name}")
629
629
  end
630
630
  xpath = $1
631
- index = Integer($2)
631
+ index = Integer($2, 10)
632
632
  l = resolve_field_path(xpath, context_struct, prefix)
633
633
  value_var_for_list(l, index)
634
634
  end
@@ -724,7 +724,7 @@ def translate_validation_rule_to_SMTLIB(rule, context_struct, prefix, config, op
724
724
  end
725
725
  elsif fdef[:datatype] == :int then
726
726
  terms = values.filter{|l| !l.start_with?("#")}.map do |val|
727
- "(= #{value_var_for_field(fpath)} #{Integer(val)})"
727
+ "(= #{value_var_for_field(fpath)} #{Integer(val, 10)})"
728
728
  end
729
729
  else
730
730
  raise RuntimeError.new("FIELD_IN_QUERY[] was applied to a field of datatype #{fdef[:datatype].inspect}. However, it can only be applied to fields of datatype string or int.")
@@ -793,7 +793,7 @@ def parse_field_value(fielddef, value)
793
793
  datatype = fielddef[:datatype]
794
794
  case datatype
795
795
  when :int
796
- return Integer(value)
796
+ return Integer(value, 10)
797
797
  when :string
798
798
  return solver_value_to_string(value)
799
799
  when :enum
@@ -878,8 +878,8 @@ def add_max_struct_to_doc(progress, struct, doc, prefix = nil)
878
878
  node = node.first
879
879
  end
880
880
  xpath_element = value[:xpath_element]
881
- if Integer(value[:model_maxLength]) > 0 then
882
- Integer(value[:model_maxLength]).times do |i|
881
+ if Integer(value[:model_maxLength], 10) > 0 then
882
+ Integer(value[:model_maxLength], 10).times do |i|
883
883
  node.add_child("<#{xpath_element}>#{format_solver_value(value, pick_solver_value_for_field(value))}</#{xpath_element}>")
884
884
  end
885
885
  end
@@ -941,8 +941,8 @@ def add_model_struct_to_doc(progress, struct, doc, model, prefix = nil)
941
941
  node = node.first
942
942
  end
943
943
  xpath_element = value[:xpath_element]
944
- if Integer(model_value[:size]) > 0 then
945
- model_value[:value].slice(0, Integer(model_value[:size])).each do |mvalue|
944
+ if Integer(model_value[:size], 10) > 0 then
945
+ model_value[:value].slice(0, Integer(model_value[:size], 10)).each do |mvalue|
946
946
  node.add_child("<#{xpath_element}>#{solver_value_to_string(mvalue)}</#{xpath_element}>")
947
947
  end
948
948
  end
@@ -952,7 +952,7 @@ def add_model_struct_to_doc(progress, struct, doc, model, prefix = nil)
952
952
  node = node.first
953
953
  end
954
954
  xpath_element = value[:xpath_element]
955
- if Integer(model_value[:size]) > 0 then
955
+ if Integer(model_value[:size], 10) > 0 then
956
956
  model_value[:size].times do |index|
957
957
  cnode = node.add_child("<#{xpath_element}></#{xpath_element}>")
958
958
  if cnode.is_a?(Nokogiri::XML::NodeSet) then
@@ -1328,7 +1328,7 @@ def z3ValueToRubyValue(value)
1328
1328
  if value =~ /\"(.*)\"/ then # string
1329
1329
  return $1
1330
1330
  elsif value =~ /\d+/ then # int
1331
- return Integer(value)
1331
+ return Integer(value, 10)
1332
1332
  elsif value == "true"
1333
1333
  return true
1334
1334
  elsif value == "false" then
@@ -1596,7 +1596,7 @@ def default_parser_for_type(value_str, datatype)
1596
1596
  if datatype == :string or datatype == :enum then
1597
1597
  value_str
1598
1598
  elsif datatype == :int then
1599
- Integer(value_str)
1599
+ Integer(value_str, 10)
1600
1600
  elsif datatype == :date then
1601
1601
  Date.parse(value_str)
1602
1602
  elsif datatype == :timestamp then
@@ -1819,12 +1819,12 @@ class CoreEnumerationAlgo
1819
1819
 
1820
1820
  def self.parse_continuation_point(line)
1821
1821
  split = line.split(";")
1822
- doc_number = Integer(split[0])
1823
- num_docs = Integer(split[1])
1822
+ doc_number = Integer(split[0], 10)
1823
+ num_docs = Integer(split[1], 10)
1824
1824
  state = CoreEnumerationAlgo.parse_state(split[2])
1825
1825
  assignment = CoreEnumerationAlgo.parse_assignment(split[3])
1826
1826
  new_assignment = CoreEnumerationAlgo.parse_assignment(split[4])
1827
- processessing_time = Integer(split[5])
1827
+ processessing_time = Integer(split[5], 10)
1828
1828
  return [doc_number, num_docs, state, assignment, new_assignment, processessing_time]
1829
1829
  end
1830
1830
 
@@ -2523,7 +2523,7 @@ def generate(message, argv, message_config_filename = nil)
2523
2523
  elsif opt == "-generate-docs-from" then
2524
2524
  options[:combination_source] = argv.shift
2525
2525
  elsif opt == "-skip" then
2526
- options[:skip] = Integer(argv.shift)
2526
+ options[:skip] = Integer(argv.shift, 10)
2527
2527
  elsif opt == "-generate-docs-for-key" then
2528
2528
  options[:docs_for_key] = argv.shift
2529
2529
  elsif opt == "-count-docs-for-key" then
@@ -2531,7 +2531,7 @@ def generate(message, argv, message_config_filename = nil)
2531
2531
  elsif opt == "-continue" then
2532
2532
  options[:continue] = true
2533
2533
  elsif opt == "-max-num-docs" then
2534
- options[:max_num_docs] = Integer(argv.shift)
2534
+ options[:max_num_docs] = Integer(argv.shift, 10)
2535
2535
  puts "flag -max-num-docs used. Will stop after generating #{options[:max_num_docs]} documents."
2536
2536
  elsif opt == "-validate" then
2537
2537
  if options.has_key?(:validate_files) then
@@ -84,8 +84,8 @@ class Regexp_to_SMTLIB
84
84
  return "(re.opt #{expr})"
85
85
  elsif multiplicator =~ /\{(\d+),(\d+)\}/ then
86
86
  begin
87
- lower = Integer($1)
88
- upper = Integer($2)
87
+ lower = Integer($1, 10)
88
+ upper = Integer($2, 10)
89
89
  rescue TypeError => e
90
90
  raise RuntimeError.new("cannot parse regexp (#{$1} or #{$2} is no Integer)")
91
91
  end
@@ -117,4 +117,4 @@ class Regexp_to_SMTLIB
117
117
  end
118
118
 
119
119
 
120
- end
120
+ end
data/lib/solver-lib.rb CHANGED
@@ -337,7 +337,7 @@ class SolverFactory
337
337
  unless varname =~ /-index-(\d+)-value$/
338
338
  raise RuntimeError.new("inconsistent model: xpath #{xpath} is a list value and hence its varname should end like -index-X-value, not #{varname.inspect}.")
339
339
  end
340
- index = Integer($1)
340
+ index = Integer($1, 10)
341
341
  model[xpath][:xpath_element] = info[:xpath_element]
342
342
  if model[xpath].has_key?(:value) then
343
343
  val = convert_solver_value(info[:type], info[:datatype], value, xpath)
@@ -354,7 +354,7 @@ class SolverFactory
354
354
  if model[xpath][:type] == :field then
355
355
  model[xpath][:type] = :list
356
356
  end
357
- model[xpath][:size] = Integer(value)
357
+ model[xpath][:size] = Integer(value, 10)
358
358
  elsif varname.start_with?("struct-") && varname.end_with?("-exists") then
359
359
  unless model[xpath][:type] == :struct then
360
360
  raise RuntimeError.new("inconsistent model: xpath #{xpath} should be a struct, not a #{model[xpath][:type]}.")
@@ -403,9 +403,9 @@ class SolverFactory
403
403
  def convert_solver_value(type, datatype, value, xpath)
404
404
  check_type(type, value, xpath)
405
405
  if datatype == :date then
406
- return (Time.at(0).to_date + Integer(value)).to_s
406
+ return (Time.at(0).to_date + Integer(value, 10)).to_s
407
407
  elsif datatype == :timestamp then
408
- return Time.at(Integer(value)).to_s
408
+ return Time.at(Integer(value, 10)).to_s
409
409
  else
410
410
  return value
411
411
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mbt-gen
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.13
4
+ version: 0.0.13.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - FM-enthusiast
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-11-01 00:00:00.000000000 Z
11
+ date: 2026-11-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri