@Override
	public void writeGate(PrintWriter writer, TaintLabel mark) {
		Boolean allAccess = taintOptions.getTaintUseAllAccess();
		String method = "TaintSanitizeAll";
		Address addr = mark.getAddress();
		// NOTE: verify setting entryPoint as addr doesn't break things

		if (mark.getFunctionName() == null) {
			return;
		}

		writer.println(method + "Vertex(vn, p) :-");
		if (!mark.isGlobal()) {
			writer.println("\tHFUNC_NAME(m, \"" + mark.getFunctionName().toString() + "\"),");
			writer.println("\tCVar_InFunction(vn, m),");
		}
		if (addr != null && addr.getOffset() != 0) {
			writer.println("\tVNODE_PC_ADDRESS(vn, " + addr.getOffset() + "),");
		}
		writer.println("\tCVar_SourceInfo(vn, SOURCE_INFO_NAME_KEY, \"" +
			TaintState.varName(mark.getToken(), false) + "\"),");
		if (!allAccess) {
			writer.println("\tp = \"\",");
		}
		writer.println("\tVertex(vn, p).");
	}
Container for all the decompiler elements the users "selects" via the menu.
This data is used to build queries.
Ghidra/Features/DecompilerDependent/src/main/java/ghidra/app/plugin/core/decompiler/taint/ctadl/CTADLTaintState.java