You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
37 lines
1.5 KiB
C++
37 lines
1.5 KiB
C++
// Copyright 1998-2016 Epic Games, Inc. All Rights Reserved.
|
|
#include "UnrealHeaderTool.h"
|
|
#include "UHTMakefile/UHTMakefile.h"
|
|
#include "UHTMakefile/CompilerMetadataManagerArchiveProxy.h"
|
|
|
|
FCompilerMetadataManagerArchiveProxy::FCompilerMetadataManagerArchiveProxy(const FUHTMakefile& UHTMakefile, TArray<TPair<UStruct*, FClassMetaData*>>& CompilerMetadataManager)
|
|
{
|
|
for (auto& Kvp : CompilerMetadataManager)
|
|
{
|
|
Array.Add(TPairInitializer<FSerializeIndex, FClassMetaDataArchiveProxy>(UHTMakefile.GetStructIndex(Kvp.Key), FClassMetaDataArchiveProxy(UHTMakefile, Kvp.Value)));
|
|
}
|
|
}
|
|
|
|
void FCompilerMetadataManagerArchiveProxy::AddReferencedNames(const FCompilerMetadataManager* CompilerMetadataManager, FUHTMakefile& UHTMakefile)
|
|
{
|
|
for (auto& Kvp : *CompilerMetadataManager)
|
|
{
|
|
FClassMetaDataArchiveProxy::AddReferencedNames(Kvp.Value, UHTMakefile);
|
|
}
|
|
}
|
|
|
|
void FCompilerMetadataManagerArchiveProxy::Resolve(int32 Index, FCompilerMetadataManager& CompilerMetadataManager, FUHTMakefile& UHTMakefile)
|
|
{
|
|
auto& Kvp = Array[Index];
|
|
UStruct* Struct = UHTMakefile.GetStructByIndex(Kvp.Key);
|
|
FClassMetaData* ClassMetaData = GScriptHelper.AddClassData(Struct, UHTMakefile, nullptr);
|
|
Kvp.Value.PostConstruct(ClassMetaData);
|
|
Kvp.Value.Resolve(ClassMetaData, UHTMakefile);
|
|
UHTMakefile.CreateGScriptHelperEntry(Struct, ClassMetaData);
|
|
}
|
|
|
|
FArchive& operator<<(FArchive& Ar, FCompilerMetadataManagerArchiveProxy& CompilerMetadataManagerArchiveProxy)
|
|
{
|
|
Ar << CompilerMetadataManagerArchiveProxy.Array;
|
|
return Ar;
|
|
}
|