public static void searchDataTypes(GhidraScript script, AbstractPdb pdb, String searchString)
			throws CancelledException {
		TypeProgramInterface tpi = pdb.getTypeProgramInterface();
		if (tpi == null) {
			println(script, "PDB does not contain a TPI... aborting search.");
		}

		StringBuilder results = new StringBuilder();
		results.append('\n');

		int num = tpi.getTypeIndexMaxExclusive() - tpi.getTypeIndexMin();
		TaskMonitor monitor = script.getMonitor();
		monitor.initialize(num);
		println(script, "Searching " + num + " PDB data type components...");
		for (int indexNumber = tpi.getTypeIndexMin(); indexNumber < tpi
				.getTypeIndexMaxExclusive(); indexNumber++) {
			monitor.checkCancelled();
			RecordNumber recordNumber = RecordNumber.typeRecordNumber(indexNumber);
			AbstractMsType typeRecord = pdb.getTypeRecord(recordNumber);
			String recordString = typeRecord.toString();
			if (recordString.contains(searchString)) {
				results.append("Data number " + indexNumber + ":\n");
				results.append(recordString);
				results.append('\n');
			}
			monitor.incrementProgress(1);
		}
		println(script, results.toString());
	}
Searches PDB data type records that contain the search string.  Outputs results to the
console
@param script the script for which we are working
@param pdb the PDB to search
@param searchString the search string
@throws CancelledException upon user cancellation
Ghidra/Features/PDB/developer_scripts/pdbquery/PdbQuery.java