public void getMappedSymbols(Address addr, Encoder resultEncoder) throws IOException {
		if (addr == Address.NO_ADDRESS) {
			// Unknown spaces may result from "spacebase" registers defined in cspec
			return;
		}
		Object obj = lookupSymbol(addr);
		if (obj instanceof Function) {
			boolean includeDefaults = addr.equals(funcEntry);
			encodeFunction(resultEncoder, (Function) obj, addr, includeDefaults);
		}
		else if (obj instanceof Data) {
			if (!encodeData(resultEncoder, (Data) obj)) {
				encodeHole(resultEncoder, addr);
			}
		}
		else if (obj instanceof ExternalReference) {
			encodeExternalRef(resultEncoder, addr, (ExternalReference) obj);
		}
		else if (obj instanceof Symbol) {
			encodeLabel(resultEncoder, (Symbol) obj, addr);
		}
		else {
			encodeHole(resultEncoder, addr);	// There is a hole, describe the extent of the hole
		}
	}
Describe data or functions at the given address; either function, reference, data, or hole.
Called by the native decompiler to query the GHIDRA database about any
symbols at the given address.

@param addr is the given address
@param resultEncoder is where to write encoded description
@throws IOException for errors encoding the result
Ghidra/Features/Decompiler/src/main/java/ghidra/app/decompiler/DecompileCallback.java