private static Address getComponentAddress(DataTypeComponent comp, MemBuffer memBuffer) {
		int offset = comp.getOffset();
		Address minAddress = memBuffer.getAddress();
		try {
			return minAddress.add(offset);
		}
		catch (AddressOutOfBoundsException e) {
			throw new IllegalArgumentException("Can't get component " + comp.getOrdinal() +
				" from memory buffer for data type " + comp.getParent().getName() + ".", e);
		}
	}
If the indicated component in the data type exists and is a Scalar value, this returns
the scalar value contained in that component of the data type.
@param dataType the data type whose base type is a structure and whose component's
scalar value is wanted. (i.e., The component data type referenced by the ordinal value must
be one that returns a Scalar value; such as an IntegerDataType, EnumDataType,
UndefinedDataType, etc.)
@param componentOrdinal 0-based ordinal indicating the component whose scalar value is being
determined by this method.
@param memBuffer memory buffer that starts where the indicated data type is laid down.
@return the scalar value held by indicated component in the data type when laid down on
the specified memory.
Ghidra/Features/MicrosoftCodeAnalyzer/src/main/java/ghidra/app/cmd/data/EHDataTypeUtilities.java