diff --git a/src/org/mozilla/javascript/Parser.java b/src/org/mozilla/javascript/Parser.java index 9f3ec46eb2..a1d6cb6198 100644 --- a/src/org/mozilla/javascript/Parser.java +++ b/src/org/mozilla/javascript/Parser.java @@ -333,7 +333,6 @@ private int peekToken() lineno++; sawEOL = true; } else { - sawEOL = false; if (compilerEnv.isRecordingComments()) { recordComment(lineno); } diff --git a/testsrc/org/mozilla/javascript/tests/ParserTest.java b/testsrc/org/mozilla/javascript/tests/ParserTest.java index 8678a4c314..144662b300 100644 --- a/testsrc/org/mozilla/javascript/tests/ParserTest.java +++ b/testsrc/org/mozilla/javascript/tests/ParserTest.java @@ -28,6 +28,16 @@ public void testAutoSemiColonBetweenNames() { assertEquals("z", third.getString()); } + public void testParseAutoSemiColonBeforeNewlineAndComments() throws IOException { + AstRoot root = parseAsReader( + "var s = 3\n" + + "/* */var t = 1;"); + assertNotNull(root.getComments()); + assertEquals(1, root.getComments().size()); + + assertEquals("var s = 3;\nvar t = 1;\n", root.toSource()); + } + public void testLinenoAssign() { AstRoot root = parse("\n\na = b"); ExpressionStatement st = (ExpressionStatement) root.getFirstChild();