Set<Entry<Function, List<CallSiteInfo>>> getInformationAboutCallsites(TaskMonitor monitor) {
			TaskMonitor upwtm = new UnknownProgressWrappingTaskMonitor(monitor);
			upwtm.initialize(1, "Finding callsites with RTTI");

			BiConsumer<RttiFuncInfo, Consumer<CallSiteInfo>> getReferencesToRttiFuncWithMonitor =
				(rfi, c) -> getReferencesToRttiFunc(rfi, c, upwtm);

			//@formatter:off
			Map<Function, List<CallSiteInfo>> result = List.of(
				new RttiFuncInfo("runtime.newobject", 0, this::getReturnTypeForNewObjectFunc),
				new RttiFuncInfo("runtime.makeslice", 0, this::getReturnTypeForSliceFunc),
				new RttiFuncInfo("runtime.growslice", 4, this::getReturnTypeForSliceFunc), 
				new RttiFuncInfo("runtime.makeslicecopy", 0, this::getReturnTypeForSliceFunc))
					.stream()
					.mapMulti(getReferencesToRttiFuncWithMonitor)
					.collect(groupingBy(csi -> csi.callingFunc));
			//@formatter:on

			callingFunctionCount = result.size();
			return result.entrySet();
		}
A background command that runs after reference analysis, it applies functions signature
overrides to callsites that have a RTTI type parameter that return a specialized
type instead of a void*.
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/analysis/GolangSymbolAnalyzer.java