Browse Source

[java] add line position comments to help debugging

Cauê Waneck 11 years ago
parent
commit
80cd4df9a5
1 changed files with 10 additions and 1 deletions
  1. 10 1
      genjava.ml

+ 10 - 1
genjava.ml

@@ -1161,6 +1161,15 @@ let configure gen =
 		| _ -> t
 	in
 
+	let line_directive =
+		if Common.defined gen.gcon Define.RealPosition then
+			fun w p -> ()
+		else fun w p ->
+			let cur_line = Lexer.get_error_line p in
+			let file = Common.get_full_path p.pfile in
+			print w "//line %d \"%s\"" cur_line (Ast.s_escape file); newline w
+	in
+
 	let expr_s w e =
 		in_value := false;
 		let rec expr_s w e =
@@ -1404,11 +1413,11 @@ let configure gen =
 						if cur_line <> ((!last_line)+1) then begin print w "//#line %d \"%s\"" cur_line (Ast.s_escape file); newline w end;
 						last_line := cur_line in*)
 					List.iter (fun e ->
-						(*line_directive e.epos;*)
 						in_value := false;
 						(match e.eexpr with
 						| TConst _ -> ()
 						| _ ->
+							line_directive w e.epos;
 							expr_s w e;
 							(if has_semicolon e then write w ";");
 							newline w);