You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
#ttp 332332 UE4: Core: UnrealHeaderTool: Doesn't provide source file and line number for error about missing superclass #proj core #branch UE4 #summary Add clickable error with file name and line number information in error/output window when superclass is missing. #codereview steve.robb [CL 2077342 by Mikolaj Sieluzycki in Main branch]
65 lines
1.7 KiB
C++
65 lines
1.7 KiB
C++
// Copyright 1998-2014 Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "UniquePtr.h"
|
|
|
|
template <typename T>
|
|
class TUniqueObj
|
|
{
|
|
public:
|
|
TUniqueObj()
|
|
: Obj_(MakeUnique<T>())
|
|
{
|
|
}
|
|
|
|
template <typename Arg>
|
|
explicit TUniqueObj(Arg&& arg)
|
|
: Obj_(MakeUnique<T>(Forward<Arg>(arg)))
|
|
{
|
|
}
|
|
|
|
T* operator->() { return Obj_.Get(); }
|
|
const T* operator->() const { return Obj_.Get(); }
|
|
|
|
T& operator*() { return *Obj_; }
|
|
const T& operator*() const { return *Obj_; }
|
|
|
|
private:
|
|
TUniquePtr<T> Obj_;
|
|
};
|
|
|
|
/** Information about class source and generated headers */
|
|
struct FClassHeaderInfo
|
|
{
|
|
FString SourceFilename;
|
|
FString GeneratedFilename;
|
|
bool bHasChanged;
|
|
|
|
FClassHeaderInfo()
|
|
: bHasChanged(false)
|
|
{
|
|
}
|
|
|
|
explicit FClassHeaderInfo(const FString& InSourceFilename)
|
|
: SourceFilename(InSourceFilename)
|
|
, bHasChanged(false)
|
|
{
|
|
}
|
|
};
|
|
|
|
struct FManifestModule;
|
|
|
|
extern TMap<UClass*, FString> GClassStrippedHeaderTextMap;
|
|
extern TMap<UClass*, FString> GClassSourceFileMap;
|
|
extern TMap<UClass*, int32> GClassDeclarationLineNumber;
|
|
extern TMap<UClass*, FClassHeaderInfo> GClassGeneratedFileMap;
|
|
extern TMap<UClass*, TUniqueObj<TArray<FName>>> GClassDependentOnMap;
|
|
extern TMap<UClass*, FString> GClassHeaderNameWithNoPathMap;
|
|
extern TMap<UClass*, FString> GClassModuleRelativePathMap;
|
|
extern TMap<UClass*, FString> GClassIncludePathMap;
|
|
extern TSet<UClass*> GExportedClasses;
|
|
extern TSet<UClass*> GPublicClassSet;
|
|
extern TMap<UProperty*, FString> GArrayDimensions;
|
|
extern TMap<UPackage*, const FManifestModule*> GPackageToManifestModuleMap;
|