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); }
public void AddBaseType(IType type) { _cd.BaseTypes.Add(_codeBuilder.CreateTypeReference(type)); }