public override Tuple<ABT.Env, ABT.Stmt> GetStmt(ABT.Env env) {
ABT.Expr cond = this.Cond.GetExpr(env);
if (!cond.Type.IsScalar) {
throw new InvalidOperationException("Error: expected scalar Type");
}
Tuple<ABT.Env, ABT.Stmt> r_stmt = this.Stmt.GetStmt(env);
env = r_stmt.Item1;
ABT.Stmt stmt = r_stmt.Item2;
return new Tuple<ABT.Env, ABT.Stmt>(env, new ABT.IfStmt(cond, stmt));
}
}