190 element_type = element.type.getcontent() |
190 element_type = element.type.getcontent() |
191 # Structure element derived directly from a user defined type |
191 # Structure element derived directly from a user defined type |
192 if element_type["name"] == "derived": |
192 if element_type["name"] == "derived": |
193 elementtype_name = element_type["value"].getname() |
193 elementtype_name = element_type["value"].getname() |
194 self.GenerateDataType(elementtype_name) |
194 self.GenerateDataType(elementtype_name) |
|
195 elif element_type["name"] == "array": |
|
196 base_type = element_type["value"].baseType.getcontent() |
|
197 # Array derived directly from a user defined type |
|
198 if base_type["name"] == "derived": |
|
199 basetype_name = base_type["value"].getname() |
|
200 self.GenerateDataType(basetype_name) |
|
201 # Array derived directly from a string type |
|
202 elif base_type["name"] in ["string", "wstring"]: |
|
203 basetype_name = base_type["name"].upper() |
|
204 # Array derived directly from an elementary type |
|
205 else: |
|
206 basetype_name = base_type["name"] |
|
207 dimensions = ["%s..%s" % (dimension.getlower(), dimension.getupper()) |
|
208 for dimension in element_type["value"].getdimension()] |
|
209 elementtype_name = "ARRAY [%s] OF %s" % (",".join(dimensions), basetype_name) |
195 # Structure element derived directly from a string type |
210 # Structure element derived directly from a string type |
196 elif element_type["name"] in ["string", "wstring"]: |
211 elif element_type["name"] in ["string", "wstring"]: |
197 elementtype_name = element_type["name"].upper() |
212 elementtype_name = element_type["name"].upper() |
198 # Structure element derived directly from an elementary type |
213 # Structure element derived directly from an elementary type |
199 else: |
214 else: |