private EmitValHLSL EmitExpImpl(MidSwitchExp exp, Span span) { var value = EmitExp(exp.Value, span); span.WriteLine("switch ({0})", value); span.WriteLine("{"); foreach (var c in exp.Cases) { var cVal = EmitVal(c.Value, span); span.WriteLine("case {0}:", cVal); var cBody = EmitExp(c.Body, span.IndentSpan()); span.WriteLine("\tbreak;", cVal); } span.WriteLine("}"); return VoidVal; }
private void TransformChildrenImpl( MidSwitchExp exp) { exp.Value = Transform(exp.Value); foreach (var c in exp.Cases) { c.Value = Transform(c.Value); c.Body = Transform(c.Body); } }