CVS difference for ai05s/ai05-0188-1.txt
--- ai05s/ai05-0188-1.txt 2011/03/03 07:33:16 1.18
+++ ai05s/ai05-0188-1.txt 2012/03/27 01:55:20 1.19
@@ -376,10 +376,6 @@
(See !problem.)
-!ACATS test
-
-ACATS B and C tests are needed.
-
!corrigendum 3.8.1(15)
@drepl
@@ -600,6 +596,116 @@
If the result subtype of the function is limited, then the
@fa<expression> of the return statement (if any) shall meet the restrictions
described in 7.5.
+
+
+!ACATS test
+
+ACATS B and C tests are needed.
+
+!ASIS
+
+In 3.7.19:
+add after A_Parenthesized_Expression:
+ A_Case_Expression, --4.5.7
+ An_If_Expression, --4.5.7
+
+In 3.7.23:
+add after Not_A_Path:
+ A_Case_Expression_Path, --4.5.7
+ -- when expression => expression
+ An_If_Expression_Path, --4.5.7
+ -- if condition then expression
+
+ An_Elsif_Expression_Path, --4.5.7
+ -- elsif condition then expression
+
+ An_Else_Expression_Path, --4.5.7
+ -- else expression
+
+Add after 16.35:
+
+ 16.36 function Expression_Paths
+ function Expression_Paths
+ (Expression : Asis.Expression) return Asis.Path_List;
+
+ Expression specifies the conditional expression to query.
+
+ Returns a list of the paths of the conditional expression, in their
+ order of appearance.
+
+ Expression expects an element that has one of the following
+ Expression_Kinds:
+ A_Case_Expression
+ An_If_Expression
+
+ Returns a list of elements that each have one of the following
+ Path_Kinds:
+ A_Case_Expression_Path
+ An_If_Expression_Path
+ An_Elsif_Expression_Path
+ An_Else_Expression_Path
+
+
+ 16.37 function Dependent_Expression
+ function Dependent_Expression
+ (Path : Asis.Path) return Asis.Expression;
+
+ Path specifies the path of a conditional expression to query.
+
+ Returns the dependent expression of the conditional expression
+ path.
+
+ Path expects an element that has one of the following Path_Kinds:
+ A_Case_Expression_Path
+ An_If_Expression_Path
+ An_Elsif_Expression_Path
+ An_Else_Expression_Path
+
+ Returns an element that has the followin Element_Kinds:
+ An_Expression
+
+In 17.5:
+replace the line:
+ Returns the condition expression for an if path or an elsif path
+with:
+ Returns the condition expression for an if path, an elsif path,
+ an if expression path, or an elsif expression path.
+
+
+In 17.7:
+Change the second paragraph as follows:
+ Returns the expression of the case statement that determines which
+ execution path is taken, or the expression of the case expression
+ that determines which expression path is selected.
+
+Add after A_Case_Statement:
+ A_Case_Expression
+
+In 17.8:
+Change the name of the function to Case_Path_Alternative_Choices.
+
+ Add after A_Case_Path:
+ A_Case_Expression_Path
+
+
+Add after F.12.4:
+F.13 Obsolescent Features in package Asis.Statements
+
+F.13.1 Introduction for Obsolescent Features in package Asis.Statements
+
+ In addition to the interfaces defined in section 17, the library
+ package Asis.Statements also shall provide interfaces equivalent
+ to the obsolescent ones described in the following subclauses.
+
+F.13.2 function Case_Statement_Alternative_Choices
+
+ Function Case_Statement_Alternative_Choices is provided for
+ compatibility with previous editions of this standard. Use of this
+ function is not recommended in new programs.
+
+ function Case_Statement_Alternative_Choices
+ (Path : Asis.Path)
+ return Asis.Element_List renames Case_Path_Alternative_Choices;
!appendix
Questions? Ask the ACAA Technical Agent