private FieldLocation getFieldBasedFunctionSignatureFieldLocation(
			FunctionSignatureFieldLocation signatureLocation, ListingField bf, BigInteger index,
			int fieldNum) {

		int characterIndex = 0;
		List<FieldElement> elements = getFieldElements(bf);
		if (signatureLocation instanceof FunctionNameFieldLocation) {
			characterIndex =
				getFunctionSignatureElement(elements, FunctionNameFieldElement.class, 0);
		}
		else if (signatureLocation instanceof FunctionReturnTypeFieldLocation) {
			characterIndex =
				getFunctionSignatureElement(elements, FunctionReturnTypeFieldElement.class, 0);
		}
		else if (signatureLocation instanceof FunctionInlineFieldLocation) {
			characterIndex =
				getFunctionSignatureElement(elements, FunctionInlineFieldElement.class, 0);
		}
		else if (signatureLocation instanceof FunctionNoReturnFieldLocation) {
			characterIndex =
				getFunctionSignatureElement(elements, FunctionNoReturnFieldElement.class, 0);
		}
		else if (signatureLocation instanceof FunctionParameterNameFieldLocation) {
			FunctionParameterNameFieldLocation parameterNameLocation =
				(FunctionParameterNameFieldLocation) signatureLocation;
			int ordinal = parameterNameLocation.getOrdinal();
			characterIndex = getFunctionSignatureElement(elements,
				FunctionParameterNameFieldElement.class, ordinal);
		}
		else if (signatureLocation instanceof FunctionStartParametersFieldLocation) {
			characterIndex =
				getFunctionSignatureElement(elements, FunctionStartParametersFieldElement.class, 0);
		}
		else if (signatureLocation instanceof FunctionEndParametersFieldLocation) {
			characterIndex =
				getFunctionSignatureElement(elements, FunctionEndParametersFieldElement.class, 0);
		}

		return new FieldLocation(index, fieldNum, 0, characterIndex);
	}
Constructor
@param model the model that the field belongs to.
@param hlProvider the HightLightProvider.
@param displayOptions the Options for display properties.
@param fieldOptions the Options for field specific properties.
Ghidra/Features/Base/src/main/java/ghidra/app/util/viewer/field/FunctionSignatureFieldFactory.java