Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Ledest:erlang:24
erlang
2071-Optimize-erl_lint-is_guard_test-2-3.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 2071-Optimize-erl_lint-is_guard_test-2-3.patch of Package erlang
From ad64b73a945ff3e663233620b9873189f0cd6aa9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Valim?= <jose.valim@dashbit.co> Date: Tue, 7 Dec 2021 13:41:35 +0100 Subject: [PATCH] Optimize erl_lint:is_guard_test/2-3 Only compute erl_lint:start() if there are records. --- lib/stdlib/src/erl_lint.erl | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/stdlib/src/erl_lint.erl b/lib/stdlib/src/erl_lint.erl index ad946d8777..f91938ee18 100644 --- a/lib/stdlib/src/erl_lint.erl +++ b/lib/stdlib/src/erl_lint.erl @@ -2261,12 +2261,16 @@ is_guard_test(Expression, Forms) -> is_guard_test(Expression, Forms, IsOverridden) -> RecordAttributes = [A || A = {attribute, _, record, _D} <- Forms], + is_guard_test1(set_file(Expression, "nofile"), RecordAttributes, IsOverridden). + +is_guard_test1(NoFileExpression, [], IsOverridden) -> + is_guard_test2(NoFileExpression, {maps:new(),IsOverridden}); +is_guard_test1(NoFileExpression, RecordAttributes, IsOverridden) -> St0 = foldl(fun(Attr0, St1) -> Attr = set_file(Attr0, "none"), attribute_state(Attr, St1) end, start(), RecordAttributes), - is_guard_test2(set_file(Expression, "nofile"), - {St0#lint.records,IsOverridden}). + is_guard_test2(NoFileExpression, {St0#lint.records,IsOverridden}). %% is_guard_test2(Expression, RecordDefs :: dict:dict()) -> boolean(). is_guard_test2({call,Anno,{atom,Ar,record},[E,A]}, Info) -> -- 2.31.1
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor