From e2848c09db25b356fdddc4f5f9dd4da6e6cfb6ec Mon Sep 17 00:00:00 2001 From: Hans Bolinder Date: Mon, 5 Feb 2018 16:31:12 +0100 Subject: erts: Update abstract format doc with stacktrace variable --- erts/doc/src/absform.xml | 42 +++++++++++++++++++++++++++++++++++++----- 1 file changed, 37 insertions(+), 5 deletions(-) (limited to 'erts/doc') diff --git a/erts/doc/src/absform.xml b/erts/doc/src/absform.xml index e49c8c32e9..2ada903edb 100644 --- a/erts/doc/src/absform.xml +++ b/erts/doc/src/absform.xml @@ -4,7 +4,7 @@
- 20012017 + 20012018 Ericsson AB. All Rights Reserved. @@ -614,26 +614,58 @@

If C is a catch clause P -> B, where P is a pattern and B is a body, then - Rep(C) = {clause,LINE,[Rep({throw,P,_})],[],Rep(B)}.

+ Rep(C) = {clause,LINE,[Rep({throw,P,_})],[],Rep(B)}, + that is, a catch clause with an explicit exception class + throw and with or without an explicit stacktrace + variable _ cannot be distinguished from a catch clause + without an explicit exception class and without an explicit + stacktrace variable.

If C is a catch clause X : P -> B, where X is an atomic literal or a variable pattern, P is a pattern, and B is a body, then - Rep(C) = {clause,LINE,[Rep({X,P,_})],[],Rep(B)}.

+ Rep(C) = {clause,LINE,[Rep({X,P,_})],[],Rep(B)}, + that is, a catch clause with an explicit exception class and + with an explicit stacktrace variable _ cannot be + distinguished from a catch clause with an explicit exception + class and without an explicit stacktrace variable.

+
+ +

If C is a catch clause X : P : S -> B, + where X is an atomic literal or a variable pattern, + P is a pattern, S is a variable, and B + is a body, then + Rep(C) = {clause,LINE,[Rep({X,P,S})],[],Rep(B)}.

If C is a catch clause P when Gs -> B, where P is a pattern, Gs is a guard sequence, and B is a body, then - Rep(C) = {clause,LINE,[Rep({throw,P,_})],Rep(Gs),Rep(B)}.

+ Rep(C) = {clause,LINE,[Rep({throw,P,_})],Rep(Gs),Rep(B)}, + that is, a catch clause with an explicit exception class + throw and with or without an explicit stacktrace + variable _ cannot be distinguished from a catch clause + without an explicit exception class and without an explicit + stacktrace variable.

If C is a catch clause X : P when Gs -> B, where X is an atomic literal or a variable pattern, P is a pattern, Gs is a guard sequence, and B is a body, then - Rep(C) = {clause,LINE,[Rep({X,P,_})],Rep(Gs),Rep(B)}.

+ Rep(C) = {clause,LINE,[Rep({X,P,_})],Rep(Gs),Rep(B)}, + that is, a catch clause with an explicit exception class and + with an explicit stacktrace variable _ cannot be + distinguished from a catch clause with an explicit exception + class and without an explicit stacktrace variable.

+
+ +

If C is a catch clause X : P : S when Gs -> B, + where X is an atomic literal or a variable pattern, + P is a pattern, Gs is a guard sequence, + S is a variable, and B is a body, then + Rep(C) = {clause,LINE,[Rep({X,P,S})],Rep(Gs),Rep(B)}.

If C is a function clause ( Ps ) -> B, -- cgit v1.2.3