AST.DoWhileStmt.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) {
            Tuple<ABT.Env, ABT.Stmt> r_body = this.Body.GetStmt(env);
            env = r_body.Item1;
            ABT.Stmt body = r_body.Item2;

            ABT.Expr cond = this.Cond.GetExpr(env);
            env = cond.Env;

            if (!cond.Type.IsScalar) {
                throw new InvalidOperationException("Error: conditional expression in while Loop must be scalar.");
            }

            return new Tuple<ABT.Env, ABT.Stmt>(env, new ABT.DoWhileStmt(body, cond));
        }
    }