ridl 2.2.4 → 2.2.5

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
  SHA1:
3
- metadata.gz: fdf34fc099b40aa14fd02ec34323831225dce823
4
- data.tar.gz: dd3dcb56caf4338fcf0ba487850d6db251590bc8
3
+ metadata.gz: 6b4f57fea70c3afc0799ca7d925b19f567476cf0
4
+ data.tar.gz: 935963ed742a214a0dc67a2b72df6454e8716e10
5
5
  SHA512:
6
- metadata.gz: 2779b950bf28dded230a3b4a89d127f4663c2b33632df056000a825c5ea17b902970a5e05bd4ec7971052bc2e658e91a41e7a746388a0dd19f4380aceb89bb45
7
- data.tar.gz: e5f56246051d5083ee5f09e47f2a7841427bd6c471d038f503c12adc2712d6397625aae63e51874945b60dee15a5f3e34502bd1fde83f7a9aa599d703df87527
6
+ metadata.gz: 1484766696c20592f73ea92c88d6e8ba4dde89dc8c9220403fb6aa0ffe948c60e66cb29fe18f3f6241bd48d0cb8a196bf87ac4cc9b0eefb762c2a404eec8aed6
7
+ data.tar.gz: 1818e868e7f680f256b1b74f36ef9ee572f9c4ca1c4e4dadcf05814f40a05a8baf0e6ba9610b3c038dfaea527633bbeceac6c912ba88f309495ff01bac963f68
@@ -100,10 +100,11 @@ module IDL
100
100
  end
101
101
 
102
102
  def process_input(parser, params)
103
- # process input top-down; return true when input handled
103
+ # process input top-down; return true and stop processing when input handled
104
104
  unless _process_input(parser, params)
105
- return @base_backends.each {|be| be.process_input(parser, params) } != nil
105
+ return @base_backends.any? {|be| be.process_input(parser, params) }
106
106
  end
107
+ true
107
108
  end
108
109
 
109
110
  @@null_be = nil
@@ -1836,11 +1836,11 @@ module IDL::AST
1836
1836
  ### @@TODO@@ further validation
1837
1837
  if (not rif_.node.is_abstract?) and @interfaces.size > 0
1838
1838
  raise RuntimeError,
1839
- "concrete interface #{tc.node.typename} #{tc.node.scoped_lm_name} MUST be first and only in supports list for #{typename} #{scoped_lm_name}"
1839
+ "concrete interface '#{rif_.node.scoped_lm_name}' inheritance not allowed for #{typename} #{scoped_lm_name}. Valuetypes can only inherit (support) a single concrete interface."
1840
1840
  end
1841
1841
  if (not rif_.node.is_abstract?) && (not is_interface_compatible?(rif_.node))
1842
1842
  raise RuntimeError,
1843
- "#{typename} #{scoped_lm_name} cannot support #{tc.node.typename} #{tc.node.scoped_lm_name} because it does not derive from inherited interfaces"
1843
+ "#{typename} #{scoped_lm_name} cannot support concrete interface #{rif_.node.scoped_lm_name} because it does not derive from inherited concrete interfaces"
1844
1844
  end
1845
1845
  @resolved_interfaces << rif_.node
1846
1846
  end
@@ -462,7 +462,7 @@ def parse_type_declarator(type_spec, declarators)
462
462
  t = type_spec
463
463
  declarators.each do |d|
464
464
  case d
465
- when ::String
465
+ when ::String, IDL::Scanner::Identifier
466
466
  ret << [t, d]
467
467
  when ::Array # array_declarator -> [identifier, size]
468
468
  ret << [IDL::Type::Array.new(t, d[1]), d[0]]
@@ -836,7 +836,7 @@ def parse_type_declarator(type_spec, declarators)
836
836
  t = type_spec
837
837
  declarators.each do |d|
838
838
  case d
839
- when ::String
839
+ when ::String, IDL::Scanner::Identifier
840
840
  ret << [t, d]
841
841
  when ::Array # array_declarator -> [identifier, size]
842
842
  ret << [IDL::Type::Array.new(t, d[1]), d[0]]
@@ -11,6 +11,7 @@
11
11
  # Chamber of commerce Rotterdam nr.276339, The Netherlands
12
12
  #--------------------------------------------------------------------
