Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Ledest:erlang:24
erlang
3509-erl_id_trans-Implement-support-for-maybe-....
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 3509-erl_id_trans-Implement-support-for-maybe-.-end.patch of Package erlang
From 217f3231c36ee0647524888d720a1d51e8b26261 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Gustavsson?= <bjorn@erlang.org> Date: Fri, 19 Nov 2021 12:34:06 +0100 Subject: [PATCH 09/12] erl_id_trans: Implement support for maybe ... end --- lib/stdlib/examples/erl_id_trans.erl | 11 +++++++++++ lib/stdlib/test/id_transform_SUITE.erl | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/lib/stdlib/examples/erl_id_trans.erl b/lib/stdlib/examples/erl_id_trans.erl index 292c06506a..d9d1154515 100644 --- a/lib/stdlib/examples/erl_id_trans.erl +++ b/lib/stdlib/examples/erl_id_trans.erl @@ -502,6 +502,17 @@ expr({'catch',Anno,E0}) -> %% No new variables added. E1 = expr(E0), {'catch',Anno,E1}; +expr({'maybe',MaybeAnno,Es0}) -> + Es = exprs(Es0), + {'maybe',MaybeAnno,Es}; +expr({'maybe',MaybeAnno,Es0,{'else',ElseAnno,Cs0}}) -> + Es = exprs(Es0), + Cs = clauses(Cs0), + {'maybe',MaybeAnno,Es,{'else',ElseAnno,Cs}}; +expr({maybe_match,Anno,P0,E0}) -> + E = expr(E0), + P = pattern(P0), + {maybe_match,Anno,P,E}; expr({match,Anno,P0,E0}) -> E1 = expr(E0), P1 = pattern(P0), diff --git a/lib/stdlib/test/id_transform_SUITE.erl b/lib/stdlib/test/id_transform_SUITE.erl index 0addf09461..0491dc6508 100644 --- a/lib/stdlib/test/id_transform_SUITE.erl +++ b/lib/stdlib/test/id_transform_SUITE.erl @@ -59,7 +59,7 @@ end_per_group(_GroupName, Config) -> id_transform(Config) when is_list(Config) -> File = filename:join([code:lib_dir(stdlib),"examples", "erl_id_trans.erl"]), - {ok,erl_id_trans,Bin} = compile:file(File,[binary]), + {ok,erl_id_trans,Bin} = compile:file(File, [binary,report]), {module,erl_id_trans} = code:load_binary(erl_id_trans, File, Bin), case test_server:is_valgrind() of false -> -- 2.34.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