예제 #1
0
 public void Emit(RHC rhc, ObjExpr objx, CljILGen ilg)
 {
     for (int i = 0; i < _exprs.count() - 1; i++)
     {
         Expr e = (Expr)_exprs.nth(i);
         e.Emit(RHC.Statement, objx, ilg);
     }
     LastExpr.Emit(rhc, objx, ilg);
 }
예제 #2
0
        public Expression GenCode(RHC rhc, ObjExpr objx, GenContext context)
        {
            List <Expression> exprs = new List <Expression>(_exprs.count());

            for (int i = 0; i < _exprs.count() - 1; i++)
            {
                Expr e = (Expr)_exprs.nth(i);
                exprs.Add(e.GenCode(RHC.Statement, objx, context));
            }
            exprs.Add(LastExpr.GenCode(rhc, objx, context));

            return(Expression.Block(exprs));
        }
예제 #3
0
 public bool HasNormalExit()
 {
     return(LastExpr.HasNormalExit());
 }