private String setProperties(Map<String, Object> result, Function func, Address entryPoint)
			throws InvalidInputException {
		boolean isLibrary = (boolean) result.get("isLibrary");
		if (isLibrary) {
			BookmarkManager bm = program.getBookmarkManager();
			BookmarkType bt = bm.getBookmarkType("IMPORTED");
			if (bt == null) {
				Icon icon = new GIcon("icon.base.util.xml.functions.bookmark");
				bt = bm.defineType("IMPORTED", icon, Palette.DARK_GRAY, 0);
			}
			bm.setBookmark(entryPoint, "IMPORTED", LIB_BOOKMARK_CATEGORY, "Library function");
		}

		String callingConvention = (String) result.get("callingConvention");
		if (callingConvention != null) {
			func.setCallingConvention(callingConvention);
		}

		boolean hasVarArgs = (boolean) result.get("hasVarArgs");
		boolean isInline = (boolean) result.get("isInline");
		boolean hasNoReturn = (boolean) result.get("hasNoReturn");
		boolean hasCustomStorage = (boolean) result.get("hasCustomStorage");
		func.setVarArgs(hasVarArgs);
		func.setInline(isInline);
		func.setNoReturn(hasNoReturn);
		func.setCustomVariableStorage(hasCustomStorage);

		String regularComment = (String) result.get("comment");
		func.setComment(regularComment);
		String repeatableComment = (String) result.get("repeatableComment");
		func.setRepeatableComment(repeatableComment);
		String typeInfoComment = (String) result.get("value");
		return typeInfoComment;
	}
Parses a list of {@link Function function} definitions from SARIF and creates
then, adding them to the current {@link Program program}.
<p>
Information from a TYPEINFO_COMMENT is used in preference to information from
RETURN_TYPE and STACK_FRAME/STACK_VARs that are tagged as parameters.
<p>
DTD for the FUNCTION element:

<pre>
<code>
&lt;!ELEMENT FUNCTION (RETURN_TYPE?, ADDRESS_RANGE*, REGULAR_CMT?, REPEATABLE_CMT?, TYPEINFO_CMT?, STACK_FRAME?, REGISTER_VAR*)&gt;
</code>
</pre>

@param result             the parser
@param options
@param monitor            the task monitor
@throws AddressFormatException if any address is not parsable
@throws CancelledException     if the operation is cancelled through the
                               monitor
Ghidra/Features/Sarif/src/main/java/sarif/managers/FunctionsSarifMgr.java