Known Problems fixed in AJIS 7.2.2

- M315-039: Possible problem binding constrained arrays
 Problem:    Binding a constrained array type defined using a range generates
             Ada code having "expected type different from found type" errors
             when the bounds are not of type Integer.             
 Workaround: Convert the bounds of the range to type Standard.Integer.

- M613-024: Problem binding formal parameters having the name of the package
 Problem:    If a formal parameter has the same identifier as the package, the
             generated Ada code cannot be compiled.
 Workaround: Rename the formal parameter.
 
- M618-016: Cannot bind functions having the same name and parameters
Problem:     If the package to bind contains functions having the same name and
             the same parameter list (and only the return type is different),
             then the generated Ada code will result in compilation errors.
Workaround:  Rename one of the duplicated functions.

- M702-014: Cannot bind package containing expression functions.
Problem:     Packages containing an expression function  e.g.
             "function F return Boolean is (true);" cannot be binded
             successfully.
Workaround:  Patch the package "s/is (true)/;/" before calling
             ada2java, and then remove the patch before compiling the package.

- M702-023: Cannot bind package containing tagged incomplete view.
Problem:     Packages containing an incomplete type declaration with
             the reserved word "tagged", e.g. "type T is tagged;" cannot be
             binded successfully.
Workaround:  Patch the package "s/type T is tagged;/type T;/" before calling
             ada2java, and then remove the patch before compiling the package.

- N217-045: Cannot bind some function/procedure with not null parameters
Problem:     If a function/procedure declaration contains any
             "P : not null My_Type_Access" parameter, the generated AJIS layer
             cannot be compiled because of the following errors.
             : not subtype conformant with operation inherited at line 'x'
             : type of "P" does not match
Workaround:  Change the parameter definition to "P : not null access My_Type"

- N304-036: Overriding abstract operations in private part not supported
Problem:     When deriving an abstract tagged type, if any of the abstract
             operations is overridden in the private part, then the Java class
             (generated by ada2java) associated to the derived tagged type
             doesn't implement the abstract method linked to the operation
             overridden in the private part.
Workaround:  If possible, move the definition to the public part.

- N309-003: Access discriminants not supported
Problem:     Binding types having access discriminants, generates ada code that
             contains compilation errors.
Workaround:  Refactor using only discriminants of named access type.

- N312-031: Class-wide aliased constant declaration not supported
Problem:     Binding a package that contains any class-wide aliased constants
             e.g. "C : aliased constant T'Class [:= V];" generates ada code
             that contains compilation errors.
Workaround:  If the constant is not used by the Java code, patch the package
             "s/C : aliased constant/C : constant/" before calling ada2java,
             and then remove the patch before compiling the package.
