ridl 2.7.0 → 2.7.1

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: 18e62df6c0bae092d3d8f3da6ab5cf8fad2fadfe5e839c72d59660868c187f1a
4
- data.tar.gz: 5a51e665b994e566b6579e7f76dab959947b1294ddacc7bd566febef1dbe1766
3
+ metadata.gz: 87ce802ae63d060ff0417d998795740726aaf67f631484735aa56191404bf78d
4
+ data.tar.gz: 888f4de7ff1a2146928c42b60298d6662d765dd7406c43287457182a81deb4ab
5
5
  SHA512:
6
- metadata.gz: d6cce4394f7a366135dd636f935ea90348cba4c2bd20aa95d9f712a88c45cfaacdc82381039e329c1be1bb3d34f9fe70269a1891296ea63179ad8cea0c39ee77
7
- data.tar.gz: b2eda0b126d08ed4cdb66bfbd7795b8f7660b45e24776fb655267885f07a444cd47e8fea42fc3893f464ec63fa3ef5e08b722549f9f90425d9708b702382699c
6
+ metadata.gz: d3c4384299da19d91f593c578003615949962270392ee9293296341bd15ccf72c29cd8e304feefc777d2d408b36b67c830f44154b27d86589c98b79e32ec9e7d
7
+ data.tar.gz: 8717656df74c22c74e23acbf8e80748e646ece8be1e68131126c5d58e64ce093c038e9687b44c8042a119bc66bbb2b77ab73001a7678b234ca1b7f6c8d5710e0
@@ -1,5 +1,6 @@
1
1
  {<img src="https://badge.fury.io/rb/ridl.svg" alt="Gem Version" />}[https://badge.fury.io/rb/ridl]
2
2
  {<img src="https://dev.azure.com/remedyit/axcioma/_apis/build/status/ridl?branchName=master" alt="Azure pipeline" />}[https://dev.azure.com/remedyit/axcioma/_build?definitionId=7&_a=summary]
3
+ {<img src="https://www.codefactor.io/repository/github/remedyit/ridl/badge" alt="CodeFactor" />}[https://www.codefactor.io/repository/github/remedyit/ridl]
3
4
 
4
5
  = RIDL Compiler
5
6
 
@@ -44,4 +45,4 @@ The RIDL Gem is a Ruby-only Gem without any dependencies.
44
45
 
45
46
  == Releasing new RIDL Ruby Gem
46
47
 
47
- A new RIDL ruby gem release can be made by incrementing the RIDL version in link:lib/ridl/version.rb and create a new release on {github}[https://github.com/RemedyIT/ridl/releases] matching the new version (for example v2.7.0). The github {Ruby Gem Release}:https://github.com/RemedyIT/ridl/actions?query=workflow%3A%22Ruby+Gem+Release%22 action will automatically create a new gem and push it to {Rubygems.org}[https://www.rubygems.org/gems/ridl].
48
+ A new RIDL ruby gem release can be made by incrementing the RIDL version in link:lib/ridl/version.rb and create a new release on {github}[https://github.com/RemedyIT/ridl/releases] matching the new version (for example v2.7.0). The github {Ruby Gem Release}[https://github.com/RemedyIT/ridl/actions?query=workflow%3A%22Ruby+Gem+Release%22] action will automatically create a new gem and push it to {Rubygems.org}[https://www.rubygems.org/gems/ridl].
@@ -25,7 +25,7 @@ class Delegator
25
25
  @@pragma_handlers = {}
26
26
 
27
27
  def self.add_pragma_handler(key, h = nil, &block)
28
- raise RuntimeError, 'add_pragma_handler requires a callable object or a block' unless (h && h.respond_to?(:call)) || block_given?
28
+ raise 'add_pragma_handler requires a callable object or a block' unless (h && h.respond_to?(:call)) || block_given?
29
29
  @@pragma_handlers[key] = block_given? ? block : h
30
30
  end
31
31
 
@@ -201,7 +201,7 @@ class Delegator
201
201
  when IDL::AST::Enumerator
202
202
  w.visit_enumerator(m)
203
203
  else
204
- raise RuntimeError, "Invalid IDL member type for walkthrough: #{m.class.name}"
204
+ raise "Invalid IDL member type for walkthrough: #{m.class.name}"
205
205
  end
206
206
  end
207
207
 
@@ -304,7 +304,7 @@ class Delegator
304
304
 
305
305
  def define_template_module(global, names)
306
306
  if global || names.size>1
307
- raise RuntimeError, "no scoped identifier allowed for template module: #{(global ? '::' : '')+names.join('::')}"
307
+ raise "no scoped identifier allowed for template module: #{(global ? '::' : '')+names.join('::')}"
308
308
  end
309
309
  @cur = @cur.define(IDL::AST::TemplateModule, names[0])
310
310
  @cur.annotations.concat(@annotation_stack) unless @annotation_stack.empty?
@@ -332,7 +332,7 @@ class Delegator
332
332
  @template_module_name = nil # reset
333
333
  template_type = parse_scopedname(*tmp)
334
334
  unless template_type.node.is_a?(IDL::AST::TemplateModule)
335
- raise RuntimeError, "invalid module template specification: #{template_type.node.typename} #{template_type.node.scoped_lm_name}"
335
+ raise "invalid module template specification: #{template_type.node.typename} #{template_type.node.scoped_lm_name}"
336
336
  end
337
337
  params = { :template => template_type.node, :template_params => parameters }
338
338
  mod_inst = @cur.define(IDL::AST::Module, name, params)
@@ -358,8 +358,7 @@ class Delegator
358
358
  params[:local] = attrib == :local
359
359
  params[:forward] = true
360
360
  params[:pseudo] = false
361
- raise RuntimeError,
362
- "annotations with forward declaration of #{name} not allowed" unless @annotation_stack.empty?
361
+ raise "annotations with forward declaration of #{name} not allowed" unless @annotation_stack.empty?
363
362
  @cur.define(IDL::AST::Interface, name, params)
364
363
  set_last
365
364
  @cur
@@ -402,8 +401,7 @@ class Delegator
402
401
  def declare_component(name)
403
402
  params = {}
404
403
  params[:forward] = true
405
- raise RuntimeError,
406
- "annotations with forward declaration of #{name} not allowed" unless @annotation_stack.empty?
404
+ raise "annotations with forward declaration of #{name} not allowed" unless @annotation_stack.empty?
407
405
  set_last
408
406
  @cur.define(IDL::AST::Component, name, params)
409
407
  end
@@ -465,8 +463,7 @@ class Delegator
465
463
  params = {}
466
464
  params[:abstract] = attrib == :abstract
467
465
  params[:forward] = true
468
- raise RuntimeError,
469
- "annotations with forward declaration of #{name} not allowed" unless @annotation_stack.empty?
466
+ raise "annotations with forward declaration of #{name} not allowed" unless @annotation_stack.empty?
470
467
  set_last
471
468
  @cur.define(IDL::AST::Eventtype, name, params)
472
469
  @cur
@@ -489,8 +486,7 @@ class Delegator
489
486
  params = {}
490
487
  params[:abstract] = attrib == :abstract
491
488
  params[:forward] = true
492
- raise RuntimeError,
493
- "annotations with forward declaration of #{name} not allowed" unless @annotation_stack.empty?
489
+ raise "annotations with forward declaration of #{name} not allowed" unless @annotation_stack.empty?
494
490
  set_last
495
491
  @cur.define(IDL::AST::Valuetype, name, params)
496
492
  @cur
@@ -562,8 +558,7 @@ class Delegator
562
558
  namelist.each do |nm|
563
559
  n = node.resolve(nm)
564
560
  if n.nil?
565
- raise RuntimeError,
566
- "cannot find type name '#{nm}' in scope '#{node.scoped_name}'"
561
+ raise "cannot find type name '#{nm}' in scope '#{node.scoped_name}'"
567
562
  end
568
563
  node = n
569
564
  first = node if first.nil?
@@ -588,8 +583,7 @@ class Delegator
588
583
  when IDL::AST::Enumerator
589
584
  Expression::Enumerator.new(node)
590
585
  else
591
- raise RuntimeError,
592
- "invalid reference to #{node.class.name}: #{node.scoped_name}"
586
+ raise "invalid reference to #{node.class.name}: #{node.scoped_name}"
593
587
  end
594
588
  end
595
589
 
@@ -607,8 +601,7 @@ class Delegator
607
601
  Type::ULongLong,
608
602
  ].detect {|t| t::Range === _value }
609
603
  if _type.nil?
610
- raise RuntimeError,
611
- "it's not a valid integer: #{v.to_s}"
604
+ raise "it's not a valid integer: #{v.to_s}"
612
605
  end
613
606
  k.new(_type.new, _value)
614
607
  when :string
@@ -633,9 +626,9 @@ class Delegator
633
626
  _expression
634
627
  else
635
628
  if not ::Integer === _expression.value
636
- raise RuntimeError, "must be integer: #{_expression.value.inspect}"
629
+ raise "must be integer: #{_expression.value.inspect}"
637
630
  elsif _expression.value < 0
638
- raise RuntimeError, "must be positive integer: #{_expression.value.to_s}"
631
+ raise "must be positive integer: #{_expression.value.to_s}"
639
632
  end
640
633
  _expression.value
641
634
  end
@@ -671,7 +664,7 @@ class Delegator
671
664
  @cur.raises = _raises || []
672
665
  @cur.context = _context
673
666
  if not @cur.context.nil?
674
- raise RuntimeError, "context phrase's not supported"
667
+ raise "context phrase's not supported"
675
668
  end
676
669
  set_last(@cur)
677
670
  @cur = @cur.enclosure
@@ -688,8 +681,7 @@ class Delegator
688
681
 
689
682
  def declare_struct(_name)
690
683
  params = { :forward => true }
691
- raise RuntimeError,
692
- "annotations with forward declaration of #{name} not allowed" unless @annotation_stack.empty?
684
+ raise "annotations with forward declaration of #{name} not allowed" unless @annotation_stack.empty?
693
685
  set_last
694
686
  @cur.define(IDL::AST::Struct, _name, params)
695
687
  @cur
@@ -732,8 +724,7 @@ class Delegator
732
724
 
733
725
  def declare_union(_name)
734
726
  params = { :forward => true }
735
- raise RuntimeError,
736
- "annotations with forward declaration of #{name} not allowed" unless @annotation_stack.empty?
727
+ raise "annotations with forward declaration of #{name} not allowed" unless @annotation_stack.empty?
737
728
  set_last
738
729
  @cur.define(IDL::AST::Union, _name, params)
739
730
  @cur
@@ -37,8 +37,7 @@ module IDL
37
37
  def initialize(node)
38
38
  if $DEBUG
39
39
  unless IDL::AST::Const === node || (IDL::AST::TemplateParam === node && node.idltype.is_a?(IDL::Type::Const))
40
- raise RuntimeError,
41
- "#{node.scoped_name} must be constant: #{node.class.name}."
40
+ raise "#{node.scoped_name} must be constant: #{node.class.name}."
42
41
  end
43
42
  end
44
43
  @node = node
@@ -69,8 +68,7 @@ module IDL
69
68
  def initialize(node)
70
69
  if $DEBUG
71
70
  if not IDL::AST::Enumerator === node
72
- raise RuntimeError,
73
- "#{node.scoped_name} must be enumerator: #{node.class.name}."
71
+ raise "#{node.scoped_name} must be enumerator: #{node.class.name}."
74
72
  end
75
73
  end
76
74
  @node = node
@@ -87,8 +85,7 @@ module IDL
87
85
  n = self.class::NUMBER_OF_OPERANDS
88
86
 
89
87
  if _operands.size != n
90
- raise RuntimeError,
91
- format("%s must receive %d operand%s.",
88
+ raise format("%s must receive %d operand%s.",
92
89
  self.typename, n, if (n>1) then "s" else "" end)
93
90
  end
94
91
 
@@ -114,8 +111,7 @@ module IDL
114
111
  def Operation.suite_type(*types)
115
112
  types.each do |t|
116
113
  if not self::Applicable.include? t.class
117
- raise RuntimeError,
118
- "#{self.name} cannot be applicable for #{t.typename}"
114
+ raise "#{self.name} cannot be applicable for #{t.typename}"
119
115
  end
120
116
  end
121
117
 
@@ -173,8 +169,7 @@ module IDL
173
169
 
174
170
  t = IDL::Type::Boolean
175
171
  if (t1 == t && t2 != t) or (t1 != t && t2 == t)
176
- raise RuntimeError,
177
- "#{self.name} about #{t1.typename} and #{t2.typename} is illegal."
172
+ raise "#{self.name} about #{t1.typename} and #{t2.typename} is illegal."
178
173
  end
179
174
  end
180
175
  end
@@ -191,8 +186,7 @@ module IDL
191
186
  # it's expected that Double, LongDouble is a Float.
192
187
  s1,s2 = IDL::Type::Float, IDL::Type::Fixed
193
188
  if (t1 === s1 && t2 === s2) or (t1 === s2 && t2 === s1)
194
- raise RuntimeError,
195
- "#{self.name} about #{t1.typename} and #{t2.typename} is illegal."
189
+ raise "#{self.name} about #{t1.typename} and #{t2.typename} is illegal."
196
190
  end
197
191
  end
198
192
  end
@@ -237,8 +231,7 @@ module IDL
237
231
  protected
238
232
  def check_rop(rop)
239
233
  if not (0...64) === rop
240
- raise RuntimeError,
241
- "right operand for shift must be in the range 0 <= right operand < 64: #{rop}."
234
+ raise "right operand for shift must be in the range 0 <= right operand < 64: #{rop}."
242
235
  end
243
236
  end
244
237
  end
@@ -109,7 +109,7 @@ module IDL
109
109
  :output_file => nil,
110
110
  :create_missing_dir => false
111
111
  }.merge(opts)
112
- if @options[:regenerate] && File.exists?(@fullpath)
112
+ if @options[:regenerate] && File.exist?(@fullpath)
113
113
  parse_regeneration_content
114
114
  else
115
115
  @content = Content.new
@@ -159,7 +159,7 @@ module IDL
159
159
  fgen = @fout
160
160
  @fout = nil
161
161
  fgen.close(false) # close but do NOT unlink
162
- if File.exists?(@fullpath)
162
+ if File.exist?(@fullpath)
163
163
  # create temporary backup
164
164
  ftmp = Tempfile.new(@name)
165
165
  ftmp_name = ftmp.path.dup
@@ -224,22 +224,22 @@ module IDL
224
224
  if regen_marker_re =~ line
225
225
  case $1
226
226
  when 'BEGIN'
227
- raise RuntimeError, "ERROR: Found unterminated regeneration section starting at #{@path}:#{in_section.last}." if in_section
227
+ raise "ERROR: Found unterminated regeneration section starting at #{@path}:#{in_section.last}." if in_section
228
228
  in_section = [$2, linenr]
229
229
  section = []
230
230
  when 'END'
231
- raise RuntimeError, "ERROR: Found unmatched regeneration end at #{@path}:#{linenr}." unless in_section && ($2 == in_section.first)
231
+ raise "ERROR: Found unmatched regeneration end at #{@path}:#{linenr}." unless in_section && ($2 == in_section.first)
232
232
  sections[$2] = section
233
233
  in_section = nil
234
234
  section = []
235
235
  when 'HEADER_END'
236
- raise RuntimeError, "ERROR: Found illegal header end marker at #{@path}:#{linenr}." unless _keep_header && in_section &&
236
+ raise "ERROR: Found illegal header end marker at #{@path}:#{linenr}." unless _keep_header && in_section &&
237
237
  ('HEADER' == in_section.first ) && (0 == in_section.last)
238
238
  sections[$2] = section
239
239
  in_section = nil
240
240
  section = []
241
241
  else
242
- raise RuntimeError, "ERROR: Found invalid regeneration marker at #{@path}:#{linenr}."
242
+ raise "ERROR: Found invalid regeneration marker at #{@path}:#{linenr}."
243
243
  end
244
244
  elsif in_section
245
245
  section << line
@@ -159,24 +159,22 @@ module IDL::AST
159
159
  def set_repo_id(id)
160
160
  if @repo_id
161
161
  if id != @repo_id
162
- raise RuntimeError,
163
- "#{self.scoped_name} already has a different repository ID assigned: #{@repo_id}"
162
+ raise "#{self.scoped_name} already has a different repository ID assigned: #{@repo_id}"
164
163
  end
165
164
  end
166
165
  id_arr = id.split(':')
167
166
  if @repo_ver
168
167
  if id_arr.first != 'IDL' or id_arr.last != @repo_ver
169
- raise RuntimeError,
170
- "supplied repository ID (#{id}) does not match previously assigned repository version for #{self.scoped_name} = #{@repo_ver}"
168
+ raise "supplied repository ID (#{id}) does not match previously assigned repository version for #{self.scoped_name} = #{@repo_ver}"
171
169
  end
172
170
  end
173
171
  # check validity of IDL format repo IDs
174
172
  if id_arr.first == 'IDL'
175
173
  id_arr.shift
176
174
  id_str = id_arr.shift.to_s
177
- raise RuntimeError, 'ID identifiers should not start or end with \'/\'' if id_str[0,1]=='/' or id_str[-1, 1]=='/'
178
- raise RuntimeError, "ID identifiers should not start with one of '#{REPO_ID_XCHARS.join("', '")}'" if REPO_ID_XCHARS.include?(id_str[0,1])
179
- raise RuntimeError, 'Invalid ID! Only a..z, A..Z, 0..9, \'.\', \'-\', \'_\' or \'\/\' allowed for identifiers' unless REPO_ID_RE =~ id_str
175
+ raise 'ID identifiers should not start or end with \'/\'' if id_str[0,1]=='/' or id_str[-1, 1]=='/'
176
+ raise "ID identifiers should not start with one of '#{REPO_ID_XCHARS.join("', '")}'" if REPO_ID_XCHARS.include?(id_str[0,1])
177
+ raise 'Invalid ID! Only a..z, A..Z, 0..9, \'.\', \'-\', \'_\' or \'\/\' allowed for identifiers' unless REPO_ID_RE =~ id_str
180
178
  end
181
179
  @repo_id = id
182
180
  end
@@ -185,15 +183,13 @@ module IDL::AST
185
183
  ver = "#{ma}.#{mi}"
186
184
  if @repo_ver
187
185
  if ver != @repo_ver
188
- raise RuntimeError,
189
- "#{self.scoped_name} already has a repository version assigned: #{@repo_ver}"
186
+ raise "#{self.scoped_name} already has a repository version assigned: #{@repo_ver}"
190
187
  end
191
188
  end
192
189
  if @repo_id
193
190
  l = @repo_id.split(':')
194
191
  if l.last != ver
195
- raise RuntimeError,
196
- "supplied repository version (#{ver}) does not match previously assigned repository ID for #{self.scoped_name}: #{@repo_id}"
192
+ raise "supplied repository version (#{ver}) does not match previously assigned repository ID for #{self.scoped_name}: #{@repo_id}"
197
193
  end
198
194
  end
199
195
  @repo_ver = ver
@@ -201,9 +197,9 @@ module IDL::AST
201
197
 
202
198
  def prefix=(pfx)
203
199
  unless pfx.to_s.empty?
204
- raise RuntimeError, 'ID prefix should not start or end with \'/\'' if pfx[0,1]=='/' or pfx[-1, 1]=='/'
205
- raise RuntimeError, "ID prefix should not start with one of '#{REPO_ID_XCHARS.join("', '")}'" if REPO_ID_XCHARS.include?(pfx[0,1])
206
- raise RuntimeError, 'Invalid ID prefix! Only a..z, A..Z, 0..9, \'.\', \'-\', \'_\' or \'\/\' allowed' unless REPO_ID_RE =~ pfx
200
+ raise 'ID prefix should not start or end with \'/\'' if pfx[0,1]=='/' or pfx[-1, 1]=='/'
201
+ raise "ID prefix should not start with one of '#{REPO_ID_XCHARS.join("', '")}'" if REPO_ID_XCHARS.include?(pfx[0,1])
202
+ raise 'Invalid ID prefix! Only a..z, A..Z, 0..9, \'.\', \'-\', \'_\' or \'\/\' allowed' unless REPO_ID_RE =~ pfx
207
203
  end
208
204
  self._set_prefix(pfx)
209
205
  end
@@ -270,8 +266,7 @@ module IDL::AST
270
266
 
271
267
  def introduce(node)
272
268
  n = (@introduced[node.intern] ||= node)
273
- raise RuntimeError,
274
- "#{node.name} is already introduced as a #{n.scoped_name} of #{n.typename}." if n != node
269
+ raise "#{node.name} is already introduced as a #{n.scoped_name} of #{n.typename}." if n != node
275
270
  end
276
271
 
277
272
  def undo_introduction(node)
@@ -279,7 +274,7 @@ module IDL::AST
279
274
  end
280
275
 
281
276
  def redefine(node, params)
282
- raise RuntimeError, "\"#{node.name}\" is already defined."
277
+ raise "\"#{node.name}\" is already defined."
283
278
  end
284
279
 
285
280
  def is_definable?(_type)
@@ -290,8 +285,7 @@ module IDL::AST
290
285
 
291
286
  def define(_type, _name, params = Hash.new)
292
287
  if not is_definable?(_type)
293
- raise RuntimeError,
294
- "#{_type.to_s} is not definable in #{self.typename}."
288
+ raise "#{_type.to_s} is not definable in #{self.typename}."
295
289
  end
296
290
  node = search_self(_name)
297
291
  if node.nil?
@@ -302,8 +296,7 @@ module IDL::AST
302
296
  @children << node
303
297
  else
304
298
  if _type != node.class
305
- raise RuntimeError,
306
- "#{_name} is already defined as a type of #{node.typename}"
299
+ raise "#{_name} is already defined as a type of #{node.typename}"
307
300
  end
308
301
  node = redefine(node, params)
309
302
  end
@@ -342,7 +335,7 @@ module IDL::AST
342
335
  key = _name.downcase.intern
343
336
  node = @introduced[key]
344
337
  if not node.nil? and node.name != _name
345
- raise RuntimeError, "\"#{_name}\" clashed with \"#{node.name}\"."
338
+ raise "\"#{_name}\" clashed with \"#{node.name}\"."
346
339
  end
347
340
  node
348
341
  end
@@ -493,10 +486,10 @@ module IDL::AST
493
486
  # forward declaration in different scope (other module section in same file or other file)
494
487
  elsif node.is_defined?
495
488
  # multiple full declarations are illegal
496
- raise RuntimeError, "#{node.typename} \"#{node.name}\" is already defined."
489
+ raise "#{node.typename} \"#{node.name}\" is already defined."
497
490
  end
498
491
  if (node.is_abstract? != params[:abstract]) || (node.is_local? != params[:local]) || (node.is_pseudo? != params[:pseudo])
499
- raise RuntimeError, "\"attributes are not the same: \"#{node.name}\"."
492
+ raise "\"attributes are not the same: \"#{node.name}\"."
500
493
  end
501
494
 
502
495
  _intf = IDL::AST::Interface.new(node.name, self, params)
@@ -521,10 +514,10 @@ module IDL::AST
521
514
  node.annotations.concat(params[:annotations])
522
515
  return node if params[:forward]
523
516
  if node.is_defined?
524
- raise RuntimeError, "#{node.typename} \"#{node.name}\" is already defined."
517
+ raise "#{node.typename} \"#{node.name}\" is already defined."
525
518
  end
526
519
  if (node.is_abstract? != params[:abstract])
527
- raise RuntimeError, "\"attributes are not the same: \"#{node.name}\"."
520
+ raise "\"attributes are not the same: \"#{node.name}\"."
528
521
  end
529
522
 
530
523
  _new_node = node.class.new(node.name, self, params)
@@ -543,7 +536,7 @@ module IDL::AST
543
536
  node.annotations.concat(params[:annotations])
544
537
  return node if params[:forward]
545
538
  if node.is_defined?
546
- raise RuntimeError, "#{node.typename} \"#{node.name}\" is already defined."
539
+ raise "#{node.typename} \"#{node.name}\" is already defined."
547
540
  end
548
541
 
549
542
  _new_node = node.class.new(node.name, self, params)
@@ -561,8 +554,7 @@ module IDL::AST
561
554
 
562
555
  return _new_node
563
556
  end
564
- raise RuntimeError,
565
- "#{node.name} is already introduced as #{node.typename} #{node.scoped_name}."
557
+ raise "#{node.name} is already introduced as #{node.typename} #{node.scoped_name}."
566
558
  end
567
559
 
568
560
  def undo_introduction(node)
@@ -629,7 +621,7 @@ module IDL::AST
629
621
  _key = _name.downcase.intern
630
622
  node = @introduced[_key]
631
623
  if not node.nil? and node.name != _name
632
- raise RuntimeError, "\"#{_name}\" clashed with \"#{node.name}\"."
624
+ raise "\"#{_name}\" clashed with \"#{node.name}\"."
633
625
  end
634
626
  if node.nil? && @next
635
627
  node = @next.search_links(_name)
@@ -696,7 +688,7 @@ module IDL::AST
696
688
  # referenced template node should have been instantiated already and available through context
697
689
  _context[_node]
698
690
  end
699
- raise RuntimeError, "cannot resolve concrete node for template #{_node.typename} #{_node.scoped_lm_name}" unless _cnode
691
+ raise "cannot resolve concrete node for template #{_node.typename} #{_node.scoped_lm_name}" unless _cnode
700
692
  _cnode
701
693
  else
702
694
  _node
@@ -736,14 +728,13 @@ module IDL::AST
736
728
  def instantiate(_module_instance, _context = {})
737
729
  # process concrete parameters
738
730
  @template_params.each_with_index do |_tp, _ix|
739
- raise RuntimeError,
740
- "missing template parameter for #{typename} #{scoped_lm_name}: #{_tp.name}" unless _ix < _module_instance.template_params.size
731
+ raise "missing template parameter for #{typename} #{scoped_lm_name}: #{_tp.name}" unless _ix < _module_instance.template_params.size
741
732
  _cp = _module_instance.template_params[_ix]
742
733
  if _cp.is_a?(IDL::Type)
743
- raise RuntimeError, "anonymous type definitions are not allowed!" if _cp.is_anonymous?
734
+ raise "anonymous type definitions are not allowed!" if _cp.is_anonymous?
744
735
  # parameter should be a matching IDL::Type
745
736
  unless _tp.idltype.is_a?(IDL::Type::Any) || _tp.idltype.class === _cp.resolved_type
746
- raise RuntimeError, "mismatched instantiation parameter \##{_ix} #{_cp.typename} for #{typename} #{scoped_lm_name}: expected #{_tp.idltype.typename} for #{_tp.name}"
737
+ raise "mismatched instantiation parameter \##{_ix} #{_cp.typename} for #{typename} #{scoped_lm_name}: expected #{_tp.idltype.typename} for #{_tp.name}"
747
738
  end
748
739
  # verify concrete parameter
749
740
  case _tp.idltype
@@ -764,19 +755,19 @@ module IDL::AST
764
755
  unless _tptype.basetype.is_a?(IDL::Type::ScopedName) &&
765
756
  _tptype.basetype.is_node?(IDL::AST::TemplateParam) &&
766
757
  _tptype.basetype.node.concrete_matches?(_cp.resolved_type.basetype)
767
- raise RuntimeError, "invalid sequence type as instantiation parameter for #{typename} #{scoped_lm_name}: expected #{_tp.idltype.typename} for #{_tp.name}"
758
+ raise "invalid sequence type as instantiation parameter for #{typename} #{scoped_lm_name}: expected #{_tp.idltype.typename} for #{_tp.name}"
768
759
  end
769
760
  end
770
761
  end
771
762
  elsif _cp.is_a?(IDL::Expression)
772
763
  # template param should be 'const <const_type>'
773
764
  unless _tp.idltype.is_a?(IDL::Type::Const)
774
- raise RuntimeError, "unexpected expression as instantiation parameter for #{typename} #{scoped_lm_name}: expected #{_tp.idltype.typename} for #{_tp.name}"
765
+ raise "unexpected expression as instantiation parameter for #{typename} #{scoped_lm_name}: expected #{_tp.idltype.typename} for #{_tp.name}"
775
766
  end
776
767
  # match constant type
777
768
  _tp.idltype.narrow(_cp.value)
778
769
  else
779
- raise RuntimeError, "invalid instantiation parameter for #{typename} #{scoped_lm_name}: #{_cp.class.name}"
770
+ raise "invalid instantiation parameter for #{typename} #{scoped_lm_name}: #{_cp.class.name}"
780
771
  end
781
772
  # if we get here all is well -> store concrete param
782
773
  _tp.set_concrete_param(_cp.is_a?(IDL::Type::ScopedName) ? _cp.node : _cp)
@@ -797,12 +788,12 @@ module IDL::AST
797
788
  def initialize(_name, _enclosure, _params)
798
789
  super(_name, _enclosure)
799
790
  unless _params[:tpl_type].is_a?(IDL::Type::ScopedName) && _params[:tpl_type].is_node?(IDL::AST::TemplateModule)
800
- raise RuntimeError, "templated module reference type required for #{typename} #{scoped_lm_name}: got #{_params[:tpl_type].typename}"
791
+ raise "templated module reference type required for #{typename} #{scoped_lm_name}: got #{_params[:tpl_type].typename}"
801
792
  end
802
793
  @template = _params[:tpl_type].resolved_type.node
803
794
  _params[:tpl_params].each do |p|
804
795
  unless (p.is_a?(IDL::Type::ScopedName) || p.is_a?(IDL::Expression::ScopedName)) && p.is_node?(IDL::AST::TemplateParam)
805
- raise RuntimeError, "invalid template module parameter for template module reference #{typename} #{scoped_lm_name}: #{p.typename}"
796
+ raise "invalid template module parameter for template module reference #{typename} #{scoped_lm_name}: #{p.typename}"
806
797
  end
807
798
  end
808
799
  @params = _params[:tpl_params].collect { |p| p.resolved_node }
@@ -940,7 +931,7 @@ module IDL::AST
940
931
  r_one = results.shift
941
932
  unless results.all? {|r| r_one == r || (r_one.class == r.class && r_one.scoped_name == r.scoped_name) }
942
933
  s = results.inject([r_one]) {|l,r| l << r unless l.include?(r); l }.collect{ |n| n.scoped_name }.join(", ")
943
- raise RuntimeError, "\"#{_name}\" is ambiguous. " + s
934
+ raise "\"#{_name}\" is ambiguous. " + s
944
935
  end
945
936
  end
946
937
  results.first
@@ -1026,37 +1017,29 @@ module IDL::AST
1026
1017
  inherits_.each do |tc|
1027
1018
  unless tc.is_a?(IDL::Type::ScopedName) && tc.is_node?(IDL::AST::TemplateParam)
1028
1019
  unless (tc.is_a?(IDL::Type::ScopedName) && tc.is_node?(IDL::AST::Interface))
1029
- raise RuntimeError,
1030
- "invalid inheritance identifier for #{typename} #{scoped_lm_name}: #{tc.typename}"
1020
+ raise "invalid inheritance identifier for #{typename} #{scoped_lm_name}: #{tc.typename}"
1031
1021
  end
1032
1022
  rtc = tc.resolved_type
1033
1023
  if rtc.node.has_ancestor?(self)
1034
- raise RuntimeError,
1035
- "circular inheritance detected for #{typename} #{scoped_lm_name}: #{tc.node.scoped_lm_name} is descendant"
1024
+ raise "circular inheritance detected for #{typename} #{scoped_lm_name}: #{tc.node.scoped_lm_name} is descendant"
1036
1025
  end
1037
1026
  if not rtc.node.is_defined?
1038
- raise RuntimeError,
1039
- "#{typename} #{scoped_lm_name} cannot inherit from forward declared #{tc.node.typename} #{tc.node.scoped_lm_name}"
1027
+ raise "#{typename} #{scoped_lm_name} cannot inherit from forward declared #{tc.node.typename} #{tc.node.scoped_lm_name}"
1040
1028
  end
1041
1029
  if rtc.node.is_local? and not self.is_local?
1042
- raise RuntimeError,
1043
- "#{typename} #{scoped_lm_name} cannot inherit from 'local' #{tc.node.typename} #{tc.node.scoped_lm_name}"
1030
+ raise "#{typename} #{scoped_lm_name} cannot inherit from 'local' #{tc.node.typename} #{tc.node.scoped_lm_name}"
1044
1031
  end
1045
1032
  if rtc.node.is_pseudo? and not self.is_pseudo?
1046
- raise RuntimeError,
1047
- "#{typename} #{scoped_lm_name} cannot inherit from 'pseudo' #{tc.node.typename} #{tc.node.scoped_lm_name}"
1033
+ raise "#{typename} #{scoped_lm_name} cannot inherit from 'pseudo' #{tc.node.typename} #{tc.node.scoped_lm_name}"
1048
1034
  end
1049
1035
  if self.is_abstract? and not rtc.node.is_abstract?
1050
- raise RuntimeError,
1051
- "'abstract' #{typename} #{scoped_lm_name} cannot inherit from non-'abstract' #{tc.node.typename} #{tc.node.scoped_lm_name}"
1036
+ raise "'abstract' #{typename} #{scoped_lm_name} cannot inherit from non-'abstract' #{tc.node.typename} #{tc.node.scoped_lm_name}"
1052
1037
  end
1053
1038
  if self.is_local? and rtc.node.is_abstract?
1054
- raise RuntimeError,
1055
- "'local' #{typename} #{scoped_lm_name} cannot inherit from 'abstract' #{tc.node.typename} #{tc.node.scoped_lm_name}"
1039
+ raise "'local' #{typename} #{scoped_lm_name} cannot inherit from 'abstract' #{tc.node.typename} #{tc.node.scoped_lm_name}"
1056
1040
  end
1057
1041
  if self.has_base?(rtc.node)
1058
- raise RuntimeError,
1059
- "#{typename} #{scoped_lm_name} cannot inherit from #{tc.node.typename} #{tc.node.scoped_lm_name} multiple times"
1042
+ raise "#{typename} #{scoped_lm_name} cannot inherit from #{tc.node.typename} #{tc.node.scoped_lm_name} multiple times"
1060
1043
  end
1061
1044
  # check if we indirectly derive from this base multiple times (which is ok; no further need to check)
1062
1045
  unless @resolved_bases.any? { |b| b.has_ancestor?(rtc.node) }
@@ -1066,8 +1049,7 @@ module IDL::AST
1066
1049
  new_op_att_ << m if m.is_a?(IDL::AST::Operation) || m.is_a?(IDL::AST::Attribute)
1067
1050
  end
1068
1051
  if new_op_att_.any? {|n| n_ = self.search_self(n.name); n_.is_a?(IDL::AST::Operation) || n_.is_a?(IDL::AST::Attribute) }
1069
- raise RuntimeError,
1070
- "#{typename} #{scoped_lm_name} cannot inherit from #{tc.node.typename} #{tc.node.scoped_lm_name} because of duplicated operations/attributes"
1052
+ raise "#{typename} #{scoped_lm_name} cannot inherit from #{tc.node.typename} #{tc.node.scoped_lm_name} because of duplicated operations/attributes"
1071
1053
  end
1072
1054
  # no need to check for duplicate member names; this inheritance is ok
1073
1055
  end
@@ -1102,7 +1084,7 @@ module IDL::AST
1102
1084
  case node
1103
1085
  when IDL::AST::Struct, IDL::AST::Union
1104
1086
  if node.is_defined?
1105
- raise RuntimeError, "#{node.typename} \"#{node.name}\" is already defined."
1087
+ raise "#{node.typename} \"#{node.name}\" is already defined."
1106
1088
  end
1107
1089
  node.annotations.concat(params[:annotations])
1108
1090
 
@@ -1121,13 +1103,13 @@ module IDL::AST
1121
1103
 
1122
1104
  return _new_node
1123
1105
  else
1124
- raise RuntimeError, "#{node.typename} \"#{node.name}\" is already defined."
1106
+ raise "#{node.typename} \"#{node.name}\" is already defined."
1125
1107
  end
1126
1108
  end
1127
1109
 
1128
1110
  case node
1129
1111
  when IDL::AST::Operation, IDL::AST::Attribute
1130
- raise RuntimeError, "#{node.typename} '#{node.scoped_lm_name}' cannot be overridden."
1112
+ raise "#{node.typename} '#{node.scoped_lm_name}' cannot be overridden."
1131
1113
  else
1132
1114
  newnode = node.class.new(node.name, self, params)
1133
1115
  newnode.annotations.concat(params[:annotations])
@@ -1193,12 +1175,10 @@ module IDL::AST
1193
1175
  def set_base(parent)
1194
1176
  unless parent.is_a?(IDL::Type::ScopedName) && parent.is_node?(IDL::AST::TemplateParam)
1195
1177
  unless (parent.is_a?(IDL::Type::ScopedName) && parent.is_node?(self.class))
1196
- raise RuntimeError,
1197
- "invalid inheritance identifier for #{typename} #{scoped_lm_name}: #{parent.typename}"
1178
+ raise "invalid inheritance identifier for #{typename} #{scoped_lm_name}: #{parent.typename}"
1198
1179
  end
1199
1180
  if parent.resolved_type.node.has_base?(self)
1200
- raise RuntimeError,
1201
- "circular inheritance detected for #{typename} #{scoped_lm_name}: #{parent.node.scoped_lm_name} is descendant"
1181
+ raise "circular inheritance detected for #{typename} #{scoped_lm_name}: #{parent.node.scoped_lm_name} is descendant"
1202
1182
  end
1203
1183
  @resolved_base = parent.resolved_type.node
1204
1184
  end
@@ -1217,22 +1197,18 @@ module IDL::AST
1217
1197
  intfs.each do |tc|
1218
1198
  unless tc.is_a?(IDL::Type::ScopedName) && tc.is_node?(IDL::AST::TemplateParam)
1219
1199
  unless (tc.is_a?(IDL::Type::ScopedName) && tc.is_node?(IDL::AST::Interface))
1220
- raise RuntimeError,
1221
- "invalid inheritance identifier for #{typename} #{scoped_lm_name}: #{tc.typename}"
1200
+ raise "invalid inheritance identifier for #{typename} #{scoped_lm_name}: #{tc.typename}"
1222
1201
  end
1223
1202
  rtc = tc.resolved_type
1224
1203
  if not rtc.node.is_defined?
1225
- raise RuntimeError,
1226
- "#{typename} #{scoped_lm_name} cannot support forward declared #{tc.node.typename} #{tc.node.scoped_lm_name}"
1204
+ raise "#{typename} #{scoped_lm_name} cannot support forward declared #{tc.node.typename} #{tc.node.scoped_lm_name}"
1227
1205
  end
1228
1206
  ## TODO : is this legal?
1229
1207
  if rtc.node.is_local?
1230
- raise RuntimeError,
1231
- "#{typename} #{scoped_lm_name} cannot support 'local' #{tc.node.typename} #{tc.node.scoped_lm_name}"
1208
+ raise "#{typename} #{scoped_lm_name} cannot support 'local' #{tc.node.typename} #{tc.node.scoped_lm_name}"
1232
1209
  end
1233
1210
  if rtc.node.is_pseudo?
1234
- raise RuntimeError,
1235
- "#{typename} #{scoped_lm_name} cannot support 'pseudo' #{tc.node.typename} #{tc.node.scoped_lm_name}"
1211
+ raise "#{typename} #{scoped_lm_name} cannot support 'pseudo' #{tc.node.typename} #{tc.node.scoped_lm_name}"
1236
1212
  end
1237
1213
  ## TODO : is this legal?
1238
1214
  #if tc.node.is_abstract?
@@ -1240,8 +1216,7 @@ module IDL::AST
1240
1216
  # "'abstract' #{typename} #{scoped_lm_name} cannot support 'abstract' #{tc.node.typename} #{tc.node.scoped_lm_name}"
1241
1217
  #end
1242
1218
  if self.has_support?(rtc.node)
1243
- raise RuntimeError,
1244
- "#{typename} #{scoped_lm_name} cannot support #{tc.node.typename} #{tc.node.scoped_lm_name} multiple times"
1219
+ raise "#{typename} #{scoped_lm_name} cannot support #{tc.node.typename} #{tc.node.scoped_lm_name} multiple times"
1245
1220
  end
1246
1221
  # check if we indirectly support this base multiple times (which is ok; no further need to check)
1247
1222
  unless @resolved_interfaces.any? { |b| b.has_ancestor?(rtc.node) }
@@ -1251,8 +1226,7 @@ module IDL::AST
1251
1226
  new_op_att_ << m if m.is_a?(IDL::AST::Operation) || m.is_a?(IDL::AST::Attribute)
1252
1227
  end
1253
1228
  if new_op_att_.any? {|n| n_ = self.search_self(n.name); n_.is_a?(IDL::AST::Operation) || n_.is_a?(IDL::AST::Attribute) }
1254
- raise RuntimeError,
1255
- "#{typename} #{scoped_lm_name} cannot support #{tc.node.typename} #{tc.node.scoped_lm_name} because of duplicated operations/attributes"
1229
+ raise "#{typename} #{scoped_lm_name} cannot support #{tc.node.typename} #{tc.node.scoped_lm_name} because of duplicated operations/attributes"
1256
1230
  end
1257
1231
  # no need to check for duplicate member names; this support is ok
1258
1232
  end
@@ -1275,7 +1249,7 @@ module IDL::AST
1275
1249
  case node
1276
1250
  when IDL::AST::Struct, IDL::AST::Union
1277
1251
  if node.is_defined?
1278
- raise RuntimeError, "#{node.typename} \"#{node.name}\" is already defined."
1252
+ raise "#{node.typename} \"#{node.name}\" is already defined."
1279
1253
  end
1280
1254
  node.annotations.concat(params[:annotations])
1281
1255
 
@@ -1294,13 +1268,13 @@ module IDL::AST
1294
1268
 
1295
1269
  return _new_node
1296
1270
  else
1297
- raise RuntimeError, "#{node.typename} \"#{node.name}\" is already defined."
1271
+ raise "#{node.typename} \"#{node.name}\" is already defined."
1298
1272
  end
1299
1273
  end
1300
1274
 
1301
1275
  case node
1302
1276
  when IDL::AST::Operation, IDL::AST::Attribute
1303
- raise RuntimeError, "#{node.typename} '#{node.scoped_lm_name}' cannot be overridden."
1277
+ raise "#{node.typename} '#{node.scoped_lm_name}' cannot be overridden."
1304
1278
  else
1305
1279
  newnode = node.class.new(node.name, self, params)
1306
1280
  newnode.annotations.concat(params[:annotations])
@@ -1365,22 +1339,19 @@ module IDL::AST
1365
1339
  def set_component_and_key(comp, key)
1366
1340
  unless comp && comp.is_a?(IDL::Type::ScopedName) && comp.is_node?(IDL::AST::TemplateParam)
1367
1341
  unless comp && comp.is_a?(IDL::Type::ScopedName) && comp.is_node?(IDL::AST::Component)
1368
- raise RuntimeError,
1369
- (comp ?
1342
+ raise (comp ?
1370
1343
  "invalid managed component for #{typename} #{scoped_lm_name}: #{comp.typename}" :
1371
1344
  "missing managed component specification for #{typename} #{scoped_lm_name}")
1372
1345
  end
1373
1346
  unless comp.resolved_type.node.is_defined?
1374
- raise RuntimeError,
1375
- "#{scoped_lm_name}: #{comp.typename} cannot manage forward declared component #{comp.node.scoped_lm_name}"
1347
+ raise "#{scoped_lm_name}: #{comp.typename} cannot manage forward declared component #{comp.node.scoped_lm_name}"
1376
1348
  end
1377
1349
  @resolved_comp = comp.resolved_type.node
1378
1350
  end
1379
1351
  unless key && key.is_a?(IDL::Type::ScopedName) && key.is_node?(IDL::AST::TemplateParam)
1380
1352
  ## TODO : add check for Components::PrimaryKeyBase base type
1381
1353
  unless key.nil? || (key.is_a?(IDL::Type::ScopedName) && key.is_node?(IDL::AST::Valuetype))
1382
- raise RuntimeError,
1383
- "invalid primary key for #{typename} #{scoped_lm_name}: #{key.typename}"
1354
+ raise "invalid primary key for #{typename} #{scoped_lm_name}: #{key.typename}"
1384
1355
  end
1385
1356
  @resolved_pk = key.resolved_type.node if key
1386
1357
  end
@@ -1428,19 +1399,17 @@ module IDL::AST
1428
1399
  def is_forward?; false; end
1429
1400
 
1430
1401
  def add_interfaces(intfs)
1431
- raise RuntimeError, "interface support not allowed for #{typename} #{scoped_lm_name}" if intfs && !intfs.empty?
1402
+ raise "interface support not allowed for #{typename} #{scoped_lm_name}" if intfs && !intfs.empty?
1432
1403
  end
1433
1404
 
1434
1405
  def set_base(parent)
1435
1406
  unless parent.is_a?(IDL::Type::ScopedName) && parent.is_node?(IDL::AST::TemplateParam)
1436
1407
  if not (parent.is_a?(IDL::Type::ScopedName) && parent.is_node?(self.class))
1437
- raise RuntimeError,
1438
- "invalid inheritance identifier for #{typename} #{scoped_lm_name}: #{parent.typename}"
1408
+ raise "invalid inheritance identifier for #{typename} #{scoped_lm_name}: #{parent.typename}"
1439
1409
  end
1440
1410
  @resolved_base = parent.resolved_type.node
1441
1411
  if @resolved_base.has_base?(self)
1442
- raise RuntimeError,
1443
- "circular inheritance detected for #{typename} #{scoped_lm_name}: #{parent.node.scoped_lm_name} is descendant"
1412
+ raise "circular inheritance detected for #{typename} #{scoped_lm_name}: #{parent.node.scoped_lm_name} is descendant"
1444
1413
  end
1445
1414
  end
1446
1415
  @base = parent.node
@@ -1513,17 +1482,14 @@ module IDL::AST
1513
1482
  def set_base(parent)
1514
1483
  unless parent.is_a?(IDL::Type::ScopedName) && parent.is_node?(IDL::AST::TemplateParam)
1515
1484
  if not (parent.is_a?(IDL::Type::ScopedName) && parent.is_node?(self.class))
1516
- raise RuntimeError,
1517
- "invalid inheritance identifier for #{typename} #{scoped_lm_name}: #{parent.typename}"
1485
+ raise "invalid inheritance identifier for #{typename} #{scoped_lm_name}: #{parent.typename}"
1518
1486
  end
1519
1487
  @resolved_base = parent.resolved_type.node
1520
1488
  if not @resolved_base.is_defined?
1521
- raise RuntimeError,
1522
- "#{typename} #{scoped_lm_name} cannot inherit from forward declared #{parent.node.typename} #{parent.node.scoped_lm_name}"
1489
+ raise "#{typename} #{scoped_lm_name} cannot inherit from forward declared #{parent.node.typename} #{parent.node.scoped_lm_name}"
1523
1490
  end
1524
1491
  if @resolved_base.has_base?(self)
1525
- raise RuntimeError,
1526
- "circular inheritance detected for #{typename} #{scoped_lm_name}: #{parent.node.scoped_lm_name} is descendant"
1492
+ raise "circular inheritance detected for #{typename} #{scoped_lm_name}: #{parent.node.scoped_lm_name} is descendant"
1527
1493
  end
1528
1494
  end
1529
1495
  @base = parent.node
@@ -1603,20 +1569,20 @@ module IDL::AST
1603
1569
  super(_name, _enclosure)
1604
1570
  @idltype = params[:type]
1605
1571
  @porttype = params[:porttype]
1606
- raise RuntimeError, "unknown porttype for #{typename} #{scoped_lm_name}: #{@porttype}" unless PORTTYPES.include?(@porttype)
1572
+ raise "unknown porttype for #{typename} #{scoped_lm_name}: #{@porttype}" unless PORTTYPES.include?(@porttype)
1607
1573
  case @porttype
1608
1574
  when :facet, :receptacle
1609
1575
  unless @idltype.is_a?(IDL::Type::Object) ||
1610
1576
  (@idltype.is_a?(IDL::Type::ScopedName) && (@idltype.is_node?(IDL::AST::Interface) || @idltype.is_node?(IDL::AST::TemplateParam)))
1611
- raise RuntimeError, "invalid type for #{typename} #{scoped_lm_name}: #{@idltype.typename}"
1577
+ raise "invalid type for #{typename} #{scoped_lm_name}: #{@idltype.typename}"
1612
1578
  end
1613
1579
  when :port, :mirrorport
1614
1580
  unless @idltype.is_a?(IDL::Type::ScopedName) && (@idltype.is_node?(IDL::AST::Porttype) || @idltype.is_node?(IDL::AST::TemplateParam))
1615
- raise RuntimeError, "invalid type for #{typename} #{scoped_lm_name}: #{@idltype.typename}"
1581
+ raise "invalid type for #{typename} #{scoped_lm_name}: #{@idltype.typename}"
1616
1582
  end
1617
1583
  else
1618
1584
  unless @idltype.is_a?(IDL::Type::ScopedName) && (@idltype.is_node?(IDL::AST::Eventtype) || @idltype.is_node?(IDL::AST::TemplateParam))
1619
- raise RuntimeError, "invalid type for #{typename} #{scoped_lm_name}: #{@idltype.typename}"
1585
+ raise "invalid type for #{typename} #{scoped_lm_name}: #{@idltype.typename}"
1620
1586
  end
1621
1587
  end
1622
1588
  @multiple = params[:multiple] ? true : false
@@ -1681,8 +1647,7 @@ module IDL::AST
1681
1647
  @boxed_type = params[:type]
1682
1648
  unless @boxed_type.is_a?(IDL::Type::ScopedName) && @boxed_type.is_node?(IDL::AST::TemplateParam)
1683
1649
  if @boxed_type.resolved_type.is_a?(IDL::Type::Valuetype)
1684
- raise RuntimeError,
1685
- "boxing valuetype #{@boxed_type.scoped_lm_name} in Valuebox #{scoped_lm_name} not allowed"
1650
+ raise "boxing valuetype #{@boxed_type.scoped_lm_name} in Valuebox #{scoped_lm_name} not allowed"
1686
1651
  end
1687
1652
  end
1688
1653
  end
@@ -1737,8 +1702,7 @@ module IDL::AST
1737
1702
  _base = _inherits[:base] || {}
1738
1703
  @truncatable = _base[:truncatable] || false
1739
1704
  if @custom && @truncatable
1740
- raise RuntimeError,
1741
- "'truncatable' attribute *not* allowed for 'custom' #{typename} #{scoped_lm_name}"
1705
+ raise "'truncatable' attribute *not* allowed for 'custom' #{typename} #{scoped_lm_name}"
1742
1706
  end
1743
1707
  add_bases(_base[:list] || [])
1744
1708
  add_interfaces(_inherits[:supports] || [])
@@ -1838,33 +1802,26 @@ module IDL::AST
1838
1802
  inherits_.each do |tc|
1839
1803
  unless tc.is_a?(IDL::Type::ScopedName) && tc.is_node?(IDL::AST::TemplateParam)
1840
1804
  if not (tc.is_a?(IDL::Type::ScopedName) && tc.is_node?(IDL::AST::Valuetype))
1841
- raise RuntimeError,
1842
- "invalid inheritance identifier for #{typename} #{scoped_lm_name}: #{tc.typename}"
1805
+ raise "invalid inheritance identifier for #{typename} #{scoped_lm_name}: #{tc.typename}"
1843
1806
  end
1844
1807
  rtc = tc.resolved_type
1845
1808
  if rtc.node.has_ancestor?(self)
1846
- raise RuntimeError,
1847
- "circular inheritance detected for #{typename} #{scoped_lm_name}: #{tc.node.scoped_lm_name} is descendant"
1809
+ raise "circular inheritance detected for #{typename} #{scoped_lm_name}: #{tc.node.scoped_lm_name} is descendant"
1848
1810
  end
1849
1811
  if not rtc.node.is_defined?
1850
- raise RuntimeError,
1851
- "#{typename} #{scoped_lm_name} cannot inherit from forward declared #{tc.node.typename} #{tc.node.scoped_lm_name}"
1812
+ raise "#{typename} #{scoped_lm_name} cannot inherit from forward declared #{tc.node.typename} #{tc.node.scoped_lm_name}"
1852
1813
  end
1853
1814
  if self.is_abstract? and not rtc.node.is_abstract?
1854
- raise RuntimeError,
1855
- "'abstract' #{typename} #{scoped_lm_name} cannot inherit from non-'abstract' #{tc.node.typename} #{tc.node.scoped_lm_name}"
1815
+ raise "'abstract' #{typename} #{scoped_lm_name} cannot inherit from non-'abstract' #{tc.node.typename} #{tc.node.scoped_lm_name}"
1856
1816
  end
1857
1817
  if (not self.is_custom?) and rtc.node.is_custom?
1858
- raise RuntimeError,
1859
- "non-'custom' #{typename} #{scoped_lm_name} cannot inherit from 'custom' #{tc.node.typename} #{tc.node.scoped_lm_name}"
1818
+ raise "non-'custom' #{typename} #{scoped_lm_name} cannot inherit from 'custom' #{tc.node.typename} #{tc.node.scoped_lm_name}"
1860
1819
  end
1861
1820
  if @resolved_bases.include?(rtc.node)
1862
- raise RuntimeError,
1863
- "#{typename} #{scoped_lm_name} cannot inherit from #{tc.node.typename} #{tc.node.scoped_lm_name} multiple times"
1821
+ raise "#{typename} #{scoped_lm_name} cannot inherit from #{tc.node.typename} #{tc.node.scoped_lm_name} multiple times"
1864
1822
  end
1865
1823
  if (not rtc.node.is_abstract?) and @bases.size > 0
1866
- raise RuntimeError,
1867
- "concrete basevalue #{tc.node.typename} #{tc.node.scoped_lm_name} MUST "+
1824
+ raise "concrete basevalue #{tc.node.typename} #{tc.node.scoped_lm_name} MUST "+
1868
1825
  "be first and only non-abstract in inheritance list for #{typename} #{scoped_lm_name}"
1869
1826
  end
1870
1827
  @resolved_bases << rtc.node
@@ -1877,18 +1834,15 @@ module IDL::AST
1877
1834
  iflist_.each do |if_|
1878
1835
  unless if_.is_a?(IDL::Type::ScopedName) && if_.is_node?(IDL::AST::TemplateParam)
1879
1836
  if not (if_.is_a?(IDL::Type::ScopedName) && if_.is_node?(IDL::AST::Interface))
1880
- raise RuntimeError,
1881
- "invalid support identifier for #{typename} #{scoped_lm_name}: #{if_.typename}"
1837
+ raise "invalid support identifier for #{typename} #{scoped_lm_name}: #{if_.typename}"
1882
1838
  end
1883
1839
  rif_ = if_.resolved_type
1884
1840
  ### @@TODO@@ further validation
1885
1841
  if (not rif_.node.is_abstract?) and @interfaces.size > 0
1886
- raise RuntimeError,
1887
- "concrete interface '#{rif_.node.scoped_lm_name}' inheritance not allowed for #{typename} #{scoped_lm_name}. Valuetypes can only inherit (support) a single concrete interface."
1842
+ raise "concrete interface '#{rif_.node.scoped_lm_name}' inheritance not allowed for #{typename} #{scoped_lm_name}. Valuetypes can only inherit (support) a single concrete interface."
1888
1843
  end
1889
1844
  if (not rif_.node.is_abstract?) && (not is_interface_compatible?(rif_.node))
1890
- raise RuntimeError,
1891
- "#{typename} #{scoped_lm_name} cannot support concrete interface #{rif_.node.scoped_lm_name} because it does not derive from inherited concrete interfaces"
1845
+ raise "#{typename} #{scoped_lm_name} cannot support concrete interface #{rif_.node.scoped_lm_name} because it does not derive from inherited concrete interfaces"
1892
1846
  end
1893
1847
  @resolved_interfaces << rif_.node
1894
1848
  end
@@ -1910,7 +1864,7 @@ module IDL::AST
1910
1864
 
1911
1865
  def define(_type, _name, *args)
1912
1866
  if self.is_abstract? && [IDL::AST::StateMember, IDL::AST::Initializer].include?(_type)
1913
- raise RuntimeError, "cannot define statemember #{_name} on abstract #{typename} #{scoped_lm_name}"
1867
+ raise "cannot define statemember #{_name} on abstract #{typename} #{scoped_lm_name}"
1914
1868
  end
1915
1869
  super(_type, _name, *args)
1916
1870
  end
@@ -1947,7 +1901,7 @@ module IDL::AST
1947
1901
  case node
1948
1902
  when IDL::AST::Struct, IDL::AST::Union
1949
1903
  if node.is_defined?
1950
- raise RuntimeError, "#{node.typename} \"#{node.name}\" is already defined."
1904
+ raise "#{node.typename} \"#{node.name}\" is already defined."
1951
1905
  end
1952
1906
  node.annotations.concat(params[:annotations])
1953
1907
 
@@ -1966,13 +1920,13 @@ module IDL::AST
1966
1920
 
1967
1921
  return _new_node
1968
1922
  else
1969
- raise RuntimeError, "#{node.typename} \"#{node.name}\" is already defined."
1923
+ raise "#{node.typename} \"#{node.name}\" is already defined."
1970
1924
  end
1971
1925
  end
1972
1926
 
1973
1927
  case node
1974
1928
  when IDL::AST::Operation, IDL::AST::Attribute, IDL::AST::StateMember, IDL::AST::Initializer
1975
- raise RuntimeError, "#{node.typename} '#{node.scoped_lm_name}' cannot be overridden."
1929
+ raise "#{node.typename} '#{node.scoped_lm_name}' cannot be overridden."
1976
1930
  else
1977
1931
  newnode = node.class.new(node.name, self, params)
1978
1932
  newnode.annotations.concat(params[:annotations])
@@ -2023,7 +1977,7 @@ module IDL::AST
2023
1977
  @idltype = params[:type]
2024
1978
  @visibility = (params[:visibility] == :public ? :public : :private)
2025
1979
  unless @idltype.is_a?(IDL::Type::ScopedName) && @idltype.is_node?(IDL::AST::TemplateParam)
2026
- raise RuntimeError, "Anonymous type definitions are not allowed!" if params[:type].is_anonymous?
1980
+ raise "Anonymous type definitions are not allowed!" if params[:type].is_anonymous?
2027
1981
  ## check for use of incomplete types
2028
1982
  if !@idltype.is_complete?
2029
1983
  ## verify type is used in sequence
@@ -2079,7 +2033,7 @@ module IDL::AST
2079
2033
  @has_incomplete_type = true
2080
2034
  return
2081
2035
  end
2082
- raise RuntimeError, "Incomplete type #{@idltype.typename} not allowed here!"
2036
+ raise "Incomplete type #{@idltype.typename} not allowed here!"
2083
2037
  end
2084
2038
  end
2085
2039
  end
@@ -2137,7 +2091,7 @@ module IDL::AST
2137
2091
  exlist.each do |extype|
2138
2092
  unless extype.is_a?(IDL::Type::ScopedName) &&
2139
2093
  (extype.is_node?(IDL::AST::Exception) || extype.is_node?(IDL::AST::TemplateParam) || extype.resolved_type.is_a?(IDL::Type::Native))
2140
- raise RuntimeError, 'Only IDL Exception types allowed in raises declaration.'
2094
+ raise 'Only IDL Exception types allowed in raises declaration.'
2141
2095
  end
2142
2096
  @raises << extype
2143
2097
  end
@@ -2192,9 +2146,8 @@ module IDL::AST
2192
2146
  @expression = params[:expression]
2193
2147
  @value = nil
2194
2148
  unless @idltype.is_a?(IDL::Type::ScopedName) && @idltype.is_node?(IDL::AST::TemplateParam)
2195
- raise RuntimeError, "Anonymous type definitions are not allowed!" if @idltype.is_anonymous?
2196
- raise RuntimeError,
2197
- "Incomplete type #{@idltype.typename} not allowed here!" if !@idltype.is_complete?
2149
+ raise "Anonymous type definitions are not allowed!" if @idltype.is_anonymous?
2150
+ raise "Incomplete type #{@idltype.typename} not allowed here!" if !@idltype.is_complete?
2198
2151
  unless @expression.is_a?(IDL::Expression::ScopedName) && @expression.is_node?(IDL::AST::TemplateParam)
2199
2152
  @value = @idltype.narrow(@expression.value)
2200
2153
  end
@@ -2239,20 +2192,19 @@ module IDL::AST
2239
2192
  @idltype = params[:type]
2240
2193
  @attribute = params[:attribute]
2241
2194
  unless ATTRIBUTE_MAP.has_key?(@attribute)
2242
- raise RuntimeError,
2243
- "invalid attribute for parameter: #{params[:attribute]}"
2195
+ raise "invalid attribute for parameter: #{params[:attribute]}"
2244
2196
  end
2245
2197
  unless @idltype.is_a?(IDL::Type::ScopedName) && @idltype.is_node?(IDL::AST::TemplateParam)
2246
- raise RuntimeError, "Anonymous type definitions are not allowed!" if params[:type].is_anonymous?
2198
+ raise "Anonymous type definitions are not allowed!" if params[:type].is_anonymous?
2247
2199
  if @idltype.is_local?
2248
2200
  if _enclosure.enclosure.is_a?(IDL::AST::Interface) && !_enclosure.enclosure.is_local?
2249
- raise RuntimeError, "Local type #{@idltype.typename} not allowed for operation on unrestricted interface"
2201
+ raise "Local type #{@idltype.typename} not allowed for operation on unrestricted interface"
2250
2202
  end
2251
2203
  ## IDL_Valuetype: no problem as valuetype operations are local
2252
2204
  end
2253
2205
  if !@idltype.is_complete?
2254
2206
  if _enclosure.enclosure.is_a?(IDL::AST::Interface)
2255
- raise RuntimeError, "Incomplete type #{@idltype.typename} not allowed here!"
2207
+ raise "Incomplete type #{@idltype.typename} not allowed here!"
2256
2208
  end
2257
2209
  ## IDL_Valuetype: no problem as valuetype operations are local
2258
2210
  end
@@ -2297,16 +2249,16 @@ module IDL::AST
2297
2249
  @raises = []
2298
2250
  @context = nil
2299
2251
  unless @idltype.is_a?(IDL::Type::ScopedName) && @idltype.is_node?(IDL::AST::TemplateParam)
2300
- raise RuntimeError, "Anonymous type definitions are not allowed!" if params[:type].is_anonymous?
2252
+ raise "Anonymous type definitions are not allowed!" if params[:type].is_anonymous?
2301
2253
  if @idltype.is_local?
2302
2254
  if _enclosure.is_a?(IDL::AST::Interface) && !_enclosure.is_local?
2303
- raise RuntimeError, "Local type #{@idltype.typename} not allowed for operation on unrestricted interface"
2255
+ raise "Local type #{@idltype.typename} not allowed for operation on unrestricted interface"
2304
2256
  end
2305
2257
  ## IDL_Valuetype: no problem as valuetype operations are local
2306
2258
  end
2307
2259
  if !@idltype.is_complete?
2308
2260
  if _enclosure.is_a?(IDL::AST::Interface)
2309
- raise RuntimeError, "Incomplete type #{@idltype.typename} not allowed here!"
2261
+ raise "Incomplete type #{@idltype.typename} not allowed here!"
2310
2262
  end
2311
2263
  ## IDL_Valuetype: no problem as valuetype operations are local
2312
2264
  end
@@ -2342,7 +2294,7 @@ module IDL::AST
2342
2294
  exlist.each do |extype|
2343
2295
  unless extype.is_a?(IDL::Type::ScopedName) &&
2344
2296
  (extype.is_node?(IDL::AST::Exception) || extype.is_node?(IDL::AST::TemplateParam) || extype.resolved_type.is_a?(IDL::Type::Native))
2345
- raise RuntimeError, 'Only IDL Exception or Native types allowed in raises declaration.'
2297
+ raise 'Only IDL Exception or Native types allowed in raises declaration.'
2346
2298
  end
2347
2299
  @raises << extype
2348
2300
  end
@@ -2407,16 +2359,16 @@ module IDL::AST
2407
2359
  @get_raises = []
2408
2360
  @set_raises = []
2409
2361
  unless @idltype.is_a?(IDL::Type::ScopedName) && @idltype.is_node?(IDL::AST::TemplateParam)
2410
- raise RuntimeError, "Anonymous type definitions are not allowed!" if @idltype.is_anonymous?
2362
+ raise "Anonymous type definitions are not allowed!" if @idltype.is_anonymous?
2411
2363
  if @idltype.is_local?
2412
2364
  if _enclosure.is_a?(IDL::AST::Interface) && !_enclosure.is_local?
2413
- raise RuntimeError, "Local type #{@idltype.typename} not allowed for operation on unrestricted interface"
2365
+ raise "Local type #{@idltype.typename} not allowed for operation on unrestricted interface"
2414
2366
  end
2415
2367
  ## IDL_Valuetype: no problem as valuetype operations are local
2416
2368
  end
2417
2369
  if !@idltype.is_complete?
2418
2370
  if _enclosure.is_a?(IDL::AST::Interface)
2419
- raise RuntimeError, "Incomplete type #{@idltype.typename} not allowed here!"
2371
+ raise "Incomplete type #{@idltype.typename} not allowed here!"
2420
2372
  end
2421
2373
  ## IDL_Valuetype: no problem as valuetype operations are local
2422
2374
  end
@@ -2451,7 +2403,7 @@ module IDL::AST
2451
2403
  exlist.each do |extype|
2452
2404
  unless extype.is_a?(IDL::Type::ScopedName) &&
2453
2405
  (extype.is_node?(IDL::AST::Exception) || extype.is_node?(IDL::AST::TemplateParam) || extype.resolved_type.is_a?(IDL::Type::Native))
2454
- raise RuntimeError, 'Only IDL Exception types allowed in raises declaration.' unless extype.resolved_type.node.is_a?(IDL::AST::Exception)
2406
+ raise 'Only IDL Exception types allowed in raises declaration.' unless extype.resolved_type.node.is_a?(IDL::AST::Exception)
2455
2407
  end
2456
2408
  @get_raises << extype
2457
2409
  end
@@ -2461,7 +2413,7 @@ module IDL::AST
2461
2413
  exlist.each do |extype|
2462
2414
  unless extype.is_a?(IDL::Type::ScopedName) &&
2463
2415
  (extype.is_node?(IDL::AST::Exception) || extype.is_node?(IDL::AST::TemplateParam) || extype.resolved_type.is_a?(IDL::Type::Native))
2464
- raise RuntimeError, 'Only IDL Exception types allowed in raises declaration.' unless extype.resolved_type.node.is_a?(IDL::AST::Exception)
2416
+ raise 'Only IDL Exception types allowed in raises declaration.' unless extype.resolved_type.node.is_a?(IDL::AST::Exception)
2465
2417
  end
2466
2418
  @set_raises << extype
2467
2419
  end
@@ -2567,7 +2519,7 @@ module IDL::AST
2567
2519
  super(_name, _enclosure)
2568
2520
  @idltype = params[:type]
2569
2521
  unless @idltype.is_a?(IDL::Type::ScopedName) && @idltype.is_node?(IDL::AST::TemplateParam)
2570
- raise RuntimeError, "Anonymous type definitions are not allowed!" if @idltype.is_anonymous?
2522
+ raise "Anonymous type definitions are not allowed!" if @idltype.is_anonymous?
2571
2523
  ## check for use of incomplete types
2572
2524
  if !@idltype.is_complete?
2573
2525
  ## verify type is used in sequence
@@ -2601,7 +2553,7 @@ module IDL::AST
2601
2553
  end
2602
2554
  end
2603
2555
  end
2604
- raise RuntimeError, "Incomplete type #{@idltype.typename} not allowed here!"
2556
+ raise "Incomplete type #{@idltype.typename} not allowed here!"
2605
2557
  end
2606
2558
  end
2607
2559
  end
@@ -2693,16 +2645,14 @@ module IDL::AST
2693
2645
  ## check union case labels for validity
2694
2646
  m.labels.each { |lbl|
2695
2647
  if lbl == :default
2696
- raise RuntimeError,
2697
- "duplicate case label 'default' for #{typename} #{lm_name}" if default_
2648
+ raise "duplicate case label 'default' for #{typename} #{lm_name}" if default_
2698
2649
  default_ = true
2699
2650
  else
2700
2651
  # correct type
2701
2652
  lv = @switchtype.resolved_type.narrow(lbl.value)
2702
2653
  # doubles
2703
2654
  if labelvals.include? lv
2704
- raise RuntimeError,
2705
- "duplicate case label #{lv.to_s} for #{typename} #{lm_name}"
2655
+ raise "duplicate case label #{lv.to_s} for #{typename} #{lm_name}"
2706
2656
  end
2707
2657
  labelvals << lv
2708
2658
  end
@@ -2711,8 +2661,7 @@ module IDL::AST
2711
2661
  ## check if default allowed if defined
2712
2662
  if default_
2713
2663
  if @switchtype.resolved_type.range_length == labelvals.size
2714
- raise RuntimeError,
2715
- "'default' case label superfluous for #{typename} #{lm_name}"
2664
+ raise "'default' case label superfluous for #{typename} #{lm_name}"
2716
2665
  end
2717
2666
  end
2718
2667
  end
@@ -2836,7 +2785,7 @@ module IDL::AST
2836
2785
  def instantiate(_context, _enclosure)
2837
2786
  # find already instantiated Enum parent
2838
2787
  _enum = _enclosure.resolve(@enum.name)
2839
- raise RuntimeError, "Unable to resolve instantiated Enum scope for enumerator #{@enum.name}::#{name} instantiation" unless _enum
2788
+ raise "Unable to resolve instantiated Enum scope for enumerator #{@enum.name}::#{name} instantiation" unless _enum
2840
2789
  super(_context, _enclosure, { :enum => _enum, :value => @value })
2841
2790
  end
2842
2791
  end # Enumerator
@@ -44,7 +44,7 @@ module IDL
44
44
  end
45
45
 
46
46
  def delete(k)
47
- modifiable.delete(k)
47
+ table.delete(k)
48
48
  end
49
49
 
50
50
  def has_key?(k)
@@ -23,8 +23,9 @@ require 'optparse'
23
23
  class OptionParser::Switch::RequiredArgument
24
24
  def initialize(pattern = nil, conv = nil,
25
25
  short = nil, long = nil, arg = nil,
26
- desc = ([] if short or long), block = Proc.new)
27
- super
26
+ desc = ([] if short or long), block = nil, &_block)
27
+ block ||= _block
28
+ super(pattern, conv, short, long, arg, desc, block)
28
29
  if (@long.nil? || @long.empty?) && (@arg =~ /^(<.*>|[\{].*[\}])((=|\s).*)?/)
29
30
  @multichar_short = true
30
31
  @has_arg = (@arg =~ /^(<.*>|[\{].*[\}])(=|\s).*$/ ? true : false)
@@ -162,7 +163,7 @@ module IDL
162
163
 
163
164
  def define_param_set(id, options = {}, &block)
164
165
  id = id.to_sym
165
- raise RuntimeError, "option parameter set [#{id}] already exists" if @group.sets.has_key?(id)
166
+ raise "option parameter set [#{id}] already exists" if @group.sets.has_key?(id)
166
167
  @group.sets[id] = ParamSet.new(options)
167
168
  block.call(ParamSet::Configurator.new(@group.sets[id])) if block_given?
168
169
  end
@@ -242,7 +243,7 @@ module IDL
242
243
 
243
244
  def define_group(id, options = {}, &block)
244
245
  id = id.to_sym
245
- raise RuntimeError, "option group [#{id}] already exists" if @option.groups.has_key?(id)
246
+ raise "option group [#{id}] already exists" if @option.groups.has_key?(id)
246
247
  @option.groups[id] = Group.new(id, options)
247
248
  block.call(Group::Configurator.new(@option.groups[id])) if block_given?
248
249
  end
@@ -328,7 +329,7 @@ module IDL
328
329
 
329
330
  def define_switch(switch, options = {}, &block)
330
331
  switch = switch.to_s
331
- raise RuntimeError, "switch types mismatch" if @options.has_key?(switch) && options[:type] && options[:type] != @options[switch].type
332
+ raise "switch types mismatch" if @options.has_key?(switch) && options[:type] && options[:type] != @options[switch].type
332
333
  @options[switch] ||= Option.new(switch, options)
333
334
  block.call(Option::Configurator.new(@options[switch])) if block_given?
334
335
  end
@@ -353,4 +354,4 @@ module IDL
353
354
 
354
355
  end # OptionList
355
356
 
356
- end # IDL
357
+ end # IDL
@@ -85,7 +85,7 @@ module IDL
85
85
  # Production management
86
86
 
87
87
  def push_production(id, producer)
88
- raise RuntimeError, "Producer #{id} already queued" if @productionbatch.has_key?(id.to_sym)
88
+ raise "Producer #{id} already queued" if @productionbatch.has_key?(id.to_sym)
89
89
  @productionbatch[id.to_sym] = @productionstack.size
90
90
  @productionstack << [id.to_sym, producer]
91
91
  end
@@ -185,7 +185,7 @@ module IDL
185
185
  else
186
186
  File.open(_idlfile, 'r')
187
187
  end
188
- raise RuntimeError, 'cannot read from STDOUT' if $stdout == _fio
188
+ raise 'cannot read from STDOUT' if $stdout == _fio
189
189
 
190
190
  # parse IDL source
191
191
  IDL.log(1, "RIDL - parsing #{IO === _idlfile ? 'from STDIN': (StringIO === _idlfile ? 'from string' : _idlfile)}")
@@ -517,9 +517,8 @@ module IDL
517
517
  else
518
518
  if s2[0] == ?_
519
519
  s2.slice!(0) ## if starts with CORBA IDL escape => remove
520
- else
521
- parse_error "identifier must begin with alphabet character: #{s2}" unless ALPHA_LC.include?(s2[0]) || ALPHA_UC.include?(s2[0])
522
520
  end
521
+ parse_error "identifier must begin with alphabet character: #{s2}" unless ALPHA_LC.include?(s2[0]) || ALPHA_UC.include?(s2[0])
523
522
  end
524
523
 
525
524
  # preprocessor check
@@ -15,7 +15,7 @@ module IDL
15
15
  self.class.name
16
16
  end
17
17
  def typeerror(val)
18
- raise RuntimeError, "#{val.inspect} cannot narrow to #{self.typename}"
18
+ raise "#{val.inspect} cannot narrow to #{self.typename}"
19
19
  end
20
20
  def narrow(obj)
21
21
  obj
@@ -51,7 +51,7 @@ module IDL
51
51
 
52
52
  class UndefinedType
53
53
  def initialize(*args)
54
- raise RuntimeError, "#{self.class.name}'s not implemented yet."
54
+ raise "#{self.class.name}'s not implemented yet."
55
55
  end
56
56
  end
57
57
 
@@ -222,7 +222,7 @@ module IDL
222
222
  class Fixed < Type
223
223
  attr_reader :digits, :scale
224
224
  def initialize(digits=nil, scale=nil)
225
- raise RuntimeError, "significant digits for Fixed should be in the range 0-31" unless digits.nil? || (0..31) === digits.to_i
225
+ raise "significant digits for Fixed should be in the range 0-31" unless digits.nil? || (0..31) === digits.to_i
226
226
  @digits = digits.nil? ? digits : digits.to_i
227
227
  @scale = scale.nil? ? scale : scale.to_i
228
228
  end
@@ -277,7 +277,7 @@ module IDL
277
277
  attr_accessor :recursive
278
278
  def length; @size; end
279
279
  def initialize(t, size)
280
- raise RuntimeError, "Anonymous type definitions are not allowed!" if t.is_anonymous?
280
+ raise "Anonymous type definitions are not allowed!" if t.is_anonymous?
281
281
  @basetype = t
282
282
  @size = size
283
283
  @typename = format("sequence<%s%s>", t.typename,
@@ -321,7 +321,7 @@ module IDL
321
321
  attr_reader :basetype
322
322
  attr_reader :sizes
323
323
  def initialize(t, sizes)
324
- raise RuntimeError, "Anonymous type definitions are not allowed!" if t.is_anonymous?
324
+ raise "Anonymous type definitions are not allowed!" if t.is_anonymous?
325
325
  @basetype = t
326
326
  if sizes.nil?
327
327
  @sizes = []
@@ -12,9 +12,9 @@
12
12
 
13
13
  module IDL
14
14
 
15
- RIDL_VERSION_MAJOR = 2.freeze
16
- RIDL_VERSION_MINOR = 7.freeze
17
- RIDL_VERSION_RELEASE = 0.freeze
15
+ RIDL_VERSION_MAJOR = 2
16
+ RIDL_VERSION_MINOR = 7
17
+ RIDL_VERSION_RELEASE = 1
18
18
  RIDL_VERSION = "#{RIDL_VERSION_MAJOR}.#{RIDL_VERSION_MINOR}.#{RIDL_VERSION_RELEASE}"
19
19
  RIDL_COPYRIGHT = "Copyright (c) 2007-#{Time.now.year} Remedy IT Expertise BV, The Netherlands".freeze
20
20
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ridl
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.7.0
4
+ version: 2.7.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martin Corino
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2019-12-02 00:00:00.000000000 Z
12
+ date: 2020-02-06 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: OMG v3.3 compliant native Ruby IDL compiler frontend with support for
15
15
  pluggable (and stackable) backends.
@@ -41,7 +41,9 @@ files:
41
41
  homepage: https://www.remedy.nl/opensource/ridl.html
42
42
  licenses:
43
43
  - MIT
44
- metadata: {}
44
+ metadata:
45
+ bug_tracker_uri: https://github.com/RemedyIT/ridl/issues
46
+ source_code_uri: https://github.com/RemedyIT/ridl
45
47
  post_install_message:
46
48
  rdoc_options:
47
49
  - "--main"
@@ -54,7 +56,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
54
56
  requirements:
55
57
  - - ">="
56
58
  - !ruby/object:Gem::Version
57
- version: '0'
59
+ version: '2.0'
58
60
  required_rubygems_version: !ruby/object:Gem::Requirement
59
61
  requirements:
60
62
  - - ">="