public static boolean usesZeroLengthComponent(DataType dataType) {
		if (dataType.isZeroLength()) {
			if (dataType instanceof TypeDef) {
				// need to check base type since TypeDef always returns false for isNotYetDefined()
				dataType = ((TypeDef) dataType).getBaseDataType();
			}
			if (dataType instanceof Array) {
				return true;
			}
			// assumes undefined types will ultimately have a non-zero length
			return !dataType.isNotYetDefined();
		}
		return false;
	}
Determine if the specified dataType will be treated as a zero-length component
allowing it to possibly overlap the next component.  If the specified dataType
returns true for {@link DataType#isZeroLength()} and true for {@link DataType#isNotYetDefined()}
this method will return false causing the associated component to use the reported dataType length
of 1.
@param dataType datatype to be evaluated
@return true if zero-length component
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/data/DataTypeComponent.java