lib/loxxy/back_end/resolver.rb in loxxy-0.3.03 vs lib/loxxy/back_end/resolver.rb in loxxy-0.4.00

- old
+ new

@@ -136,9 +136,14 @@ aSetExpr.value.accept(aVisitor) # Evaluate object part aSetExpr.object.accept(aVisitor) end + def after_logical_expr(aLogicalExpr, aVisitor) + # Force the visit of second operand (resolver should ignore shortcuts) + aLogicalExpr.operands.last.accept(aVisitor) + end + # Variable expressions require their variables resolved def before_variable_expr(aVarExpr) var_name = aVarExpr.name if !scopes.empty? && (scopes.last[var_name] == false) raise Loxxy::RuntimeError, "Can't read variable #{var_name} in its own initializer"