Commit fadf159a authored by Robert Griesemer's avatar Robert Griesemer

fix a bug: do not print a ';' after a label if there wasn't one

R=r
OCL=25526
CL=25528
parent 3689e221
......@@ -760,7 +760,7 @@ func (P *Printer) StatementList(list *vector.Vector) {
if i == 0 {
P.newlines = 1;
} else { // i > 0
if !P.opt_semi {
if !P.opt_semi || *optsemicolons {
// semicolon is required
P.separator = semicolon;
}
......@@ -806,6 +806,10 @@ func (P *Printer) DoLabelDecl(s *AST.LabelDecl) {
P.indentation--;
P.Expr(s.Label);
P.Token(s.Pos, Scanner.COLON);
// TODO not quite correct:
// - we must not print this optional semicolon, as it may invalidate code.
// - this will change once the AST reflects the LabelStatement change
P.opt_semi = true;
P.indentation++;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment