|
@@ -3291,7 +3291,12 @@ and type_expr ctx (e,p) (with_type:with_type) =
|
|
|
| TAbstract({a_impl = Some c},_) when PMap.mem "toString" c.cl_statics -> call_to_string ctx c e
|
|
|
| _ -> e)
|
|
|
| (Meta.This,_,_) ->
|
|
|
- List.hd ctx.this_stack
|
|
|
+ let e = List.hd ctx.this_stack in
|
|
|
+ let rec loop e = match e.eexpr with
|
|
|
+ | TConst TThis -> get_this ctx e.epos
|
|
|
+ | _ -> Type.map_expr loop e
|
|
|
+ in
|
|
|
+ loop e
|
|
|
| _ -> e()
|
|
|
in
|
|
|
ctx.meta <- old;
|