瀏覽代碼

don't get_full_path on null_pos for findReferences request

Aleksandr Kuzmenko 5 年之前
父節點
當前提交
c35c91ab36
共有 3 個文件被更改,包括 9 次插入4 次删除
  1. 7 1
      src/context/display/display.ml
  2. 2 2
      src/context/display/findReferences.ml
  3. 0 1
      src/core/path.ml

+ 7 - 1
src/context/display/display.ml

@@ -23,8 +23,14 @@ let parse_module ctx m p =
 
 module ReferencePosition = struct
 	let reference_position = ref ("",null_pos,SKOther)
-	let set (s,p,k) = reference_position := (s,{p with pfile = Path.get_full_path p.pfile},k)
+	let set (s,p,k) =
+		let p =
+			if p = null_pos then p
+			else {p with pfile = Path.get_full_path p.pfile}
+		in
+		reference_position := (s,p,k)
 	let get () = !reference_position
+	let reset () = reference_position := ("",null_pos,SKOther)
 end
 
 module ExprPreprocessing = struct

+ 2 - 2
src/context/display/findReferences.ml

@@ -27,7 +27,7 @@ let find_references tctx com with_definition pos_filters =
 		with Not_found -> acc)
 	) symbols [] in
 	t();
-	Display.ReferencePosition.set ("",null_pos,SKOther);
+	Display.ReferencePosition.reset();
 	usages
 
 let collect_reference_positions com =
@@ -129,7 +129,7 @@ let find_implementations tctx com name pos kind =
 		if c <> 0 then c else compare p1.pmin p2.pmin
 	) usages in
 	t();
-	Display.ReferencePosition.set ("",null_pos,SKOther);
+	Display.ReferencePosition.reset();
 	DisplayException.raise_positions usages
 
 let find_implementations tctx com =

+ 0 - 1
src/core/path.ml

@@ -133,7 +133,6 @@ let get_full_path =
 			let absolute_path =
 				if length > 0 && String.unsafe_get f 0 = '/' then f
 				else if length = 0 then Unix.getcwd()
-				else if f = "?" then f
 				else (Unix.getcwd()) ^ "/" ^ f
 			in
 			let has_trailing_slash =