private static CppCompositeType createP1_struct(DataTypeManager dtm) {
		String name = "P1NS::P1";
		SymbolPath classSp = new SymbolPath(SymbolPathParser.parse(name));
		CppCompositeType struct = createStruct(dtm, name, 16);
		struct.addVirtualFunctionTablePointer(ClassUtils.VXPTR_TYPE, 0);
		struct.addMember("p1", intT, false, publicDirectAttributes, 8, null);
		struct.addVirtualMethod(0, 0, new SymbolPath(classSp, "fp1_3"), fintvoidT);
		struct.addVirtualMethod(0, 8, new SymbolPath(classSp, "fp1_4"), fintintT);
		struct.addVirtualMethod(0, 16, new SymbolPath(classSp, "fp1_4"), fintvoidT);
		struct.addVirtualMethod(0, 24, new SymbolPath(classSp, "fp1_5"), fintvoidT);
		struct.addVirtualMethod(0, 32, new SymbolPath(classSp, "fp1_6"), fintintT);
		struct.addVirtualMethod(0, 40, new SymbolPath(classSp, "fp1_6"), fintvoidT);
		struct.addVirtualMethod(0, 48, new SymbolPath(classSp, "fp1_7"), fintvoidT);
		struct.addVirtualMethod(0, 56, new SymbolPath(classSp, "fp1_8"), fintintT);
		struct.addVirtualMethod(0, 64, new SymbolPath(classSp, "fp1_8"), 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