예제 #1
0
 internal override void Emit(ILGenerator ilg, bool preserve)
 {
     for (int i = 0; i < Exprs.Count - 1; i++)
     {
         Exprs[i].Emit(ilg, false);
     }
     Exprs.LastOrDefault()?.Emit(ilg, preserve);
 }
예제 #2
0
        internal override Node Bind(Binder b)
        {
            b.Bind(Exprs);
            foreach (var expr in Exprs)
            {
                expr.RequireValue();
            }
            var e = Exprs.LastOrDefault();

            if (e != null)
            {
                Symbol   = e.Symbol;
                Datatype = e.Datatype;
            }
            else
            {
                Datatype = Compilation.Get(NativeType.Void);
            }
            return(null);
        }