@Override
	public JComponent getHoverComponent(Program program, ProgramLocation programLocation,
			FieldLocation fieldLocation, Field field) {

		if (!enabled) {
			return null;
		}

		if (!(field instanceof ClangTextField)) {
			return null;
		}

		ClangToken token = ((ClangTextField) field).getToken(fieldLocation);
		if (token instanceof ClangFuncNameToken) {

			Function function = DecompilerUtils.getFunction(program, (ClangFuncNameToken) token);
			if (function == null) {
				return null; // no function in program; maybe bad address
			}
			String content = ToolTipUtils.getToolTipText(function, false);
			return createTooltipComponent(content);
		}
		else if (token instanceof ClangVariableToken) {

			// Reference to function-address: "x = &foo;" where 'foo' is a function
			Varnode vn = ((ClangVariableToken) token).getVarnode();
			Scalar scalar = getScalar(vn);
			Function function = getFunctionAtAddress(program, scalar);
			if (function != null) {
				String content = ToolTipUtils.getToolTipText(function, false);
				content = content.replaceFirst(HTML,
					HTML + italic(bold("Reference to Function")) + "<br/><br/>");
				return createTooltipComponent(content);
			}
		}

		return null;
	}
A hover service to show tool tip text for hovering over a function name in the decompiler.
The tooltip shows the function signature per the listing.
Ghidra/Features/Decompiler/src/main/java/ghidra/app/decompiler/component/hover/FunctionSignatureDecompilerHover.java