public void scanFunctionsMetadata(Iterator<Function> iter, TaskMonitor monitor) {
		if (exerec == null) {
			return;		// No current executable
		}
		if (iter == null) {
			iter = fmanage.getFunctions(true);
		}
		while (iter.hasNext()) {
			Function func = iter.next();
			if ((monitor != null) && (monitor.isCancelled())) {
				return;
			}
			if (func.isThunk()) {
				continue;
			}
			if (!hasBody(func.getEntryPoint())) {
				continue;
			}
			int flags = recoverAttributes(func);
			FunctionDescription fdesc = manager.newFunctionDescription(func.getName(true),
				func.getEntryPoint().getOffset(), exerec);
			manager.setFunctionDescriptionFlags(fdesc, flags);
		}
	}
Generate just the update metadata for functions in the currently open program
if -iter- is null, generate metadata for all functions
@param iter iterates over the set of Functions to generate metadata for
@param monitor the task monitor
Ghidra/Features/BSim/src/main/java/ghidra/features/bsim/query/GenSignatures.java