public override Expression Compile() { var swithCases = WhenNodes.Select(CompileWhen); var defaultCase = CompileElseNode(); return(Switch(typeof(iObject), Constant(true), defaultCase, null, swithCases)); }
public override Expression Compile() { var caseValue = ValueNode.Accept(Compiler); var callSite = new CallSite(Symbol.EQQ, Visibility.Public, ArgumentKind.Simple); var swithCases = WhenNodes.Select(n => CompileWhen(n, caseValue, callSite)); var defaultCase = CompileElseNode(); return(Switch(typeof(iObject), Constant(true), defaultCase, null, swithCases)); }