Files
UnrealEngineUWP/Engine/Source/Programs/UnrealHeaderTool/Private/ClassMaps.h
Stefan Boberg 1f813eb516 Copying //UE4/Dev-Core to Main (//UE4/Main)
#rb many

[CL 9405827 by Stefan Boberg in Main branch]
2019-10-03 16:26:48 -04:00

77 lines
1.9 KiB
C++

// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "UObject/Stack.h"
#include "UnderlyingEnumType.h"
#include "UnrealSourceFile.h"
class UField;
class UClass;
class UProperty;
class UPackage;
class UEnum;
class FClassDeclarationMetaData;
class FArchive;
struct FManifestModule;
class FUnrealSourceFile;
class FUnrealTypeDefinitionInfo;
enum class ESerializerArchiveType
{
None,
Archive,
StructuredArchiveRecord
};
struct FArchiveTypeDefinePair
{
ESerializerArchiveType ArchiveType;
FString EnclosingDefine;
};
extern TMap<FString, TSharedRef<FUnrealSourceFile> > GUnrealSourceFilesMap;
extern TMap<UField*, TSharedRef<FUnrealTypeDefinitionInfo> > GTypeDefinitionInfoMap;
extern TMap<const UPackage*, TArray<UField*>> GPackageSingletons;
extern TMap<UClass*, FString> GClassStrippedHeaderTextMap;
extern TMap<UClass*, FString> GClassHeaderNameWithNoPathMap;
extern TSet<FUnrealSourceFile*> GPublicSourceFileSet;
extern TMap<UProperty*, FString> GArrayDimensions;
extern TMap<UPackage*, const FManifestModule*> GPackageToManifestModuleMap;
extern TMap<UField*, uint32> GGeneratedCodeHashes;
extern TMap<UEnum*, EUnderlyingEnumType> GEnumUnderlyingTypes;
extern TMap<FName, TSharedRef<FClassDeclarationMetaData> > GClassDeclarations;
extern TSet<UProperty*> GUnsizedProperties;
extern TSet<UField*> GEditorOnlyDataTypes;
extern TMap<UStruct*, TTuple<TSharedRef<FUnrealSourceFile>, int32>> GStructToSourceLine;
extern TMap<UClass*, FArchiveTypeDefinePair> GClassSerializerMap;
/** Types access specifiers. */
enum EAccessSpecifier
{
ACCESS_NotAnAccessSpecifier = 0,
ACCESS_Public,
ACCESS_Private,
ACCESS_Protected,
ACCESS_Num,
};
inline FArchive& operator<<(FArchive& Ar, EAccessSpecifier& ObjectType)
{
if (Ar.IsLoading())
{
int32 Value;
Ar << Value;
ObjectType = EAccessSpecifier(Value);
}
else if (Ar.IsSaving())
{
int32 Value = (int32)ObjectType;
Ar << Value;
}
return Ar;
}