Merge remote-tracking branch

'origin/GP-1456_ghizard_array_of_enums_definition_processing' (Closes
#3484)
This commit is contained in:
Ryan Kurtz
2021-11-05 11:16:07 -04:00
2 changed files with 15 additions and 0 deletions
@@ -120,6 +120,15 @@ public class ArrayTypeApplier extends MsTypeApplier {
PdbApplicator.bigIntegerToLong(applicator, underlyingTypeApplier.getSize());
DataType underlyingDataType = underlyingTypeApplier.getDataType();
if (underlyingDataType == null) {
Long v = longUnderlyingSize;
underlyingDataType = Undefined.getUndefinedDataType(v.intValue());
String msg = "PDB Type index " + index + ":\n Null underlying data type for " +
underlyingTypeApplier.getClass().getSimpleName() + ":\n " +
underlyingTypeApplier + "\n Using " + underlyingDataType;
Msg.warn(this, msg);
}
if (longUnderlyingSize > Integer.MAX_VALUE) {
String msg = "PDB " + type.getClass().getSimpleName() + ": Underlying type too large " +
underlyingDataType.getName();
@@ -109,6 +109,12 @@ public class EnumTypeApplier extends AbstractComplexTypeApplier {
return getMsType().getName();
}
@Override
DataType getDataType() {
getOrCreateEnum();
return dataType;
}
private MsTypeApplier getUnderlyingTypeApplier() {
MsTypeApplier under = null;
MsTypeApplier applier = (definitionApplier != null) ? definitionApplier : this;