private ProgramLocation getProgramLocation(Field field, FieldLocation location) {
		if (!(field instanceof ClangTextField)) {
			return null;
		}
		ClangToken token = ((ClangTextField) field).getToken(location);
		if (token == null) {
			return null;
		}

		Address address = DecompilerUtils.getClosestAddress(getProgram(), token);
		if (address == null) {
			address = DecompilerUtils.findAddressBefore(layoutController.getFields(), token);
		}

		Function function = decompileData.getFunction();
		if (address == null) {
			address = function.getEntryPoint();
		}

		Address entryPoint = function.getEntryPoint();
		DecompileResults results = decompileData.getDecompileResults();
		int lineNumber = location.getIndex().intValue();
		int charPos = location.col;
		DecompilerLocationInfo info =
			new DecompilerLocationInfo(entryPoint, results, token, lineNumber, charPos);
		Program program = decompileData.getProgram();
		ProgramLocation signatureLocation = createFunctionSignatureLocation(token, address, info);
		if (signatureLocation != null) {
			return signatureLocation;
		}

		return new DefaultDecompilerLocation(program, address, info);
	}
Passing false signals to disallow navigating to new functions from within the panel by using
the mouse.

@param enabled false disabled mouse function navigation
Ghidra/Features/Decompiler/src/main/java/ghidra/app/decompiler/component/DecompilerPanel.java