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