|
2 | 2 | require_relative '../utils/gen_babeltrace_model_helper' |
3 | 3 | require 'set' |
4 | 4 |
|
5 | | -<<<<<<< HEAD |
6 | | -$integer_sizes = INT_SIZE_MAP.transform_values { |v| v * 8 } |
7 | | -$integer_signed = INT_SIGN_MAP |
8 | | - |
9 | | -def integer_size(t) |
10 | | - return 64 if t.match(/\*/) |
11 | | - |
12 | | - r = $integer_sizes[t] |
13 | | - raise "unknown integer type #{t}" if r.nil? |
14 | | - |
15 | | - r |
16 | | -end |
17 | | - |
18 | | -def integer_signed?(t) |
19 | | - return false if t.match(/\*/) |
20 | | - |
21 | | - r = $integer_signed[t] |
22 | | - raise "unknown integer type #{t}" if r.nil? |
23 | | - |
24 | | - r |
25 | | -end |
26 | | - |
27 | | -def meta_parameter_types_name(m, dir) |
28 | | - lttng = if dir == :start |
29 | | - m.lttng_in_type |
30 | | - else |
31 | | - m.lttng_out_type |
32 | | - end |
33 | | - name = lttng.name |
34 | | - t = m.command[m.name].type.type |
35 | | - |
36 | | - case m |
37 | | - when ScalarMetaParameter |
38 | | - if lttng.length |
39 | | - [['ctf_integer', 'size_t', "_#{name}_length", nil], |
40 | | - [lttng.macro.to_s, "#{t} *", "#{name}", lttng]] |
41 | | - else |
42 | | - [[lttng.macro.to_s, "#{t}", "#{name}", lttng]] |
43 | | - end |
44 | | - when ArrayMetaParameter, InString, OutString |
45 | | - if lttng.macro.to_s == 'ctf_string' |
46 | | - [['ctf_string', "#{t} *", "#{name}", lttng]] |
47 | | - else |
48 | | - [['ctf_integer', 'size_t', "_#{name}_length", nil], |
49 | | - [lttng.macro.to_s, "#{t} *", "#{name}", lttng]] |
50 | | - end |
51 | | - when OutPtrString |
52 | | - [['ctf_string', "#{t}", "#{name}", lttng]] |
53 | | - else |
54 | | - raise "unsupported meta parameter class #{m.class} #{lttng.call_string} #{t}" |
55 | | - end |
56 | | -end |
57 | | - |
58 | | -def get_fields_types_name(c, dir) |
59 | | - if dir == :start |
60 | | - fields = (c.parameters || []).collect do |p| |
61 | | - [p.lttng_type.macro.to_s, p.type.to_s, p.name.to_s, p.lttng_type] |
62 | | - end |
63 | | - fields += c.meta_parameters.select { |m| m.is_a?(In) }.collect do |m| |
64 | | - meta_parameter_types_name(m, :start) |
65 | | - end.flatten(1) |
66 | | - else |
67 | | - r = c.type.lttng_type |
68 | | - fields = [] |
69 | | - fields = [[r.macro.to_s, c.type.to_s, "#{RESULT_NAME}", r]] if r |
70 | | - fields += c.meta_parameters.select { |m| m.kind_of?(Out) }.collect { |m| |
71 | | - meta_parameter_types_name(m, :stop) |
72 | | - end.flatten(1) |
73 | | - end |
74 | | - fields |
75 | | -end |
76 | | - |
77 | 5 | event_classes = |
78 | 6 | [[:lttng_ust_ze, $ze_commands], |
79 | 7 | [:lttng_ust_zet, $zet_commands], |
|
0 commit comments