Method: Code::Parser::If#root

Defined in:
lib/code/parser/if.rb

#rootObject



46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/code/parser/if.rb', line 46

def root
  (
    (if_keyword | unless_keyword).aka(:first_operator) << whitespace <<
      statement.aka(:first_statement) << code.aka(:first_body) <<
      (
        (
          elsif_keyword.aka(:operator) << whitespace <<
            statement.aka(:statement) << code.aka(:body)
        ) |
          (
            else_keyword << whitespace <<
              (if_keyword | unless_keyword).aka(:operator) <<
              whitespace << statement.aka(:statement) << code.aka(:body)
          ) | (else_keyword.aka(:operator) << code.aka(:body))
      ).repeat(1).aka(:elses).maybe << end_keyword.maybe
  ).aka(:if) | statement
end