Exemplo n.º 1
0
        public override void Compile(ILProcessor processor, AstReturnStatement element, CilCompilationContext context)
        {
            if (element.Result != null)
            {
                context.Compile(element.Result);
            }

            processor.Emit(OpCodes.Ret);
        }
Exemplo n.º 2
0
        public override void Compile(ILProcessor processor, AstNewExpression @new, CilCompilationContext context)
        {
            if (@new.Constructor == null)
            {
                throw new NotImplementedException("NewCompiler: Constructor on " + @new + " is null.");
            }

            foreach (var argument in @new.Arguments)
            {
                context.Compile(argument);
            }
            processor.Emit(OpCodes.Newobj, context.ConvertReference(@new.Constructor));
        }