diff --git a/lib/ast/if_expression.rb b/lib/ast/if_expression.rb index 9a94ff1d..a52d7f40 100644 --- a/lib/ast/if_expression.rb +++ b/lib/ast/if_expression.rb @@ -11,6 +11,9 @@ module Ast puts "compiling if condition #{cond}" cond_val = cond.compile(context) + unless cond_val.is_a? Vm::BranchCondition + cond_val = cond_val.is_true? f + end f.b true_block , condition_code: cond_val.operator f.insertion_point.branch = true_block