47 lines
1.8 KiB
C++
47 lines
1.8 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "DiffWriterArchive.h"
|
|
|
|
namespace UE::DiffWriter
|
|
{
|
|
|
|
/**
|
|
* Context object for DumpTableDifferences when we are using EPackageHeaderFormat::PackageFileSummary and so the
|
|
* header information comes from FLinkerLoad.
|
|
*/
|
|
struct FDiffWriterLinkerLoadHeader
|
|
{
|
|
public:
|
|
FLinkerLoad* Linker = nullptr;
|
|
const FMessageCallback& MessageCallback;
|
|
|
|
public:
|
|
// Constructor
|
|
FDiffWriterLinkerLoadHeader(FLinkerLoad* InLinker, const FMessageCallback& InMessageCallback);
|
|
|
|
// API for DumpTableDifferences
|
|
FString GetTableKey(const FObjectExport& Export);
|
|
FString GetTableKey(const FObjectImport& Import);
|
|
FString GetTableKey(const FName& Name);
|
|
FString GetTableKey(FNameEntryId Id);
|
|
FString GetTableKeyForIndex(FPackageIndex Index);
|
|
FString ConvertItemToText(const FObjectExport& Export);
|
|
FString ConvertItemToText(const FName& Name);
|
|
FString ConvertItemToText(FNameEntryId Id);
|
|
FString ConvertItemToText(const FObjectImport& Import);
|
|
bool CompareTableItem(FDiffWriterLinkerLoadHeader& DestContext, const FName& SourceName, const FName& DestName);
|
|
bool CompareTableItem(FDiffWriterLinkerLoadHeader& DestContext, FNameEntryId SourceName, FNameEntryId DestName);
|
|
bool CompareTableItem(FDiffWriterLinkerLoadHeader& DestContext, const FObjectImport& SourceImport,
|
|
const FObjectImport& DestImport);
|
|
bool CompareTableItem(FDiffWriterLinkerLoadHeader& DestContext, const FObjectExport& SourceExport,
|
|
const FObjectExport& DestExport);
|
|
bool ComparePackageIndices(FDiffWriterLinkerLoadHeader& DestContext, const FPackageIndex& SourceIndex,
|
|
const FPackageIndex& DestIndex);
|
|
bool IsImportMapIdentical(FDiffWriterLinkerLoadHeader& DestContext);
|
|
bool IsExportMapIdentical(FDiffWriterLinkerLoadHeader& DestContext);
|
|
void LogMessage(ELogVerbosity::Type Verbosity, FStringView Message);
|
|
};
|
|
|
|
} |