private void dumpDataTypes(OutputStream debugStream) throws IOException {
		XmlEncode encoder = new XmlEncode();
		encoder.openElement(ELEM_TYPEGRP);
		encoder.writeSignedInteger(ATTRIB_STRUCTALIGN, 4);
		// structalign should come out of pcodelanguage.getCompilerSpec()
		DataTypeDependencyOrderer TypeOrderer =
			new DataTypeDependencyOrderer(program.getDataTypeManager(), dtypes);
		//First output all structures as zero size so to avoid any cyclic dependencies.
		for (DataType dataType : TypeOrderer.getCompositeList()) {
			dtmanage.encodeCompositePlaceholder(encoder, dataType);
		}
		//Next, use the dependency stack to output types.
		for (DataType dataType : TypeOrderer.getDependencyList()) {
			if (!(dataType instanceof BuiltIn)) {
				dtmanage.encodeType(encoder, dataType, dataType.getLength());
			}
		}
		encoder.closeElement(ELEM_TYPEGRP);
		encoder.writeTo(debugStream);
	}
Dump information on strings that were queried by the decompiler.
@param debugStream is the stream to write to
@throws IOException if any i/o error occurs
Ghidra/Features/Decompiler/src/main/java/ghidra/app/decompiler/DecompileDebug.java