!ASIS Issue #064
!topic Ada Wide Character and Wide String
!reference ASIS 95-3  to ASIS 95-23
!from CACI as part of AJPO support sub-task 3/10/97
!keywords Wide Character and Wide String
!discussion ASIS does not provide the capability for wide characters
and wide string support, because ASIS.Character and ASIS.String are
based upon Standard.Character and Standard.String respectively.  The
current ASIS specification makes no provision for ISO/IEC 10646-1:1993
characters or strings. which precludes an application that utilizes
these data types for either as source text, comments or expressions.
The current implementation will fail, when an ASIS application has
source that contains wide characters or wide strings.

!resolution  Accepted.
!date 97-08-25
!Notes

Commentary in Section 3 was changed to read:

     "The ASIS interface uses string parameters for many 
     procedure and function calls. Wide_String is used to 
     convey ASIS environment information. Program_Text, a 
     subtype of Wide_String is used to convey program text. 
     The type String is not used in the ASIS interface. 
     Neither the Ada types Character nor Wide_Character are 
     used in the ASIS interface."

A new subtype was added:

        subtype Program_Text is Wide_String;

Program_Text was defined in Section 3.14 so as not to cause 
a renumbering of sections. This is also a good logical place 
for Program_Text as the subtype is closely associated with 
Package Asis.Text, numbered as Clause 20 towards the end.

All the overloading between the previous String and 
Wide_String subprograms has been eliminated.

The following functions and parameters now use Wide_String
as types of their parameters or return values:

	6.1 function ASIS_Version
	6.2 function ASIS_Implementor
	6.3 function ASIS_Implementor_Version
	6.4 function ASIS_Implementor_Information
	6.6 procedure Initialize
	6.8 procedure Finalize
	6.10 function Diagnosis
	6.11 procedure Set_Status

	8.1 function Default_Name
	8.2 function Default_Parameters
	8.3 procedure Associate
	8.12 function Name
	8.13 function Parameters
	8.14 function Debug_Image

	9.10 function Name

	10.6 function Library_Unit_Declaration
	10.7 function Compilation_Unit_Body
	10.19 function Unit_Full_Name
	10.20 function Unique_Name
	10.24 function Text_Name
	10.25 function Text_Form
	10.26 function Object_Name
	10.27 function Object_Form
	10.28 function Compilation_Command_Line_Options
	10.29 function Has_Attribute
	10.30 function Attribute_Value_Delimiter
	10.31 function Attribute_Values
	10.34 function Debug_Image

	11.4 function Attribute_Time

	13.41 function Debug_Image

	15.4 function Representation_Value_Image

	17.2 function Value_Image

	20.22 function Delimiter_Image
	20.28 function Debug_Image

	21.9 function Debug_Image

The following functions and parameters now use Program_Text
as types of their parameters or return values:

	13.39 function Pragma_Name_Image

	15.2 function Defining_Name_Image
	15.3 function Position_Number_Image

	17.3 function Name_Image

	20.23 function Element_Image
	20.24 function Line_Image
	20.25 function Non_Comment_Image
	20.26 function Comment_Image
