public void checkInvalidSymbol() throws MDException {
		if (isFunction && (foundManagedProperty || (prefixList.size() != 0))) {
			throw new MDException(
				"EFI and Managed Properies not permitted for function pointer/reference");
		}
		// if (isFunction &&
		// !((modType == cvModifierType.functionpointer) || (modType ==
		// cvModifierType.pointer) ||
		// (modType == cvModifierType.functionreference) ||
		// (modType == cvModifierType.reference) || (modType ==
		// cvModifierType.array))) {
		// TODO: for refactoring... currently, "plain" should only now be for
		// MDModifierType
		// base (which should only be for '?' parsing).
		// 20170530: if (isFunction && (modType == cvModifierType.plain)) {
		// TODO: for refactoring... currently, "plain" should only now be for
		// MDModifierType base
		// (which should only be for '?' parsing).
		// if (isFunction &&
		// ((modType != cvModifierType.pointer) && (modType !=
		// cvModifierType.reference))) {
		// TODO: for refactoring... currently, "plain" should only now be for
		// MDModifierType
		// base (which should only be for '?' parsing).
		if (isFunction && (modType == CvModifierType.question)) {
			throw new MDException("Function refType only permitted on pointer or reference");
		}
	}
This class represents a Const/Volatile modifier (and extra stuff) of a modifier
type within a Microsoft mangled symbol.
Ghidra/Features/MicrosoftDmang/src/main/java/mdemangler/datatype/modifier/MDCVMod.java