private Map<Address, GoIMethod> getInterfaceMethods() throws IOException {
		long[] functionAddrs = getFunSlice().readUIntList(programContext.getPtrSize());
		GoInterfaceType iface = getInterfaceType();
		List<GoIMethod> ifaceMethods = iface.getMethods();
		if (functionAddrs.length != ifaceMethods.size()) {
			Msg.warn(this, "Bad interface spec: %s, iface length doesn't match function impl list"
					.formatted(getStructureLabel()));
			return Map.of();
		}
		Map<Address, GoIMethod> results = new HashMap<>();
		for (int i = 0; i < functionAddrs.length; i++) {
			if (functionAddrs[i] == 0) {
				continue;
			}
			Address addr = programContext.getCodeAddress(functionAddrs[i]);
			if (!programContext.getProgram()
					.getMemory()
					.getLoadedAndInitializedAddressSet()
					.contains(addr)) {
				continue;
			}
			GoIMethod imethod = ifaceMethods.get(i);

			results.put(addr, imethod);
		}
		return results;
	}
Returns an artificial slice that contains the address of the functions that implement
the interface methods.

@return artificial slice that contains the address of the functions that implement
the interface methods
@throws IOException if error reading method info
Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/golang/rtti/GoItab.java