@Override
	public boolean addTag(String name) {
		manager.lock.acquire();
		try {
			startUpdate();
			checkDeleted();
			FunctionTagManagerDB tagManager =
				(FunctionTagManagerDB) manager.getFunctionTagManager();
			FunctionTag tag = tagManager.getFunctionTag(name);
			if (tag == null) {
				tag = tagManager.createFunctionTag(name, "");
			}

			if (!tagManager.isTagApplied(getID(), tag.getId())) {
				tagManager.applyFunctionTag(getID(), tag.getId());

				Address addr = getEntryPoint();
				program.setChanged(ProgramEvent.FUNCTION_TAG_APPLIED, addr, addr, tag, tag);
			}

			// Add to local cache
			if (tags != null) {
				tags.add(tag);
			}
		}
		finally {
			endUpdate();
			manager.lock.release();
		}

		return true;
	}
Sets the indicated function flag to true or false.

@param functionFlagIndicator
           the function flag from the FunctionAdapter class (i.e.
           FunctionAdapter.FUNCTION_VARARG_FLAG,
           FunctionAdapter.FUNCTION_INLINE_FLAG,
           FunctionAdapter.FUNCTION_NO_RETURN_FLAG,
           FunctionAdapter.FUNCTION_CUSTOM_PARAM_STORAGE_FLAG)
@param shouldBeSet
           true means the indicated flag should be set.
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/function/FunctionDB.java