Files
UnrealEngineUWP/Engine/Source/Programs/UnrealHeaderTool/Private/ParserClass.h
Matthew Griffin bb70b349ce Merging CL 2804086 from //UE4/Release-4.11 to Dev-Main (//UE4/Dev-Main) to isolate copyright update
#lockdown Nick.Penwarden

[CL 2819020 by Matthew Griffin in Main branch]
2016-01-07 08:17:16 -05:00

57 lines
1.3 KiB
C++

// Copyright 1998-2016 Epic Games, Inc. All Rights Reserved.
#pragma once
struct EEnforceInterfacePrefix
{
enum Type
{
None,
I,
U
};
};
class FClasses;
class FClass : public UClass
{
public:
FClass();
/**
* Returns the name of the given class with a valid prefix.
*
* @param InClass Class used to create a valid class name with prefix
*/
FString GetNameWithPrefix(EEnforceInterfacePrefix::Type EnforceInterfacePrefix = EEnforceInterfacePrefix::None) const;
/**
* Returns the super class of this class, or NULL if there is no superclass.
*
* @return The super class of this class.
*/
FClass* GetSuperClass() const;
/**
* Returns the 'within' class of this class.
*
* @return The 'within' class of this class.
*/
FClass* GetClassWithin() const;
TArray<FClass*> GetInterfaceTypes() const;
void GetHideCategories(TArray<FString>& OutHideCategories) const;
void GetShowCategories(TArray<FString>& OutShowCategories) const;
/** Helper function that checks if the field is a dynamic type (can be constructed post-startup) */
static bool IsDynamic(const UField* Field);
/** Helper function that checks if the field is belongs to a dynamic type */
static bool IsOwnedByDynamicType(const UField* Field);
/** Helper function to get the source replaced package name */
static FString GetTypePackageName(const UField* Field);
};