Files
UnrealEngineUWP/Engine/Source/Programs/UnrealHeaderTool/Private/HeaderProvider.h
Tim Smith 05f1316478 Update the header provider to support refering a type definition info.
This new functionallity will be used in future additions.

#rb devin.doucette
#rnx
#preflight 607707d03f280e000105eeac

[CL 16006786 by Tim Smith in ue5-main branch]
2021-04-14 12:12:18 -04:00

41 lines
892 B
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "Containers/UnrealString.h"
class FUnrealSourceFile;
class FUnrealTypeDefinitionInfo;
enum class EHeaderProviderSourceType
{
ClassName,
ScriptStructName,
TypeDef,
FileName,
};
class FHeaderProvider
{
friend bool operator==(const FHeaderProvider& A, const FHeaderProvider& B);
public:
FHeaderProvider(EHeaderProviderSourceType Type, FString&& Id);
explicit FHeaderProvider(FUnrealTypeDefinitionInfo& InTypeDef);
FUnrealSourceFile* Resolve(const FUnrealSourceFile& ParentSourceFile);
FString ToString() const;
const FString& GetId() const;
private:
EHeaderProviderSourceType Type;
FString Id;
FUnrealTypeDefinitionInfo* TypeDef = nullptr;
FUnrealSourceFile* Cache = nullptr;
bool bResolved = false;
};
bool operator==(const FHeaderProvider& A, const FHeaderProvider& B);