public Completion ExecuteIfStatement(IfStatement ifStatement) { var exprRef = _engine.EvaluateExpression(ifStatement.Test); Completion result; if (TypeConverter.ToBoolean(_engine.GetValue(exprRef))) { result = ExecuteStatement(ifStatement.Consequent); } else if (ifStatement.Alternate != null) { result = ExecuteStatement(ifStatement.Alternate); } else { return new Completion(Completion.Normal, null, null); } return result; }
private void EmitIfStatement(IfStatement s) { Write("if("); Emit(s.Test); Write(") "); Emit(s.Consequent); if (null != s.Alternate) { Write(" else "); Emit(s.Alternate); } _skipeolonce = true; }