// ECMA-262 13.12 The switch statement public Node parseSwitchCase() { Node test; List<Node> consequent = new List<Node>(); Node statement; Node node = new Node(); if (matchKeyword("default")) { lex(); test = null; } else { expectKeyword("case"); test = parseExpression(); } expect(":"); while (startIndex < length) { if (match("}") || matchKeyword("default") || matchKeyword("case")) { break; } statement = parseStatementListItem(); consequent.Add(statement); } return node.finishSwitchCase(test, consequent); }