public final int getNumComponents(MemBuffer buf) {
		DataTypeComponent[] comps = getComps(buf);
		if (comps == null || comps.length == 0) {
			return -1;
		}
		return comps.length;
	}
Gets the number of component data types in this data type.
@param buf a memory buffer to be used by dataTypes that change depending on
their data context. 
@return the number of components that make up this data prototype
  - if this is an Array, return the number of elements in the array.
  - if this datatype is a subcomponent of another datatype and it
     won't fit in it's defined space, return -1.
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/data/DynamicDataType.java