Module: Babeltrace2Gen::BTLocator
- Included in:
- BTEventClass, BTFieldClass, BTMemberClass, BTStreamClass, BTTraceClass
- Defined in:
- lib/metababel/bt2_stream_classes_generator.rb
Instance Attribute Summary collapse
-
#parent ⇒ Object
readonly
Returns the value of attribute parent.
-
#variable ⇒ Object
readonly
Returns the value of attribute variable.
Instance Method Summary collapse
- #rec_event_class ⇒ Object
- #rec_menber_class ⇒ Object
- #rec_stream_class ⇒ Object
- #resolve_path(path) ⇒ Object
Instance Attribute Details
#parent ⇒ Object (readonly)
Returns the value of attribute parent.
29 30 31 |
# File 'lib/metababel/bt2_stream_classes_generator.rb', line 29 def parent @parent end |
#variable ⇒ Object (readonly)
Returns the value of attribute variable.
29 30 31 |
# File 'lib/metababel/bt2_stream_classes_generator.rb', line 29 def variable @variable end |
Instance Method Details
#rec_event_class ⇒ Object
35 36 37 |
# File 'lib/metababel/bt2_stream_classes_generator.rb', line 35 def rec_event_class is_a?(Babeltrace2Gen::BTEventClass) ? self : @parent.rec_event_class end |
#rec_menber_class ⇒ Object
39 40 41 |
# File 'lib/metababel/bt2_stream_classes_generator.rb', line 39 def rec_menber_class is_a?(Babeltrace2Gen::BTMemberClass) ? self : @parent.rec_menber_class end |
#rec_stream_class ⇒ Object
31 32 33 |
# File 'lib/metababel/bt2_stream_classes_generator.rb', line 31 def rec_stream_class is_a?(Babeltrace2Gen::BTStreamClass) ? self : @parent.rec_stream_class end |
#resolve_path(path) ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/metababel/bt2_stream_classes_generator.rb', line 43 def resolve_path(path) root, id = path.match(/^(PACKET_CONTEXT|EVENT_COMMON_CONTEXT|EVENT_SPECIFIC_CONTEXT|EVENT_PAYLOAD)\["?(.+)?"\]/).captures field_class = case root when 'PACKET_CONTEXT' rec_stream_class.packet_context_field_class when 'EVENT_COMMON_CONTEXT' rec_stream_class.event_common_context_field_class when 'EVENT_SPECIFIC_CONTEXT' rec_event_class.specific_context_field_class when 'EVENT_PAYLOAD' rec_event_class.payload_field_class else raise "invalid path #{path}" end [field_class, id] end |