Skip to content

Fix chained predicates (issue #804)

Roland Kovács requested to merge zen3ger/ion:chained-conditions into master

This commit fixes the execution of if, else if and while block when the predicates are chained with logical operators.

Problem

if true && false
  echo NOK
else if false || true
  echo OK
end

# prints NOK

while true && false
  echo NOK
  break
end

# prints NOK

Solution

Use Vec<Statement> as expression field in both if and while to be able to keep track of more than one predicate.

Closes #804 (closed)

Merge request reports