Integrations (PTC products, 3rd party products and code) > Code integration (Ada, ARINC 653, C, C#, C++, IDL, Java, SQL and VB) > Ada Code > Reverse engineering legacy Ada code > Mapping information for Reverse engineering Ada > Type mapping for reverse engineering Ada - array type (Ada code)
  
Type mapping for reverse engineering Ada - array type (Ada code)
For each array type, the Reverser creates a Type Definition of Array construction.
The Type Definition is stereotyped by the «Ada Array» stereotype, which applies the Ada Array Index and Ada Unconstrained Range tag definitions.
The array index text is reverse engineered to the tagged value of the Ada Array Index tag definition.
* 
If the «Ada Array» stereotype is applied to a Type Definition, the Reverser ignores the Lower Bound and Upper Bound properties of that Type Definition on generation.
If the array index is unconstrained, the tagged value of the Ada Unconstrained Range tag definition is set to TRUE.
The Visibility property of the reverse engineered Type Definition is set according to how the type is declared:
If the type is declared in the parent Ada package specification, the Visibility property is set to Public.
If the type is declared in the private region of the parent Ada package specification, the Visibility property is set to protected.
If the type is declared in the parent package body, the Visibility property is set to Private.
The subtype is reverse engineered to the Type of the Type Definition. If the Reverser can match the name of the Type to a Type in the Model, the matching Type is referenced.
If the subtype is access, the Pointer property of the Type Definition is set to TRUE, that is, the Pointer check box on the Type Definition's Property Pages is selected.
If the subtype is a parameterized type, the Type Definition is stereotyped by the «Ada Type Binding» stereotype. The parameter text (the text between the opening and closing parentheses) is reverse engineered to the tagged value of the Ada Type Parameters tag definition, which is applied to the Type Definition by the «Ada Type Binding» stereotype.
If the subtype has a range constraint, the Type Definition is stereotyped by the «Ada Constraint» stereotype. The range expression text is reverse engineered to the tagged value of the Ada Range tag definition, which is applied to the Type Definition by the «Ada Constraint» stereotype.
If the subtype has a mod constraint, the Type Definition is stereotyped by the «Ada Constraint» stereotype. The mod value is reverse engineered to the tagged value of the Ada Mod tag definition, which is applied to the Type Definition by the «Ada Constraint» stereotype.
If the subtype has a delta constraint, the Type Definition is stereotyped by the «Ada Constraint» stereotype. The delta value is reverse engineered to the tagged value of the Ada Delta tag definition, which is applied to the Type Definition by the «Ada Constraint» stereotype.
If the subtype has a digits constraint, the Type Definition is stereotyped by the «Ada Constraint» stereotype. The digits value is reverse engineered to the tagged value of the Ada Digits tag definition, which is applied to the Type Definition by the «Ada Constraint» stereotype.
If the type is anonymous, the Type Definition is stereotyped by the «Ada Anonymous» stereotype.
If the type has an attribute designator for the data type, the Type Definition is stereotyped by the «Ada Attribute Designator» stereotype and the tagged value of the Ada 'Attribute tag definition (applied by the «Ada Attribute Designator») is set to the attribute designator.
If the type uses the private keyword, the Type Definition is stereotyped by the «Ada Private» stereotype.
If the type uses the limited private keywords, the Type Definition is stereotyped by the «Ada Private» stereotype and the tagged value of the Ada Limited tag definition (applied by the «Ada Private» stereotype) is set to TRUE.