private static CppCompositeType createQ3_struct(DataTypeManager dtm, CppCompositeType P1_struct,
			CppCompositeType P2_struct) throws PdbException {
		String name = "Q3NS::Q3";
		SymbolPath classSp = new SymbolPath(SymbolPathParser.parse(name));
		CppCompositeType struct = createStruct(dtm, name, 40);
		struct.addDirectBaseClass(P1_struct.getComposite(), P1_struct, publicDirectAttributes, 0);
		struct.addDirectBaseClass(P2_struct.getComposite(), P2_struct, publicDirectAttributes, 16);
		struct.addMember("q3", intT, false, publicDirectAttributes, 32, null);
		struct.addVirtualMethod(0, 72, new SymbolPath(classSp, "fq1_3"), fintvoidT);
		struct.addVirtualMethod(0, -1, new SymbolPath(classSp, "fp1_3"), fintvoidT);
		struct.addVirtualMethod(0, -1, new SymbolPath(classSp, "fp1_4"), fintintT);
		struct.addVirtualMethod(0, -1, new SymbolPath(classSp, "fp1_4"), fintvoidT);
		struct.addVirtualMethod(0, -1, new SymbolPath(classSp, "fp1_5"), fintvoidT);
		struct.addVirtualMethod(0, -1, new SymbolPath(classSp, "fp1_6"), fintintT);
		struct.addVirtualMethod(0, -1, new SymbolPath(classSp, "fp1_6"), fintvoidT);
		struct.addVirtualMethod(0, -1, new SymbolPath(classSp, "fp1_7"), fintvoidT);
		struct.addVirtualMethod(0, -1, new SymbolPath(classSp, "fp1_8"), fintintT);
		struct.addVirtualMethod(0, -1, new SymbolPath(classSp, "fp1_8"), fintvoidT);
		struct.addVirtualMethod(16, -1, new SymbolPath(classSp, "fp2_3"), fintvoidT);
		struct.addVirtualMethod(16, -1, new SymbolPath(classSp, "fp2_4"), fintintT);
		struct.addVirtualMethod(16, -1, new SymbolPath(classSp, "fp2_4"), fintvoidT);
		struct.addVirtualMethod(16, -1, new SymbolPath(classSp, "fp2_5"), fintvoidT);
		struct.addVirtualMethod(16, -1, new SymbolPath(classSp, "fp2_6"), fintintT);
		struct.addVirtualMethod(16, -1, new SymbolPath(classSp, "fp2_6"), fintvoidT);
		struct.addVirtualMethod(16, -1, new SymbolPath(classSp, "fp2_7"), fintvoidT);
		struct.addVirtualMethod(16, -1, new SymbolPath(classSp, "fp2_8"), fintintT);
		struct.addVirtualMethod(16, -1, new SymbolPath(classSp, "fp2_8"), fintvoidT);
		struct.addVirtualMethod(16, -1, new SymbolPath(classSp, "fp2_9"), fintvoidT);
		struct.addVirtualMethod(16, -1, new SymbolPath(classSp, "fp2_10"), fintintT);
		struct.addVirtualMethod(16, -1, new SymbolPath(classSp, "fp2_10"), fintvoidT);
		return struct;
	}
Class to create the vftm 64-bit program and mock PDB
Ghidra/Features/PDB/src/test/java/ghidra/app/util/pdb/Vftm64ProgramCreator.java