Module: Babeltrace2Gen::BTFieldClass::Enumeration

Included in:
Signed, Unsigned
Defined in:
lib/metababel/bt2_trace_class_generator.rb

Defined Under Namespace

Classes: Mapping, Signed, Unsigned

Instance Method Summary collapse

Instance Method Details

#get_declarator(trace_class:, variable:) ⇒ Object



589
590
591
592
593
594
595
# File 'lib/metababel/bt2_trace_class_generator.rb', line 589

def get_declarator(trace_class:, variable:)
  bt_type_internal = self.class.instance_variable_get(:@bt_type_internal)
  pr "#{variable} = bt_field_class_enumeration_#{bt_type_internal}_create(#{trace_class});"
  @mappings.each do |mapping|
    mapping.get_declarator(field_class: variable)
  end
end

#initialize(parent:, mappings:) ⇒ Object



581
582
583
584
585
586
587
# File 'lib/metababel/bt2_trace_class_generator.rb', line 581

def initialize(parent:, mappings:)
  @parent = parent
  @mappings = mappings.map do |mapping|
    # Handle inheritence
    self.class.const_get('Mapping').from_h(self, mapping)
  end
end