Răsfoiți Sursa

[parser] behave like a real parser regarding doc comments

closes #10171
Simon Krajewski 2 ani în urmă
părinte
comite
2db4397280

+ 1 - 1
src/syntax/parser.ml

@@ -192,7 +192,7 @@ let get_doc s =
 		| None -> None
 		| Some (d,pos) ->
 			last_doc := None;
-			if pos = p.pmin then Some d else None
+			Some d
 
 let unsupported_decl_flag decl flag pos =
 	let msg = (s_decl_flag flag) ^ " modifier is not supported for " ^ decl in

+ 1 - 1
src/syntax/parserEntry.ml

@@ -243,9 +243,9 @@ let parse entry ctx code file =
 		match fst tk with
 		| Comment s ->
 			(* if encloses_resume (pos tk) then syntax_completion SCComment (pos tk); *)
-			let tk = next_token() in
 			let l = String.length s in
 			if l > 0 && s.[0] = '*' then last_doc := Some (String.sub s 1 (l - (if l > 1 && s.[l-1] = '*' then 2 else 1)), (snd tk).pmin);
+			let tk = next_token() in
 			tk
 		| CommentLine s ->
 			if !in_display_file then begin

+ 14 - 0
tests/misc/projects/Issue10171/Main.hx

@@ -0,0 +1,14 @@
+/**
+	I'm a library!
+**/
+
+/**
+	a random number generator (only works once)
+**/
+function randomNumber() {
+	return 7;
+}
+
+function main() {
+	randomNumber();
+}

+ 4 - 0
tests/misc/projects/Issue10171/compile.hxml

@@ -0,0 +1,4 @@
+-cp src
+-main Main
+--interp
+--display "Main.hx@150@signature"

+ 1 - 0
tests/misc/projects/Issue10171/compile.hxml.stderr

@@ -0,0 +1 @@
+{"signatures":[{"documentation":"\n\ta random number generator (only works once)\n","label":"():Int","parameters":[]}],"activeParameter":0,"activeSignature":0}