@Override
	public DataType toDataType() throws DuplicateNameException, IOException {
		Structure structure = (Structure) super.toDataType();

		structure.add(STRING, 4, "version_", null);
		structure.add(DWORD, "number_of_dex_files_", null);
		structure.add(DWORD, "dex_size_", null);
		structure.add(DWORD, "verifier_deps_size_", null);
		structure.add(DWORD, "quickening_info_size_", null);
		for (int i = 0; i < dex_checksums_.length; ++i) {
			structure.add(DWORD, "dex_checksums_" + i, null);
		}
		for (int i = 0; i < dexHeaderList.size(); ++i) {
			DexHeader dexHeader = dexHeaderList.get(i);
			DataType dexHeaderDataType = dexHeader.toDataType();
			try {
				dexHeaderDataType.setName(dexHeaderDataType.getName() + "_" + i);
			}
			catch (Exception e) {
				//ignore...
			}
			structure.add(dexHeaderDataType, "dex_header_" + i, null);
			ArrayDataType array = new ArrayDataType(BYTE,
				dexHeader.getFileSize() - dexHeaderDataType.getLength(), BYTE.getLength());
			structure.add(array, "dex_header_bytes_" + i, null);
		}
		if (stringTable != null) {
			structure.add(stringTable.toDataType(), "strings", null);
		}
		return structure;
	}
<a href="https://android.googlesource.com/platform/art/+/refs/heads/oreo-release/runtime/vdex_file.h">oreo-release/runtime/vdex_file.h</a>
<br>
<a href="https://android.googlesource.com/platform/art/+/refs/heads/oreo-m2-release/runtime/vdex_file.h">oreo-m2-release/runtime/vdex_file.h</a>
Ghidra/Features/FileFormats/src/main/java/ghidra/file/formats/android/vdex/headers/VdexHeader_006.java