Skip to content

Commit ea33d83

Browse files
mrochfacebook-github-bot
authored andcommitted
reposition two more recursions on super
Summary: missed these in {D4459910} Reviewed By: samwgoldman Differential Revision: D4471760 fbshipit-source-id: f43dd8c220614e80306dbcfdb19644fd38bd4e49
1 parent 374321a commit ea33d83

1 file changed

Lines changed: 7 additions & 6 deletions

File tree

src/typing/flow_js.ml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3513,9 +3513,9 @@ let rec __flow cx ((l: Type.t), (u: Type.use_t)) trace =
35133513
LookupT (ureason, NonstrictReturning None, [], propref,
35143514
LookupProp (Field (ut, upolarity))))
35153515
| _ ->
3516-
rec_flow cx trace (super,
3517-
LookupT (ureason, Strict lreason, [], propref,
3518-
LookupProp up))
3516+
let u =
3517+
LookupT (ureason, Strict lreason, [], propref, LookupProp up) in
3518+
rec_flow cx trace (super, ReposLowerT (lreason, u))
35193519
);
35203520

35213521
rec_flow cx trace (l, UseT (use_op, uproto))
@@ -3644,7 +3644,7 @@ let rec __flow cx ((l: Type.t), (u: Type.use_t)) trace =
36443644
| (InstanceT _, UseT (use_op, (InstanceT _ as u))) ->
36453645
rec_flow cx trace (l, UseT (use_op, ExtendsT([],l,u)))
36463646

3647-
| InstanceT (_, _, super, implements, instance),
3647+
| InstanceT (reason, _, super, implements, instance),
36483648
UseT (use_op, ExtendsT (try_ts_on_failure, l,
36493649
(InstanceT (_, _, _, _, instance_super) as u))) ->
36503650
if instance.class_id = instance_super.class_id
@@ -3656,8 +3656,9 @@ let rec __flow cx ((l: Type.t), (u: Type.use_t)) trace =
36563656
then use the ExtendsT use type to search for a nominally matching
36573657
implementation, thereby short-circuiting a potentially expensive
36583658
structural test at the use site. *)
3659-
rec_flow cx trace (super, UseT (use_op,
3660-
ExtendsT (try_ts_on_failure @ implements, l, u)))
3659+
let u = UseT (use_op,
3660+
ExtendsT (try_ts_on_failure @ implements, l, u)) in
3661+
rec_flow cx trace (super, ReposLowerT (reason, u))
36613662

36623663
(********************************************************)
36633664
(* runtime types derive static types through annotation *)

0 commit comments

Comments
 (0)