2
0
Эх сурвалжийг харах

keep AST expression for using + macro (closes #2003)

Simon Krajewski 12 жил өмнө
parent
commit
98be627119
1 өөрчлөгдсөн 4 нэмэгдсэн , 4 устгасан
  1. 4 4
      typer.ml

+ 4 - 4
typer.ml

@@ -3048,7 +3048,7 @@ and type_call ctx e el (with_type:with_type) p =
 	let def () = (match e with
 		| EField ((EConst (Ident "super"),_),_) , _ -> ctx.in_super_call <- true
 		| _ -> ());
-		build_call ctx (type_access ctx (fst e) (snd e) MCall) el with_type p
+		build_call ctx e (type_access ctx (fst e) (snd e) MCall) el with_type p
 	in
 	match e, el with
 	| (EConst (Ident "trace"),p) , e :: el ->
@@ -3068,7 +3068,7 @@ and type_call ctx e el (with_type:with_type) p =
 		let ecb = try Some (type_ident_raise ctx "callback" p1 MCall) with Not_found -> None in
 		(match ecb with
 		| Some ecb ->
-			build_call ctx ecb args with_type p
+			build_call ctx e ecb args with_type p
 		| None ->
 			display_error ctx "callback syntax has changed to func.bind(args)" p;
 			let e = type_expr ctx e Value in
@@ -3107,7 +3107,7 @@ and type_call ctx e el (with_type:with_type) p =
 	| _ ->
 		def ()
 
-and build_call ctx acc el (with_type:with_type) p =
+and build_call ctx e acc el (with_type:with_type) p =
 	let fopts t f = match follow t with
 		| (TInst (c,pl) as t) -> Some (t,f)
 		| (TAnon a) as t -> (match !(a.a_status) with Statics c -> Some (TInst(c,[]),f) | _ -> Some (t,f))
@@ -3130,7 +3130,7 @@ and build_call ctx acc el (with_type:with_type) p =
 		begin match ef.cf_kind with
 		| Method MethMacro ->
 			let ethis = type_module_type ctx (TClassDecl cl) None p in
-			build_call ctx (AKMacro (ethis,ef)) (Interp.make_ast eparam :: el) with_type p
+			build_call ctx e (AKMacro (ethis,ef)) (e :: el) with_type p
 		| _ ->
 			let t = follow (field_type ctx cl [] ef p) in
 			(* for abstracts we have to apply their parameters to the static function *)