Esempio n. 1
0
        public static Expression CreateCallableFromMacroBody(BooCodeBuilder builder, MacroStatement macro)
        {
            // create closure for macro's body or null
            Expression macroBody = new NullLiteralExpression();

            if (macro.Block.Statements.Count > 0)
            {
                var callableExpr = new BlockExpression {
                    Body = macro.Block
                };
                callableExpr.Parameters.Add(
                    new ParameterDeclaration("OutputStream",
                                             builder.CreateTypeReference(typeof(TextWriter))));

                macroBody = callableExpr;
            }
            return(macroBody);
        }
Esempio n. 2
0
 public void AddBaseType(IType type)
 {
     _cd.BaseTypes.Add(_codeBuilder.CreateTypeReference(type));
 }