protected override void WriteLambda(LambdaExpression expr) { Write("("); WriteNodes("Parameters", expr.Parameters, false, ", ", true); Write(") => "); if (CanInline(expr.Body)) { WriteNode("Body", expr.Body); return; } Write("{"); Indent(); WriteEOL(); CSharpMultilineBlockTypes blockType = CSharpMultilineBlockTypes.Block; if (expr.Body.Type != typeof(void)) { if (expr.Body is BlockExpression bexpr && bexpr.HasMultipleLines()) { blockType = CSharpMultilineBlockTypes.Return; } else { Write("return "); } }
internal static CSharpBlockMetadata CreateMetadata(CSharpMultilineBlockTypes blockType = Inline, bool parentIsBlock = false) { return(new CSharpBlockMetadata { BlockType = blockType, ParentIsBlock = parentIsBlock }); }
internal void Deconstruct(out CSharpMultilineBlockTypes blockType, out bool parentIsBlock) { blockType = BlockType; parentIsBlock = ParentIsBlock; }