Interesting to see that they don't shy away from using goto in their code. http://roslyn.codeplex.com/SourceControl/latest#Src/Compiler... Something I've just learned from looking at the code is you can jump between cases in a switch statement : switch (a) { case '1': ... case '2': goto case '1'; } Never realised you could do that.
Although there is no reason why they wouldn't use goto. The oft-cited "goto statement considered harmful" was in a very different context and basically just ranted against using goto when there are control structures that make intent clearer.