Class: Riml::ControlStructure

Inherits:
Struct
  • Object
show all
Includes:
Indentable, Visitable
Defined in:
lib/riml/nodes.rb

Overview

abstract control structure

Direct Known Subclasses

ElseifNode, IfNode, UntilNode, WhileNode

Constant Summary

Constants included from Visitable

Visitable::EMPTY_CHILDREN

Instance Attribute Summary collapse

Attributes included from Visitable

#compiled_output, #force_newline, #parent_node, #parser_info, #scope

Instance Method Summary collapse

Methods included from Indentable

#indent, #indented?, #outdent

Methods included from Visitable

#accept, #location_info

Methods included from Walkable

#child_after, #child_previous_to, #each, #index_by_children, #index_by_member, #insert_after, #insert_before, #next, #previous, #remove, #replace_with

Instance Attribute Details

#bodyObject

Returns the value of attribute body

Returns:

  • (Object)

    the current value of body



767
768
769
# File 'lib/riml/nodes.rb', line 767

def body
  @body
end

#conditionObject

Returns the value of attribute condition

Returns:

  • (Object)

    the current value of condition



767
768
769
# File 'lib/riml/nodes.rb', line 767

def condition
  @condition
end

Instance Method Details

#childrenObject



775
776
777
# File 'lib/riml/nodes.rb', line 775

def children
  [condition, body]
end

#force_newline_if_child_call_node?Boolean

Returns:

  • (Boolean)


771
772
773
# File 'lib/riml/nodes.rb', line 771

def force_newline_if_child_call_node?
  false
end

#wrap_condition_in_parens!Object



779
780
781
782
783
784
# File 'lib/riml/nodes.rb', line 779

def wrap_condition_in_parens!
  return if WrapInParensNode === condition
  _parent = condition.parent
  self.condition = WrapInParensNode.new(condition)
  self.condition.parent = _parent
end