Browse Source

[lexer] discard comment tokens in sharp mode

closes #9894
Simon Krajewski 4 years ago
parent
commit
e53f0e9d90
2 changed files with 14 additions and 0 deletions
  1. 5 0
      src/syntax/lexer.ml
  2. 9 0
      tests/unit/src/unit/issues/Issue9894.hx

+ 5 - 0
src/syntax/lexer.ml

@@ -612,6 +612,11 @@ let rec sharp_token lexbuf =
 	| Plus (Chars " \t") -> sharp_token lexbuf
 	| "\r\n" -> newline lexbuf; sharp_token lexbuf
 	| '\n' | '\r' -> newline lexbuf; sharp_token lexbuf
+	| "/*" ->
+		reset();
+		let pmin = lexeme_start lexbuf in
+		ignore(try comment lexbuf with Exit -> error Unclosed_comment pmin);
+		sharp_token lexbuf
 	| _ -> token lexbuf
 
 let lex_xml p lexbuf =

+ 9 - 0
tests/unit/src/unit/issues/Issue9894.hx

@@ -0,0 +1,9 @@
+package unit.issues;
+
+class Issue9894 extends unit.Test {
+	function test() {
+		#if (/* Hello */ debug)
+		#end
+		utest.Assert.pass();
+	}
+}