private AddressSet repairLocationsForNonReturningFunction(Program program, Function func,
			Address entry, TaskMonitor monitor) {
		AddressSet fixedCallLocations = new AddressSet();
		try {
			String name = func.getName();

			monitor.setMessage("Clearing fallthrough for: " + name);
			fixedCallLocations = setNoFallThru(program, entry);
			if (fixedCallLocations.isEmpty()) {
				return fixedCallLocations;
			}

			monitor.setMessage("Fixup function bodies for: " + name);
			fixCallingFunctionBody(program, fixedCallLocations, monitor);
		}
		catch (CancelledException e) {
			// a cancel here implies that the entire script has been cancelled
		}

		return fixedCallLocations;
	}
Repair a non-returning function which includes all calling points and the functions containing those calling points.

@param program functions are contained in
@param func non-returning function that is causing fixes to be made
@param entry point of the function that is non-returning
@param monitor so we can cancel

@return location of all calling locations to the non-returning function that were fixed
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/disassembler/CallFixupAnalyzer.java