1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221
|
==================================================
ASIS 2005 FEATURES LIST Current as of Dec 05, 2006
==================================================
Copyright (c) 2006, AdaCore
This file contains a complete list of ASIS 2005 features that have been
implemented in version 5.05w of GNAT. Generally, these features are only
available if the -asis05 (Ada 2005 features enabled) option is used for the
call of Asis.Implementation.Initialize.
An ISO date (YYYY-MM-DD) appears in parentheses after the description line.
This date shows the implementation date of the feature. Any wavefront
subsequent to this date will contain the indicated feature, as will any
subsequent releases. All the entries are ordered by the AI number, the entries
that do not have a specific AI attached go last ordered by TNs.
Starting from December 2005, we consider the first stage of the ASIS revision
for Ada 2005 as completed. That is, the proposed extensions should be enough
to get all the static syntax and semantic information from any legal Ada 2005
unit, and all these extensions are fully implemented. Any hole detected either
in the proposed interface changes or in the implementation of these proposals
should be reported as an ordinary bug in the GNAT/ASIS implementation.
NF-ASIS05-EC07-001 AI-217 Limited with clauses (2006-01-08)
A_With_Clause is added to the list of expected kinds of
Asis.Elements.Trait_Kind. The query returns A_Limited_Trait for the argument
that represents a limited with clause.
NF-ASIS05-F205-005 AI-218 Overriding indicator (2006-02-06)
Two boolean queries are added to Asis.Declaration: Is_Overriding_Declaration
and Is_Non_Overrifing_Declaration.
NF-ASIS05-F115-006 AI-230 Generalized anonymous access types (2005-01-22)
1) ASIS Element classification is extended to represent an
anonymous access definition as first-class citizen in classification
hierarchy:
- An_Access_Definition is added to Asis.Definition_Kinds
- A new classification type Access_Definition_Kinds is added to the
package Asis to classify access_definitios.
2) A new classification query Access_Definition_Kind is added to
Asis.Elements.
3) Appropriate values of Access_Definition_Kinds are added to the lists of
appropriate kinds of the queries
Asis.Definitions.Access_To_Subprogram_Parameter_Profile and
Asis.Definitions.Access_To_Function_Result_Profile.
4) A new query Anonymous_Access_To_Object_Subtype_Mark is added to
Asis.Definitions.
5) Asis.Declarations.Object_Declaration_View is generalized to accept all
forms of object declarations as its argument, the list of returned
kinds is extended to contain all forms of object definitions;
6) The query Asis.Declarations.Declaration_Subtype_Mark and the value
An_Access_Definition_Trait of the Trait_Kinds type should not be used
when analyzing Ada 2005 code.
NF-ASIS05-F213-024 AI-230 Generalized anonymous access types (2005-02-19)
Asis.Definitions.Component_Definition_View query is implemented. The query
generalizes getting the definition of a record component, comparing with
the existing Component_Subtype_Indication query that can not work on access
components
NF-ASIS05-F109-005 AI-251 Interface types (2006-01-14)
1) ASIS Element classification is extended to represent interface types:
- An_Interface_Type_Definition is added to Asis.Type_Kinds;
- A_Formal_Interface_Type_Definition is added to Asis.Formal_Type_Kinds;
- A new classification type Interface_Kinds is added to the package
Asis to classify interface definitions.
2) A new classification query Interface_Kind is added to Asis.Elements.
3) A new query Declaration_Interface_List is added to Asis.Declarations, it
yields interface lists from A_Declaration Elements
4) A new query Definition_Interface_List is added to Asis.Definitions, it
yields interface lists from A_Definition Elements
NF-ASIS05-F130-017 AI-252 Object.Operation notation (2005-02-02)
A new query Is_Prefix_Notation is added to Asis.Elements, ASIS queries
dealing with subprogram calls are revised to accept calls in
Object.Operation notation
NF-ASIS05-F123-002 AI-254 Null exclusion (2006-01-25)
1) A_Null_Exclusion_Trait is added to the values of Asis.Trait_Kinds, a set
of expected kinds of Asis.Elements.Trait_Kind is extended by adding
values that can be of A_Null_Exclusion_Trait
2) A new query Is_Not_Null_Return is added to Asis.Elements
NF-ASIS05-F530-008 AI-260 Abstract formal subprograms (2006-05-31)
A_Formal_Procedure_Declaration and A_Formal_Function_Declaration are added
to the list of expected Declaration_Kinds of Asis.Elements.Trait_Kind. This
query returns An_Abstract_Trait for Elements representing formal abstract
subprograms
NF-ASIS05-EC07-001 AI-262 Private with clauses (2006-01-08)
A_With_Clause is added to the list of expected kinds of
Asis.Elements.Trait_Kind. The query returns A_Private_Trait for the argument
that represents a limited with clause.
NF-ASIS05-F127-01 AI-287 Limited aggregates (2005-01-30)
If a non-normalized record or array component association contains a box,
then Asis.Expressions.Component_Expression returns Nil_Element. The
processing of normalized associations (for associations containing boxes) is
not implemented yet
NF-ASIS05-FB04-001 AI-317 Partial parameters for formal packages (2006-11-07)
1) Not_An_Element is added to the list of returned Element kinds for the
Asis.Expressions.Actual_Parameter query. The query returns Nil_Element if
2) An_Others_Choice is added to the list of returned Element kinds for the
Asis.Expressions.Formal_Parameter. The query returns the result of
An_Others_Choice kind if the argument A_Generic_Association Element
represents formal_package_association 'others => <>'
3) Note, that no new position in the element classification is added to
represent new category 'formal_package_association' in the Ada 2005
syntax. For the corresponding Elements ASIS uses the existing
A_Generic_Association value.
NF-ASIS05-FB13-024 AI-318 Extended return statement (2006-11-27)
1) ASIS Element classification is extended to represent extended
return statement:
- An_Extended_Return_Statement is added to Asis.Statement_Kinds;
2) New queries Return_Object_Declaration, Extended_Return_Statements and
Extended_Return_Exception_Handlers are added to Asis.Statements.
NF-ASIS05-F125-023 AI-326 Tagged incomplete types (2006-01-27)
1) ASIS Element classification is extended to represent tagged incomplete
types:
- A_Tagged_Incomplete_Type_Declaration is added to
Asis.Declaration_Kinds;
2) A_Tagged_Incomplete_Type_Declaration is added to the list of Appropriate
kinds of Asis.Declarations.Corresponding_Type_Declaration and
Asis.Declarations.Discriminant_Part
NF-ASIS05-F204-006 AI-348 Null procedures (2006-02-05)
1) ASIS Element classification is extended to represent null procedures.
- A_Null_Procedure_Declaration is added to Asis.Declaration_Kinds;
2) A_Null_Procedure_Declaration is added to the lists of appropriate kinds
for the query Asis.Declarations.Names and
Asis.Declarations.Parameter_Profile.
NF-ASIS05-F207-008 AI-361 Raise with string message (2006-02-07)
A new query Associated_Message is added to Asis.Statements to get the
expression from raise_statement.
NF-ASIS05-F207-013 New predefined attributes (2006-02-07)
ASIS Element classification is extended to represent new predefined
attributes. The following values are added to Asis.Attribute_Kinds:
A_Machine_Rounding_Attribute
A_Mod_Attribute
A_Priority_Attribute
A_Stream_Size_Attribute
A_Wide_Wide_Image_Attribute
A_Wide_Wide_Value_Attribute
A_Wide_Wide_Width_Attribute
At the moment ASIS can not detect A_Priority_Attribute, because this
attribute is not supported by the compiler
NF-ASIS05-F207-014 New predefined pragmas (2006-02-08)
ASIS Element classification is extended to represent new predefined pragmas.
The following values are added to Asis.Pragma_Kinds:
An_Assert_Pragma
An_Assertion_Policy_Pragma
A_Detect_Blocking_Pragma
A_No_Return_Pragma
A_Partition_Elaboration_Policy_Pragma
A_Preelaborable_Initialization_Pragma
A_Priority_Specific_Dispatching_Pragma
A_Profile_Pragma
A_Relative_Deadline_Pragma
An_Unchecked_Union_Pragma
An_Unsuppress_Pragma
An_Assert_Pragma
An_Assertion_Policy_Pragma
A_Detect_Blocking_Pragma
A_No_Return_Pragma
A_Partition_Elaboration_Policy_Pragma
A_Preelaborable_Initialization_Pragma
A_Priority_Specific_Dispatching_Pragma
A_Profile_Pragma
A_Relative_Deadline_Pragma
An_Unchecked_Union_Pragma
An_Unsuppress_Pragma
At the moment ASIS can not detect the following pragmas, because they are
not supported by the compiler:
A_Partition_Elaboration_Policy_Pragma
A_Preelaborable_Initialization_Pragma
A_Priority_Specific_Dispatching_Pragma
A_Relative_Deadline_Pragma
NF-ASIS05-F208-017 New predefined library units (2006-02-08)
When ASIS is initialized with '-asis05' parameter,
Asis.Asis.Compilation_Units.Unit_Origin query classifies all the units
listed in RM-06 Annex A as A_Predefined_Unit
|