Beispiel #1
0
        public override void EnterLabeledStmt(GolangParser.LabeledStmtContext context)
        {
            // labeledStmt
            //     : IDENTIFIER ':' statement

            PushBlock();
            m_labels.Add(SanitizedIdentifier(context.IDENTIFIER().GetText()), false);

            // Check labeled continue in for loop
            // Check labeled break in for loop, select and switch
        }
Beispiel #2
0
        public override void ExitLabeledStmt(GolangParser.LabeledStmtContext context)
        {
            // labeledStmt
            //     : IDENTIFIER ':' statement

            string label     = SanitizedIdentifier(context.IDENTIFIER().GetText());
            string statement = PopBlock(false);

            m_targetFile.Append($"{label}:{CheckForBodyCommentsRight(context)}");

            if (!WroteLineFeed)
            {
                m_targetFile.AppendLine();
            }

            m_targetFile.Append(statement);
        }