ridl 2.8.0 → 2.8.2
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 +4 -4
- data/README.rdoc +4 -0
- data/lib/ridl/backend.rb +1 -1
- data/lib/ridl/delegate.rb +7 -7
- data/lib/ridl/expression.rb +13 -13
- data/lib/ridl/genfile.rb +2 -2
- data/lib/ridl/node.rb +27 -28
- data/lib/ridl/options.rb +1 -1
- data/lib/ridl/optparse_ext.rb +1 -1
- data/lib/ridl/parser.rb +456 -233
- data/lib/ridl/runner.rb +9 -9
- data/lib/ridl/scanner.rb +20 -21
- data/lib/ridl/type.rb +1 -1
- data/lib/ridl/version.rb +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 880d87c66c5e6542fd7a61744fd2c10db2344e75849e73efbc45e26f8c33511a
|
4
|
+
data.tar.gz: 3d8b9e40f5d9220f5a677e4ebee507042f31246a0cbdc680166512985a1ba6ee
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a79c369f080a3e914de2df4899bd523c312814abd400726c9315043495bbfa4b3870f9ebc696019804487c86b5b1edc4791c1252dd616ac342da214849764304
|
7
|
+
data.tar.gz: a136ede546812cafba12a925d7c86415d5e453f2ad4d513f65be54751434c2bbd43fca0bbcea36bc898d522a2bd644da71dedd56029c26473ca77645a1827cfd
|
data/README.rdoc
CHANGED
@@ -46,3 +46,7 @@ The RIDL Gem is a Ruby-only Gem without any dependencies.
|
|
46
46
|
== Releasing new RIDL Ruby Gem
|
47
47
|
|
48
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].
|
49
|
+
|
50
|
+
== Regenerating `lib/racc/parser.rb`
|
51
|
+
|
52
|
+
The file `lib/racc/parser.rb` can be regenerated using `racc -o parser.rb -E parser.ry`. The option `-E` embeds the racc parser within RIDL which is required for RIDL because jruby doesn't contain `RACC` as cruby does.
|
data/lib/ridl/backend.rb
CHANGED
@@ -50,7 +50,7 @@ module IDL
|
|
50
50
|
rescue LoadError => ex
|
51
51
|
IDL.error "ERROR: Cannot load RIDL backend [:#{be_name}]"
|
52
52
|
IDL.error ex.inspect
|
53
|
-
IDL.error(ex.backtrace.join("\n")) if IDL.verbose_level>0
|
53
|
+
IDL.error(ex.backtrace.join("\n")) if IDL.verbose_level > 0
|
54
54
|
exit 1
|
55
55
|
end
|
56
56
|
end
|
data/lib/ridl/delegate.rb
CHANGED
@@ -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 'add_pragma_handler requires a callable object or a block' unless
|
28
|
+
raise 'add_pragma_handler requires a callable object or a block' unless h&.respond_to?(:call) || block_given?
|
29
29
|
@@pragma_handlers[key] = block_given? ? block : h
|
30
30
|
end
|
31
31
|
|
@@ -213,7 +213,7 @@ class Delegator
|
|
213
213
|
params = { :filename => s, :fullpath => fullpath }
|
214
214
|
params[:defined] = true
|
215
215
|
params[:preprocessed] = @preprocess
|
216
|
-
@cur = @cur.define(IDL::AST::Include, "$INC:"+s, params)
|
216
|
+
@cur = @cur.define(IDL::AST::Include, "$INC:" + s, params)
|
217
217
|
@includes[s] = @cur
|
218
218
|
set_last
|
219
219
|
@cur
|
@@ -228,7 +228,7 @@ class Delegator
|
|
228
228
|
params = { :filename => s, :fullpath => @includes[s].fullpath }
|
229
229
|
params[:defined] = false
|
230
230
|
params[:preprocessed] = @includes[s].is_preprocessed?
|
231
|
-
@cur.define(IDL::AST::Include, "$INC:"+s, params)
|
231
|
+
@cur.define(IDL::AST::Include, "$INC:" + s, params)
|
232
232
|
end
|
233
233
|
|
234
234
|
def pragma_prefix(s)
|
@@ -258,7 +258,7 @@ class Delegator
|
|
258
258
|
end
|
259
259
|
|
260
260
|
def handle_pragma(pragma_string)
|
261
|
-
unless @@pragma_handlers.values.
|
261
|
+
unless @@pragma_handlers.values.reduce(false) {|rc, h| h.call(self, @cur, pragma_string) || rc }
|
262
262
|
IDL.log(1, "RIDL - unrecognized pragma encountered: #{pragma_string}.")
|
263
263
|
end
|
264
264
|
end
|
@@ -299,8 +299,8 @@ class Delegator
|
|
299
299
|
end
|
300
300
|
|
301
301
|
def define_template_module(global, names)
|
302
|
-
if global || names.size>1
|
303
|
-
raise "no scoped identifier allowed for template module: #{(global ? '::' : '')+names.join('::')}"
|
302
|
+
if global || names.size > 1
|
303
|
+
raise "no scoped identifier allowed for template module: #{(global ? '::' : '') + names.join('::')}"
|
304
304
|
end
|
305
305
|
@cur = @cur.define(IDL::AST::TemplateModule, names[0])
|
306
306
|
@cur.annotations.concat(@annotation_stack)
|
@@ -562,7 +562,7 @@ class Delegator
|
|
562
562
|
root.introduce(first)
|
563
563
|
case node
|
564
564
|
when IDL::AST::Module, IDL::AST::TemplateModule,
|
565
|
-
IDL::AST::Interface,IDL::AST::Home, IDL::AST::Component,
|
565
|
+
IDL::AST::Interface, IDL::AST::Home, IDL::AST::Component,
|
566
566
|
IDL::AST::Porttype, IDL::AST::Connector,
|
567
567
|
IDL::AST::Struct, IDL::AST::Union, IDL::AST::Typedef,
|
568
568
|
IDL::AST::Exception, IDL::AST::Enum,
|
data/lib/ridl/expression.rb
CHANGED
@@ -86,7 +86,7 @@ module IDL
|
|
86
86
|
|
87
87
|
if _operands.size != n
|
88
88
|
raise format("%s must receive %d operand%s.",
|
89
|
-
self.typename, n, if (n>1) then "s" else "" end)
|
89
|
+
self.typename, n, if (n > 1) then "s" else "" end)
|
90
90
|
end
|
91
91
|
|
92
92
|
unless _operands.any? { |o| o.is_template? }
|
@@ -184,7 +184,7 @@ module IDL
|
|
184
184
|
superclass.checktype(*types)
|
185
185
|
|
186
186
|
# it's expected that Double, LongDouble is a Float.
|
187
|
-
s1,s2 = IDL::Type::Float, IDL::Type::Fixed
|
187
|
+
s1, s2 = IDL::Type::Float, IDL::Type::Fixed
|
188
188
|
if (t1 === s1 && t2 === s2) or (t1 === s2 && t2 === s1)
|
189
189
|
raise "#{self.name} about #{t1.typename} and #{t2.typename} is illegal."
|
190
190
|
end
|
@@ -210,7 +210,7 @@ module IDL
|
|
210
210
|
Applicable = Integer2::Applicable
|
211
211
|
def calculate(op)
|
212
212
|
if @idltype.is_unsigned?()
|
213
|
-
(2**@idltype.bits-1)-op
|
213
|
+
(2**@idltype.bits - 1) - op
|
214
214
|
else
|
215
215
|
~op
|
216
216
|
end
|
@@ -218,13 +218,13 @@ module IDL
|
|
218
218
|
end
|
219
219
|
|
220
220
|
class Or < Boolean2
|
221
|
-
def calculate(lop,rop); lop | rop; end
|
221
|
+
def calculate(lop, rop); lop | rop; end
|
222
222
|
end
|
223
223
|
class And < Boolean2
|
224
|
-
def calculate(lop,rop); lop & rop; end
|
224
|
+
def calculate(lop, rop); lop & rop; end
|
225
225
|
end
|
226
226
|
class Xor < Boolean2
|
227
|
-
def calculate(lop,rop); lop ^ rop; end
|
227
|
+
def calculate(lop, rop); lop ^ rop; end
|
228
228
|
end
|
229
229
|
|
230
230
|
class Shift < Integer2
|
@@ -236,32 +236,32 @@ module IDL
|
|
236
236
|
end
|
237
237
|
end
|
238
238
|
class LShift < Shift
|
239
|
-
def calculate(lop,rop)
|
239
|
+
def calculate(lop, rop)
|
240
240
|
check_rop(rop)
|
241
241
|
lop << rop
|
242
242
|
end
|
243
243
|
end
|
244
244
|
class RShift < Shift
|
245
|
-
def calculate(lop,rop)
|
245
|
+
def calculate(lop, rop)
|
246
246
|
check_rop(rop)
|
247
247
|
lop >> rop
|
248
248
|
end
|
249
249
|
end
|
250
250
|
|
251
251
|
class Add < Float2
|
252
|
-
def calculate(lop,rop); lop + rop; end
|
252
|
+
def calculate(lop, rop); lop + rop; end
|
253
253
|
end
|
254
254
|
class Minus < Float2
|
255
|
-
def calculate(lop,rop); lop - rop; end
|
255
|
+
def calculate(lop, rop); lop - rop; end
|
256
256
|
end
|
257
257
|
class Mult < Float2
|
258
|
-
def calculate(lop,rop); lop * rop; end
|
258
|
+
def calculate(lop, rop); lop * rop; end
|
259
259
|
end
|
260
260
|
class Div < Float2
|
261
|
-
def calculate(lop,rop); lop / rop; end
|
261
|
+
def calculate(lop, rop); lop / rop; end
|
262
262
|
end
|
263
263
|
class Mod < Integer2
|
264
|
-
def calculate(lop,rop); lop % rop; end
|
264
|
+
def calculate(lop, rop); lop % rop; end
|
265
265
|
end
|
266
266
|
end #of class Operation
|
267
267
|
end #of class Expression
|
data/lib/ridl/genfile.rb
CHANGED
@@ -67,7 +67,7 @@ module IDL
|
|
67
67
|
class Content
|
68
68
|
def initialize(sections = {})
|
69
69
|
# copy content map transforming all keys to symbols
|
70
|
-
@sections = sections.inject({}) {|m,(k,v)| m[k.to_sym] = v; m }
|
70
|
+
@sections = sections.inject({}) {|m, (k, v)| m[k.to_sym] = v; m }
|
71
71
|
end
|
72
72
|
|
73
73
|
def sections
|
@@ -96,7 +96,7 @@ module IDL
|
|
96
96
|
@path = path
|
97
97
|
@fullpath = File.expand_path(path)
|
98
98
|
@name = File.basename(path)
|
99
|
-
@ext = File.extname(path).sub(/^\./,'')
|
99
|
+
@ext = File.extname(path).sub(/^\./, '')
|
100
100
|
else
|
101
101
|
@path = @fullpath = @name = @ext = ''
|
102
102
|
end
|
data/lib/ridl/node.rb
CHANGED
@@ -19,7 +19,7 @@ module IDL::AST
|
|
19
19
|
@id = id.to_sym
|
20
20
|
# copy field map transforming all keys to symbols and
|
21
21
|
# detecting nested annotation objects
|
22
|
-
@fields = fields.inject({}) do |m,(k,v)|
|
22
|
+
@fields = fields.inject({}) do |m, (k, v)|
|
23
23
|
m[k.to_sym] = case v
|
24
24
|
when Array
|
25
25
|
v.collect { |ve| Hash === ve ? Annotation.new(*ve.to_a.first) : ve }
|
@@ -159,8 +159,8 @@ module IDL::AST
|
|
159
159
|
if id_arr.first == 'IDL'
|
160
160
|
id_arr.shift
|
161
161
|
id_str = id_arr.shift.to_s
|
162
|
-
raise 'ID identifiers should not start or end with \'/\'' if id_str[0,1]=='/' or id_str[-1, 1]=='/'
|
163
|
-
raise "ID identifiers should not start with one of '#{REPO_ID_XCHARS.join("', '")}'" if REPO_ID_XCHARS.include?(id_str[0,1])
|
162
|
+
raise 'ID identifiers should not start or end with \'/\'' if id_str[0, 1] == '/' or id_str[-1, 1] == '/'
|
163
|
+
raise "ID identifiers should not start with one of '#{REPO_ID_XCHARS.join("', '")}'" if REPO_ID_XCHARS.include?(id_str[0, 1])
|
164
164
|
raise 'Invalid ID! Only a..z, A..Z, 0..9, \'.\', \'-\', \'_\' or \'\/\' allowed for identifiers' unless REPO_ID_RE =~ id_str
|
165
165
|
end
|
166
166
|
@repo_id = id
|
@@ -184,8 +184,8 @@ module IDL::AST
|
|
184
184
|
|
185
185
|
def prefix=(pfx)
|
186
186
|
unless pfx.to_s.empty?
|
187
|
-
raise 'ID prefix should not start or end with \'/\'' if pfx[0,1]=='/' or pfx[-1, 1]=='/'
|
188
|
-
raise "ID prefix should not start with one of '#{REPO_ID_XCHARS.join("', '")}'" if REPO_ID_XCHARS.include?(pfx[0,1])
|
187
|
+
raise 'ID prefix should not start or end with \'/\'' if pfx[0, 1] == '/' or pfx[-1, 1] == '/'
|
188
|
+
raise "ID prefix should not start with one of '#{REPO_ID_XCHARS.join("', '")}'" if REPO_ID_XCHARS.include?(pfx[0, 1])
|
189
189
|
raise 'Invalid ID prefix! Only a..z, A..Z, 0..9, \'.\', \'-\', \'_\' or \'\/\' allowed' unless REPO_ID_RE =~ pfx
|
190
190
|
end
|
191
191
|
self.set_prefix(pfx)
|
@@ -199,7 +199,7 @@ module IDL::AST
|
|
199
199
|
if @repo_id.nil?
|
200
200
|
@repo_ver = "1.0" unless @repo_ver
|
201
201
|
format("IDL:%s%s:%s",
|
202
|
-
if @prefix.empty? then "" else @prefix+"/" end,
|
202
|
+
if @prefix.empty? then "" else @prefix + "/" end,
|
203
203
|
self.scopes.collect{|s| s.name}.join("/"),
|
204
204
|
@repo_ver)
|
205
205
|
else
|
@@ -912,7 +912,7 @@ module IDL::AST
|
|
912
912
|
# check if the matched name resulted in multiple different nodes or all the same
|
913
913
|
r_one = results.shift
|
914
914
|
unless results.all? {|r| r_one == r || (r_one.class == r.class && r_one.scoped_name == r.scoped_name) }
|
915
|
-
s = results.inject([r_one]) {|l,r| l << r unless l.include?(r); l }.collect{ |n| n.scoped_name }.join(", ")
|
915
|
+
s = results.inject([r_one]) {|l, r| l << r unless l.include?(r); l }.collect{ |n| n.scoped_name }.join(", ")
|
916
916
|
raise "\"#{_name}\" is ambiguous. " + s
|
917
917
|
end
|
918
918
|
end
|
@@ -1048,13 +1048,13 @@ module IDL::AST
|
|
1048
1048
|
@resolved_bases
|
1049
1049
|
end
|
1050
1050
|
|
1051
|
-
def operations(include_bases=false,traversed=nil)
|
1051
|
+
def operations(include_bases=false, traversed=nil)
|
1052
1052
|
ops = @children.find_all { |c| c.is_a?(IDL::AST::Operation) }
|
1053
1053
|
ops.concat(base_operations(traversed || [])) if include_bases
|
1054
1054
|
ops
|
1055
1055
|
end
|
1056
1056
|
|
1057
|
-
def attributes(include_bases=false,traversed=nil)
|
1057
|
+
def attributes(include_bases=false, traversed=nil)
|
1058
1058
|
atts = @children.find_all { |c| c.is_a?(IDL::AST::Attribute) }
|
1059
1059
|
atts.concat(base_attributes(traversed || [])) if include_bases
|
1060
1060
|
atts
|
@@ -1316,8 +1316,8 @@ module IDL::AST
|
|
1316
1316
|
end
|
1317
1317
|
|
1318
1318
|
def set_component_and_key(comp, key)
|
1319
|
-
unless comp
|
1320
|
-
unless comp
|
1319
|
+
unless comp&.is_a?(IDL::Type::ScopedName) && comp.is_node?(IDL::AST::TemplateParam)
|
1320
|
+
unless comp&.is_a?(IDL::Type::ScopedName) && comp.is_node?(IDL::AST::Component)
|
1321
1321
|
raise (comp ?
|
1322
1322
|
"invalid managed component for #{typename} #{scoped_lm_name}: #{comp.typename}" :
|
1323
1323
|
"missing managed component specification for #{typename} #{scoped_lm_name}")
|
@@ -1327,7 +1327,7 @@ module IDL::AST
|
|
1327
1327
|
end
|
1328
1328
|
@resolved_comp = comp.resolved_type.node
|
1329
1329
|
end
|
1330
|
-
unless key
|
1330
|
+
unless key&.is_a?(IDL::Type::ScopedName) && key.is_node?(IDL::AST::TemplateParam)
|
1331
1331
|
## TODO : add check for Components::PrimaryKeyBase base type
|
1332
1332
|
unless key.nil? || (key.is_a?(IDL::Type::ScopedName) && key.is_node?(IDL::AST::Valuetype))
|
1333
1333
|
raise "invalid primary key for #{typename} #{scoped_lm_name}: #{key.typename}"
|
@@ -1338,13 +1338,13 @@ module IDL::AST
|
|
1338
1338
|
@primarykey = key.node if key
|
1339
1339
|
end
|
1340
1340
|
|
1341
|
-
def operations(include_bases=false,traversed=nil)
|
1341
|
+
def operations(include_bases=false, traversed=nil)
|
1342
1342
|
ops = @children.find_all { |c| c.is_a?(IDL::AST::Operation) }
|
1343
1343
|
ops.concat(base_operations(traversed || [])) if include_bases
|
1344
1344
|
ops
|
1345
1345
|
end
|
1346
1346
|
|
1347
|
-
def attributes(include_bases=false,traversed=nil)
|
1347
|
+
def attributes(include_bases=false, traversed=nil)
|
1348
1348
|
atts = @children.find_all { |c| c.is_a?(IDL::AST::Attribute) }
|
1349
1349
|
atts.concat(base_attributes(traversed || [])) if include_bases
|
1350
1350
|
atts
|
@@ -1393,7 +1393,7 @@ module IDL::AST
|
|
1393
1393
|
@base = parent.node
|
1394
1394
|
end
|
1395
1395
|
|
1396
|
-
def ports(include_bases=false,traversed=nil)
|
1396
|
+
def ports(include_bases=false, traversed=nil)
|
1397
1397
|
ports = @children.inject([]) do |lst, c|
|
1398
1398
|
lst.concat(c.ports) if IDL::AST::Port === c
|
1399
1399
|
lst
|
@@ -1402,7 +1402,7 @@ module IDL::AST
|
|
1402
1402
|
ports
|
1403
1403
|
end
|
1404
1404
|
|
1405
|
-
def attributes(include_bases=false,traversed=nil)
|
1405
|
+
def attributes(include_bases=false, traversed=nil)
|
1406
1406
|
atts = @children.inject([]) do |lst, c|
|
1407
1407
|
if IDL::AST::Port === c
|
1408
1408
|
lst.concat(c.attributes)
|
@@ -1472,7 +1472,7 @@ module IDL::AST
|
|
1472
1472
|
@base = parent.node
|
1473
1473
|
end
|
1474
1474
|
|
1475
|
-
def ports(include_bases=false,traversed=nil)
|
1475
|
+
def ports(include_bases=false, traversed=nil)
|
1476
1476
|
ports = @children.inject([]) do |lst, c|
|
1477
1477
|
lst.concat(c.ports) if IDL::AST::Port === c
|
1478
1478
|
lst
|
@@ -1481,11 +1481,11 @@ module IDL::AST
|
|
1481
1481
|
ports
|
1482
1482
|
end
|
1483
1483
|
|
1484
|
-
def operations(include_bases=false,traversed=nil)
|
1484
|
+
def operations(include_bases=false, traversed=nil)
|
1485
1485
|
include_bases ? base_operations(traversed || []) : []
|
1486
1486
|
end
|
1487
1487
|
|
1488
|
-
def attributes(include_bases=false,traversed=nil)
|
1488
|
+
def attributes(include_bases=false, traversed=nil)
|
1489
1489
|
atts = @children.inject([]) do |lst, c|
|
1490
1490
|
if IDL::AST::Port === c
|
1491
1491
|
lst.concat(c.attributes)
|
@@ -1556,7 +1556,7 @@ module IDL::AST
|
|
1556
1556
|
raise "invalid type for #{typename} #{scoped_lm_name}: #{@idltype.typename}"
|
1557
1557
|
end
|
1558
1558
|
else
|
1559
|
-
unless @idltype.is_a?(IDL::Type::NodeType) && (@idltype.is_node?(IDL::AST::Eventtype) ||
|
1559
|
+
unless @idltype.is_a?(IDL::Type::NodeType) && (@idltype.is_node?(IDL::AST::Eventtype) || @idltype.is_node?(IDL::AST::TemplateParam))
|
1560
1560
|
raise "invalid type for #{typename} #{scoped_lm_name}: #{@idltype.typename}"
|
1561
1561
|
end
|
1562
1562
|
end
|
@@ -1794,7 +1794,7 @@ module IDL::AST
|
|
1794
1794
|
raise "#{typename} #{scoped_lm_name} cannot inherit from #{tc.node.typename} #{tc.node.scoped_lm_name} multiple times"
|
1795
1795
|
end
|
1796
1796
|
if (not rtc.node.is_abstract?) and @bases.size > 0
|
1797
|
-
raise "concrete basevalue #{tc.node.typename} #{tc.node.scoped_lm_name} MUST "+
|
1797
|
+
raise "concrete basevalue #{tc.node.typename} #{tc.node.scoped_lm_name} MUST " +
|
1798
1798
|
"be first and only non-abstract in inheritance list for #{typename} #{scoped_lm_name}"
|
1799
1799
|
end
|
1800
1800
|
@resolved_bases << rtc.node
|
@@ -1946,7 +1946,7 @@ module IDL::AST
|
|
1946
1946
|
@is_recursive = false
|
1947
1947
|
@has_incomplete_type = false
|
1948
1948
|
super(_name, _enclosure)
|
1949
|
-
@idltype
|
1949
|
+
@idltype = params[:type]
|
1950
1950
|
@visibility = (params[:visibility] == :public ? :public : :private)
|
1951
1951
|
unless @idltype.is_a?(IDL::Type::ScopedName) && @idltype.is_node?(IDL::AST::TemplateParam)
|
1952
1952
|
raise "Anonymous type definitions are not allowed!" if params[:type].is_anonymous?
|
@@ -2112,7 +2112,7 @@ module IDL::AST
|
|
2112
2112
|
attr_reader :idltype, :expression, :value
|
2113
2113
|
def initialize(_name, _enclosure, params)
|
2114
2114
|
super(_name, _enclosure)
|
2115
|
-
@idltype
|
2115
|
+
@idltype = params[:type]
|
2116
2116
|
@expression = params[:expression]
|
2117
2117
|
@value = nil
|
2118
2118
|
unless @idltype.is_a?(IDL::Type::ScopedName) && @idltype.is_node?(IDL::AST::TemplateParam)
|
@@ -2158,7 +2158,7 @@ module IDL::AST
|
|
2158
2158
|
attr_reader :idltype
|
2159
2159
|
def initialize(_name, _enclosure, params)
|
2160
2160
|
super(_name, _enclosure)
|
2161
|
-
@idltype
|
2161
|
+
@idltype = params[:type]
|
2162
2162
|
@attribute = params[:attribute]
|
2163
2163
|
unless ATTRIBUTE_MAP.has_key?(@attribute)
|
2164
2164
|
raise "invalid attribute for parameter: #{params[:attribute]}"
|
@@ -2210,7 +2210,7 @@ module IDL::AST
|
|
2210
2210
|
|
2211
2211
|
def initialize(_name, _enclosure, params)
|
2212
2212
|
super(_name, _enclosure)
|
2213
|
-
@idltype
|
2213
|
+
@idltype = params[:type]
|
2214
2214
|
@oneway = (params[:oneway] == true)
|
2215
2215
|
@in = []
|
2216
2216
|
@out = []
|
@@ -2322,7 +2322,7 @@ module IDL::AST
|
|
2322
2322
|
attr_reader :get_raises, :set_raises
|
2323
2323
|
def initialize(_name, _enclosure, params)
|
2324
2324
|
super(_name, _enclosure)
|
2325
|
-
@idltype
|
2325
|
+
@idltype = params[:type]
|
2326
2326
|
@get_raises = []
|
2327
2327
|
@set_raises = []
|
2328
2328
|
unless @idltype.is_a?(IDL::Type::ScopedName) && @idltype.is_node?(IDL::AST::TemplateParam)
|
@@ -2726,7 +2726,7 @@ module IDL::AST
|
|
2726
2726
|
attr_reader :idltype, :enum, :value
|
2727
2727
|
def initialize(_name, _enclosure, params)
|
2728
2728
|
super(_name, _enclosure)
|
2729
|
-
@idltype
|
2729
|
+
@idltype = IDL::Type::ULong.new
|
2730
2730
|
@enum = params[:enum]
|
2731
2731
|
@value = params[:value]
|
2732
2732
|
@enum.add_enumerator(self)
|
@@ -2776,4 +2776,3 @@ module IDL::AST
|
|
2776
2776
|
end
|
2777
2777
|
end # Typedef
|
2778
2778
|
end
|
2779
|
-
|
data/lib/ridl/options.rb
CHANGED
@@ -124,7 +124,7 @@ module IDL
|
|
124
124
|
when Array
|
125
125
|
v.collect {|e| _dup_elem(e) }
|
126
126
|
when Hash
|
127
|
-
v.inject({}) {|h, (k,e)| h[k] = _dup_elem(e); h }
|
127
|
+
v.inject({}) {|h, (k, e)| h[k] = _dup_elem(e); h }
|
128
128
|
when OpenStruct
|
129
129
|
v.class.new(_dup_elem(v.__send__(:table)))
|
130
130
|
else
|
data/lib/ridl/optparse_ext.rb
CHANGED