private String getSig(AbstractPdb pdb, AbstractMemberFunctionMsType type) {
		RecordNumber rn = type.getArgListRecordNumber();
		StringBuilder builder = new StringBuilder();
		builder.append('f');
		String rString = getTypeName(pdb, type.getReturnRecordNumber());
		builder.append(rString);
		type.getReturnRecordNumber();
		AbstractMsType lType = pdb.getTypeRecord(rn);
		if (lType instanceof PrimitiveMsType primitive && primitive.isNoType()) {
			// Arguments list is empty. (There better not have been any arguments up until
			//  now.)
			builder.append("void");
		}
		else if (lType instanceof AbstractArgumentsListMsType argsList) {
			List<RecordNumber> argNumbers = argsList.getArgRecordNumbers();
			if (argNumbers.isEmpty()) {
				builder.append("void");
			}
			else {
				for (RecordNumber argNumber : argNumbers) {
					AbstractMsType aType = pdb.getTypeRecord(argNumber);
					if (aType instanceof PrimitiveMsType primitive && primitive.isNoType()) {
						// Arguments list is empty. (There better not have been any arguments
						// up until now.)
						builder.append("void");
						break;
					}
					String aString = getTypeName(pdb, argNumber);
					builder.append(aString);
				}
			}
		}
		builder.append('T');
		return builder.toString();
	}
Developer script to capture items from Program and PDB for developing tests
Ghidra/Features/PDB/developer_scripts/CaptureHelperScript.java