AST.IfElseStmt.GetStmt C# (CSharp) Метод

GetStmt() публичный Метод

public GetStmt ( ABT env ) : ABT.Stmt>.Tuple
env ABT
Результат ABT.Stmt>.Tuple
        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_true_stmt = this.TrueStmt.GetStmt(env);
            env = r_true_stmt.Item1;
            ABT.Stmt true_stmt = r_true_stmt.Item2;

            Tuple<ABT.Env, ABT.Stmt> r_false_stmt = this.FalseStmt.GetStmt(env);
            env = r_false_stmt.Item1;
            ABT.Stmt false_stmt = r_false_stmt.Item2;

            return new Tuple<ABT.Env, ABT.Stmt>(env, new ABT.IfElseStmt(cond, true_stmt, false_stmt));
        }
    }