From 98e25abf8ee474bda2f110e78c5c528dd54fa6ac Mon Sep 17 00:00:00 2001 From: Torsten Ruger Date: Tue, 24 Jun 2014 12:22:32 +0300 Subject: [PATCH] broaden ifs possibilities --- lib/ast/if_expression.rb | 3 +++ 1 file changed, 3 insertions(+) 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