13
13
  require 'racc/parser'
14
+ require 'delegate'
14
15
 
15
16
  module IDL
16
17
  class ParseError < StandardError
@@ -210,7 +211,7 @@ module IDL
210
211
  # string derivative for IDL parsed identifiers able
211
212
  # to carry both 'raw' IDL name as well as language mapped
212
213
  # name
213
- class Identifier < ::String
214
+ class Identifier < DelegateClass(::String)
214
215
  attr_reader :checked_name
215
216
  def initialize(idl_id, checked_id)
216
217
  super(idl_id)
@@ -344,79 +345,13 @@ module IDL
344
345
  :r => ?\r, :f => ?\f, :a => ?\a
345
346
  })
346
347
 
347
- KEYWORDS = [ # see 7.2.4 "Keywords" of CORBA V3.2 specification (part1) and 7.3.6 (part3; IDL3+ keywords)
348
- "abstract",
349
- "alias",
350
- "any",
351
- "attribute",
352
- "boolean",
353
- "case",
354
- "char",
355
- "component",
356
- "connector",
357
- "const",
358
- "consumes",
359
- "context",
360
- "custom",
361
- "default",
362
- "double",
363
- "exception",
364
- "emits",
365
- "enum",
366
- "eventtype",
367
- "factory",
368
- "FALSE",
369
- "finder",
370
- "fixed",
371
- "float",
372
- "getraises",
373
- "home",
374
- "import",
375
- "in",
376
- "inout",
377
- "interface",
378
- "local",
379
- "long",
380
- "manages",
381
- "mirrorport",
382
- "module",
383
- "multiple",
384
- "native",
385
- "Object",
386
- "octet",
387
- "oneway",
388
- "out",
389
- "port",
390
- "porttype",
391
- "primarykey",
392
- "private",
393
- "provides",
394
- "public",
395
- "publishes",
396
- "raises",
397
- "readonly",
398
- "setraises",
399
- "sequence",
400
- "short",
401
- "string",
402
- "struct",
403
- "supports",
404
- "switch",
405
- "TRUE",
406
- "truncatable",
407
- "typedef",
408
- "typeid",
409
- "typename",
410
- "typeprefix",
411
- "unsigned",
412
- "union",
413
- "uses",
414
- "ValueBase",
415
- "valuetype",
416
- "void",
417
- "wchar",
418
- "wstring",
419
- ].inject(TokenRegistry.new) { |h,a| h[a.downcase.to_sym] = a; h }
348
+ KEYWORDS = %w(
349
+ abstract alias any attribute boolean case char component connector const consumes context custom default double
350
+ exception emits enum eventtype factory FALSE finder fixed float getraises home import in inout interface local
351
+ long manages mirrorport module multiple native Object octet oneway out port porttype primarykey private provides
352
+ public publishes raises readonly setraises sequence short string struct supports switch TRUE truncatable typedef
353
+ typeid typename typeprefix unsigned union uses ValueBase valuetype void wchar wstring
354
+ ).inject(TokenRegistry.new) { |h,a| h[a.downcase.to_sym] = a; h }
420
355
 
421
356
  LITERALS = [
422
357
  :integer_literal,
@@ -15,8 +15,8 @@ module IDL
15
15
 
16
16
  RIDL_VERSION_MAJOR = 2.freeze
17
17
  RIDL_VERSION_MINOR = 2.freeze
18
- RIDL_VERSION_RELEASE = 4.freeze
18
+ RIDL_VERSION_RELEASE = 5.freeze
19
19
  RIDL_VERSION = "#{RIDL_VERSION_MAJOR}.#{RIDL_VERSION_MINOR}.#{RIDL_VERSION_RELEASE}"
20
- RIDL_COPYRIGHT = 'Copyright (c) 2007-2013 Remedy IT Expertise BV, The Netherlands'.freeze
20
+ RIDL_COPYRIGHT = 'Copyright (c) 2007-2014 Remedy IT Expertise BV, The Netherlands'.freeze
21
21
 
22
22
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ridl
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.4
4
+ version: 2.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martin Corino
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-08-09 00:00:00.000000000 Z
11
+ date: 2013-12-12 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: OMG v. 3.3 compliant native Ruby IDL compiler frontend with support for
14
14
  pluggable (and stackable) backends.