public override void EnterExprCaseClause(GoParser.ExprCaseClauseContext context) { // exprSwitchStmt // : 'switch'(simpleStmt ';') ? expression ? '{' exprCaseClause * '}' // exprCaseClause // : exprSwitchCase ':' statementList // exprSwitchCase // : 'case' expressionList | 'default' ExprSwitchStatement exprSwitchStatement = m_exprSwitchStatements.Peek(); if (context.exprSwitchCase().expressionList() is null) { // Handle default case exprSwitchStatement.defaultCase = new ExprCaseStatement { leftComments = CheckForCommentsLeft(context.statementList(), 1) }; } else { // Handle new case exprSwitchStatement.caseStatements.Add(context, new ExprCaseStatement { leftComments = CheckForCommentsLeft(context.statementList(), 1) }); } IndentLevel++; PushBlock(); }
public override void ExitExprCaseClause(GoParser.ExprCaseClauseContext context) { // exprSwitchStmt // : 'switch'(simpleStmt ';') ? expression ? '{' exprCaseClause * '}' // exprCaseClause // : exprSwitchCase ':' statementList // exprSwitchCase // : 'case' expressionList | 'default' IndentLevel--; ExprSwitchStatement exprSwitchStatement = m_exprSwitchStatements.Peek(); GoParser.ExpressionListContext expressionList = context.exprSwitchCase().expressionList(); if (expressionList is null) { exprSwitchStatement.defaultCase.block = PopBlock(false); } else { if (!ExpressionLists.TryGetValue(expressionList, out ExpressionInfo[] expressions))