Skip to content

Commit 5ade377

Browse files
committed
Use a helper function to avoid code duplication
1 parent ede8aee commit 5ade377

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

lib/stdlib/src/erl_lint.erl

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2844,10 +2844,10 @@ expr({'try',Anno,Es,Scs,Ccs,As}, Vt, St0) ->
28442844
vtupdate(Evt0, Vt), Uvt, St1),
28452845
Evt1 = vtupdate(Uvt, Evt0),
28462846
Rvt0 = Sccs,
2847-
Rvt1 = vtupdate(vtunsafe(TryAnno, Rvt0, Vt), Rvt0),
2847+
Rvt1 = vtupd_unsafe(TryAnno, Rvt0, Vt),
28482848
Evt2 = vtmerge(Evt1, Rvt1),
28492849
{Avt0,St} = exprs(As, vtupdate(Evt2, Vt), St2),
2850-
Avt1 = vtupdate(vtunsafe(TryAnno, Avt0, Vt), Avt0),
2850+
Avt1 = vtupd_unsafe(TryAnno, Avt0, Vt),
28512851
Avt = vtmerge(Evt2, Avt1),
28522852
{Avt,St};
28532853
expr({'catch',Anno,E}, Vt, St0) ->
@@ -2857,7 +2857,7 @@ expr({'catch',Anno,E}, Vt, St0) ->
28572857
true -> add_warning(Anno, deprecated_catch, St);
28582858
false -> St
28592859
end,
2860-
{vtupdate(vtunsafe({'catch',Anno}, Evt, Vt), Evt),St1};
2860+
{vtupd_unsafe({'catch', Anno}, Evt, Vt), St1};
28612861
expr({match,_Anno,P,E}, Vt, St0) ->
28622862
{Evt,St1} = expr(E, Vt, St0),
28632863
{Pvt,Pnew,St} = pattern(P, vtupdate(Evt, Vt), St1),
@@ -2886,7 +2886,7 @@ expr({op,Anno,Op,L,R}, Vt, St0) when Op =:= 'orelse'; Op =:= 'andalso' ->
28862886
{Evt1,St1} = expr(L, Vt, St0),
28872887
Vt1 = vtupdate(Evt1, Vt),
28882888
{Evt2,St2} = expr(R, Vt1, St1),
2889-
Evt3 = vtupdate(vtunsafe({Op,Anno}, Evt2, Vt1), Evt2),
2889+
Evt3 = vtupd_unsafe({Op, Anno}, Evt2, Vt1),
28902890
{vtmerge(Evt1, Evt3),St2};
28912891
expr({op,_Anno,EqOp,L,R}, Vt, St0) when EqOp =:= '=:='; EqOp =:= '=/=' ->
28922892
St = expr_check_match_zero(R, expr_check_match_zero(L, St0)),
@@ -4470,6 +4470,9 @@ vtunsafe({Tag,Anno}, Uvt, Vt) ->
44704470
Location = erl_anno:location(Anno),
44714471
[{V,{{unsafe,{Tag,Location}},U,As}} || {V,{_,U,As}} <- vtnew(Uvt, Vt)].
44724472

4473+
vtupd_unsafe(Where, NewVt, OldVt) ->
4474+
vtupdate(vtunsafe(Where, NewVt, OldVt), NewVt).
4475+
44734476
%% vtmerge(VarTable, VarTable) -> VarTable.
44744477
%% Merge two variables tables generating a new vartable. Give priority to
44754478
%% errors then warnings.

0 commit comments

Comments
 (0)