void setRelativeRank(Address targetAddr, String targetNamespace, String targetName,
				String targetOrigImportedName) {
			rank = 0;

			if (matchType == ExternalMatchType.ADDRESS) {
				rank = ADDRESS_RANK;
				return;
			}

			if (targetAddr != null) {
				Address myAddr = extLoc.getAddress();
				if (myAddr != null && targetAddr.equals(myAddr)) {
					rank += ADDRESS_RANK; // address match
				}
				else if (myAddr != null) {
					// If memory addresses both specified and differ - reduce rank
					rank -= ADDRESS_RANK;
				}
			}

			if (matchType == ExternalMatchType.MANGLED_NAME) {
				rank += MANGLED_NAME_RANK;
				return;
			}

			if (matchType != ExternalMatchType.NAME) {
				return;
			}

			// Impose mangled name mismatch penalty
			String myOrigImportedName = extLoc.getOriginalImportedName();
			if (targetOrigImportedName != null && myOrigImportedName != null) {
				rank -= MANGLED_NAME_RANK;
				return;
			}

			// assume NAME match
			rank += NAME_RANK;

			if (targetNamespace != null && targetNamespace.equals(getFullNamespaceName())) {
				rank += NAMESPACE_RANK; // non-default namespace match improves name match
			}
		}
Generate relative rank when a non-default name match occurs.
Method should not be invoked when either location symbol has a default source type.
@param targetAddr
@param targetNamespace
@param targetName
@param targetOrigImportedName
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/util/SimpleDiffUtility.java