Files
UnrealEngineUWP/Engine/Source/Programs/UnrealHeaderTool/Private/SimplifiedParsingClassInfo.h
Chris Gagnon 8fc25ea18e Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
#rb none

[CL 4676797 by Chris Gagnon in Dev-Editor branch]
2019-01-02 14:54:39 -05:00

81 lines
1.5 KiB
C++

// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "Containers/UnrealString.h"
class FArchive;
/**
* Simplified parsing information about UClasses.
*/
class FSimplifiedParsingClassInfo
{
public:
// Constructor.
FSimplifiedParsingClassInfo(FString InClassName, FString InBaseClassName, int32 InClassDefLine, bool bInClassIsAnInterface)
: ClassName (MoveTemp(InClassName))
, BaseClassName (MoveTemp(InBaseClassName))
, ClassDefLine (InClassDefLine)
, bClassIsAnInterface(bInClassIsAnInterface)
{}
FSimplifiedParsingClassInfo() { }
/**
* Gets class name.
*/
const FString& GetClassName() const
{
return ClassName;
}
/**
* Gets base class name.
*/
const FString& GetBaseClassName() const
{
return BaseClassName;
}
/**
* Gets class definition line number.
*/
int32 GetClassDefLine() const
{
return ClassDefLine;
}
/**
* Tells if this class is an interface.
*/
bool IsInterface() const
{
return bClassIsAnInterface;
}
friend FArchive& operator<<(FArchive& Ar, FSimplifiedParsingClassInfo& SimplifiedParsingClassInfo)
{
Ar << SimplifiedParsingClassInfo.ClassName;
Ar << SimplifiedParsingClassInfo.BaseClassName;
Ar << SimplifiedParsingClassInfo.ClassDefLine;
Ar << SimplifiedParsingClassInfo.bClassIsAnInterface;
return Ar;
}
private:
// Name.
FString ClassName;
// Super-class name.
FString BaseClassName;
// Class definition line.
int32 ClassDefLine;
// Is this an interface class?
bool bClassIsAnInterface;
};