public static boolean isEquivalent(DataType dt1, DataType dt2) {
		DataType base1 = getBaseType(dt1);
		DataType base2 = getBaseType(dt2);

		if (base1 == null || base2 == null) {
			// this should not happen, but we have seen sometimes that ClangVariableDecl
			// cannot find its HighSymbol from which to get a datatype
			return false;
		}

		return base1.isEquivalent(base2);
	}
Scan this reference for any data type matches.
<p>
The {@code fieldName} is optional.  If not included, then only data type matches will
be sought.  If it is included, then a match is only included when it is a reference
to the given data type where that type is being accessed by the given field name.

@param dt the data type to find
@param fieldMatcher the optional field matcher used to restrict matches.
@param results the accumulator object into which will be placed any matches
Ghidra/Features/DecompilerDependent/src/main/java/ghidra/app/extension/datatype/finder/DecompilerReference.java