ridl 2.2.4 → 2.2.5

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: 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.