Browse Source

fix override error position reporting

Nicolas Cannasse 11 years ago
parent
commit
11f52cd7e8
1 changed files with 2 additions and 3 deletions
  1. 2 3
      typeload.ml

+ 2 - 3
typeload.ml

@@ -766,17 +766,16 @@ let check_overloads ctx c =
 		) (f :: f.cf_overloads)) (c.cl_ordered_fields @ c.cl_ordered_statics)
 		) (f :: f.cf_overloads)) (c.cl_ordered_fields @ c.cl_ordered_statics)
 
 
 let check_overriding ctx c =
 let check_overriding ctx c =
-	let p = c.cl_pos in
 	match c.cl_super with
 	match c.cl_super with
 	| None ->
 	| None ->
 		(match c.cl_overrides with
 		(match c.cl_overrides with
 		| [] -> ()
 		| [] -> ()
 		| i :: _ ->
 		| i :: _ ->
-			display_error ctx ("Field " ^ i.cf_name ^ " is declared 'override' but doesn't override any field") p)
+			display_error ctx ("Field " ^ i.cf_name ^ " is declared 'override' but doesn't override any field") i.cf_pos)
 	| Some (csup,params) ->
 	| Some (csup,params) ->
 		PMap.iter (fun i f ->
 		PMap.iter (fun i f ->
+			let p = f.cf_pos in
 			let check_field f get_super_field is_overload = try
 			let check_field f get_super_field is_overload = try
-				let p = f.cf_pos in
 				(if is_overload && not (Meta.has Meta.Overload f.cf_meta) then
 				(if is_overload && not (Meta.has Meta.Overload f.cf_meta) then
 					display_error ctx ("Missing @:overload declaration for field " ^ i) p);
 					display_error ctx ("Missing @:overload declaration for field " ^ i) p);
 				let t, f2 = get_super_field csup i in
 				let t, f2 = get_super_field csup i in