Don't destroy and recreate type errors table when not needed

This commit is contained in:
Gaith Hallak 2022-04-19 17:38:30 +04:00
parent 8a9c2a61b2
commit 94c2f998ae

View File

@ -863,11 +863,9 @@ infer1(Env0, [{Contract, Ann, ConName, Impls, Code} | Rest], Acc, Options)
_ -> ok
end
end, Impls),
destroy_and_report_type_errors(Env),
create_type_errors(),
case What of
contract ->
ImplementedInterfaces = [proplists:get_value(Name, AllInterfaces) || Name <- ImplsNames],
ImplementedInterfaces = [I || I <- [proplists:get_value(Name, AllInterfaces) || Name <- ImplsNames], I /= undefined],
check_implemented_interfaces(ImplementedInterfaces, ConName, [ Fun || Fun = {letfun, _, _, _, _, _} <- Code1 ], [], AllInterfaces);
contract_interface ->
ok