getWalker().walk(node.getChild(0));
writeToken(ASEmitterTokens.PAREN_CLOSE);
writeNewline(ASEmitterTokens.BLOCK_OPEN, true);
IConditionalNode[] cnodes = ASNodeUtils.getCaseNodes(node);
ITerminalNode dnode = ASNodeUtils.getDefaultNode(node);
for (int i = 0; i < cnodes.length; i++)
{
IConditionalNode casen = cnodes[i];
IContainerNode cnode = (IContainerNode) casen.getChild(1);
writeToken(ASEmitterTokens.CASE);
getWalker().walk(casen.getConditionalExpressionNode());
write(ASEmitterTokens.COLON);
if (!isImplicit(cnode))
write(ASEmitterTokens.SPACE);
getWalker().walk(casen.getStatementContentsNode());
if (i == cnodes.length - 1 && dnode == null)
{
indentPop();
writeNewline();
}
else
writeNewline();
}
if (dnode != null)
{
IContainerNode cnode = (IContainerNode) dnode.getChild(0);
write(ASEmitterTokens.DEFAULT);
write(ASEmitterTokens.COLON);
if (!isImplicit(cnode))
write(ASEmitterTokens.SPACE);
getWalker().walk(dnode);