Class: MODL::Parser::Parsed::ParsedValueItem

Inherits:
MODLParserBaseListener show all
Defined in:
lib/modl/parser/parsed.rb

Overview

Class to represent a parsed grammar object

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from MODLParserBaseListener

#enterModl, #enterModl_array, #enterModl_array_conditional, #enterModl_array_conditional_return, #enterModl_array_item, #enterModl_array_value_item, #enterModl_condition, #enterModl_condition_group, #enterModl_condition_test, #enterModl_map, #enterModl_map_conditional, #enterModl_map_conditional_return, #enterModl_map_item, #enterModl_nb_array, #enterModl_operator, #enterModl_pair, #enterModl_primitive, #enterModl_structure, #enterModl_top_level_conditional, #enterModl_top_level_conditional_return, #enterModl_value, #enterModl_value_conditional, #enterModl_value_conditional_return, #enter_every_rule, #exitModl, #exitModl_array, #exitModl_array_conditional, #exitModl_array_conditional_return, #exitModl_array_item, #exitModl_array_value_item, #exitModl_condition, #exitModl_condition_group, #exitModl_condition_test, #exitModl_map, #exitModl_map_conditional, #exitModl_map_conditional_return, #exitModl_map_item, #exitModl_nb_array, #exitModl_operator, #exitModl_pair, #exitModl_primitive, #exitModl_structure, #exitModl_top_level_conditional, #exitModl_top_level_conditional_return, #exitModl_value, #exitModl_value_conditional, #exitModl_value_conditional_return, #exitModl_value_item, #exit_every_rule, #visit_error_node, #visit_terminal

Methods inherited from MODLParserListener

#enterModl, #enterModl_array, #enterModl_array_conditional, #enterModl_array_conditional_return, #enterModl_array_item, #enterModl_array_value_item, #enterModl_condition, #enterModl_condition_group, #enterModl_condition_test, #enterModl_map, #enterModl_map_conditional, #enterModl_map_conditional_return, #enterModl_map_item, #enterModl_nb_array, #enterModl_operator, #enterModl_pair, #enterModl_primitive, #enterModl_structure, #enterModl_top_level_conditional, #enterModl_top_level_conditional_return, #enterModl_value, #enterModl_value_conditional, #enterModl_value_conditional_return, #exitModl, #exitModl_array, #exitModl_array_conditional, #exitModl_array_conditional_return, #exitModl_array_item, #exitModl_array_value_item, #exitModl_condition, #exitModl_condition_group, #exitModl_condition_test, #exitModl_map, #exitModl_map_conditional, #exitModl_map_conditional_return, #exitModl_map_item, #exitModl_nb_array, #exitModl_operator, #exitModl_pair, #exitModl_primitive, #exitModl_structure, #exitModl_top_level_conditional, #exitModl_top_level_conditional_return, #exitModl_value, #exitModl_value_conditional, #exitModl_value_conditional_return, #exitModl_value_item

Constructor Details

#initialize(global) ⇒ ParsedValueItem

Returns a new instance of ParsedValueItem.



512
513
514
# File 'lib/modl/parser/parsed.rb', line 512

def initialize(global)
  @global = global
end

Instance Attribute Details

#valueObject

Returns the value of attribute value.



509
510
511
# File 'lib/modl/parser/parsed.rb', line 509

def value
  @value
end

#valueConditionalObject

Returns the value of attribute valueConditional.



510
511
512
# File 'lib/modl/parser/parsed.rb', line 510

def valueConditional
  @valueConditional
end

Instance Method Details

#enterModl_value_item(ctx) ⇒ Object



520
521
522
523
524
525
526
527
528
529
530
# File 'lib/modl/parser/parsed.rb', line 520

def enterModl_value_item(ctx)
  modl_value_conditional = ctx.modl_value_conditional
  unless modl_value_conditional.nil?
    @valueConditional = ParsedValueConditional.new @global
    modl_value_conditional.enter_rule(@valueConditional)
  end
  modl_value = ctx.modl_value
  return if modl_value.nil?
  @value = ParsedValue.new @global
  modl_value.enter_rule(@value)
end

#extract_hashObject



532
533
534
535
# File 'lib/modl/parser/parsed.rb', line 532

def extract_hash
  return @value.extract_hash if @value
  return @valueConditional.extract_hash if @valueConditional
end

#find_property(key) ⇒ Object



516
517
518
# File 'lib/modl/parser/parsed.rb', line 516

def find_property(key)
  @value.find_property(key) if @value
end