|
@@ -87,21 +87,21 @@ object(self)
|
|
|
| Some l ->
|
|
|
l
|
|
|
| None ->
|
|
|
- let make_local name t meta pn =
|
|
|
- let v = alloc_var (VUser TVOArgument) name t pn in
|
|
|
+ let make_local name kind t meta pn =
|
|
|
+ let v = alloc_var kind name t pn in
|
|
|
v.v_meta <- v.v_meta @ meta;
|
|
|
v
|
|
|
in
|
|
|
let rec loop acc is_abstract_this syntax typed = match syntax,typed with
|
|
|
| syntax,(name,_,t) :: typed when is_abstract_this ->
|
|
|
- let v = make_local name t [] null_pos in
|
|
|
+ let v = make_local name VAbstractThis t [] null_pos in
|
|
|
v.v_meta <- (Meta.This,[],null_pos) :: v.v_meta;
|
|
|
loop ((v,None) :: acc) false syntax typed
|
|
|
| ((_,pn),opt,m,_,_) :: syntax,(name,eo,t) :: typed ->
|
|
|
delay ctx PTypeField (fun() -> self#check_rest (typed = []) eo opt t pn);
|
|
|
if not is_extern then check_local_variable_name ctx name TVOArgument pn;
|
|
|
let eo = type_function_arg_value ctx t eo do_display in
|
|
|
- let v = make_local name t m pn in
|
|
|
+ let v = make_local name (VUser TVOArgument) t m pn in
|
|
|
if do_display && DisplayPosition.display_position#enclosed_in pn then
|
|
|
DisplayEmitter.display_variable ctx v pn;
|
|
|
loop ((v,eo) :: acc) false syntax typed
|