private RecoveredClass addClassParentAndFlagsForSiClass(RecoveredClass recoveredClass,
			GccTypeinfo typeinfo) {
		List<BaseTypeinfo> baseTypeinfos = typeinfo.getBaseTypeinfos();
		if (baseTypeinfos.size() != 1) {
			throw new IllegalArgumentException(
				"SiClassTypeinfo " + recoveredClass.getClassNamespace().getName(true) +
					" should have exactly one parent");
		}

		GccTypeinfo siParentTypeinfo = baseTypeinfos.get(0).getBaseTypeinfo();

		RecoveredClass parentClass = getClass(siParentTypeinfo.getNamespace());
		if (parentClass == null) {
			Msg.error(this, "Parent class's RecoveredClass object for : " +
				siParentTypeinfo.getNamespace().getName(true) + " should already exist. ");
			return null;
		}

		updateClassWithParent(parentClass, recoveredClass);
		recoveredClass.setHasSingleInheritance(true);
		recoveredClass.setHasMultipleInheritance(false);
		recoveredClass.setHasMultipleVirtualInheritance(false);
		parentClass.setIsPublicClass(true);
		recoveredClass.addParentToBaseTypeMapping(parentClass, false);

		// NEW check to get all ancestor info
		if (typeinfo.getNumAllVirtualBases() > 0) {
			recoveredClass.setInheritsVirtualAncestor(true);
		}

		// add order to parent and parent offset
		Map<Integer, RecoveredClass> orderToParentMap = new HashMap<Integer, RecoveredClass>();
		orderToParentMap.put(0, parentClass);
		classToParentOrderMap.put(recoveredClass, orderToParentMap);

		Map<RecoveredClass, Long> parentToOffsetMap = new HashMap<RecoveredClass, Long>();
		parentToOffsetMap.put(parentClass, 0L);

		classToParentOffsetMap.put(recoveredClass, parentToOffsetMap);
		return parentClass;

	}
Method to call the various methods to determine whether the functions that
make references to the vftables are constructors, destructors, deleting
destructors, clones, or vbase functions

@throws CancelledException     if cancelled
@throws InvalidInputException  if issues setting function return
@throws DuplicateNameException if try to create same symbol name already in
                               namespace
@Exception if issues making labels
Ghidra/Features/Decompiler/ghidra_scripts/classrecovery/RTTIGccClassRecoverer.java