Files
UnrealEngineUWP/Engine/Source/Programs/Shared/EpicGames.UHT/Specifiers/UhtInterfaceClassSpecifiers.cs
Tim Smith 1f11b428c6 1) Fixed issue where UPARAM wasn't getting parsed as part of a template argument property type
2) Refactored how property specifiers are parsed due to above issue
3) Fixed issue where UClass derived types were not outputting correctly in event parameter lists
4) Added more diagnostic output to package files.

#rb self
#rnx
#robomerge emt
#preflight 62b5b9c548183a59a576eaf8

[CL 20808450 by Tim Smith in ue5-main branch]
2022-06-24 09:27:13 -04:00

36 lines
1.3 KiB
C#

// Copyright Epic Games, Inc. All Rights Reserved.
using System.Diagnostics.CodeAnalysis;
using EpicGames.Core;
using EpicGames.UHT.Tables;
using EpicGames.UHT.Types;
using EpicGames.UHT.Utils;
namespace EpicGames.UHT.Parsers
{
[UnrealHeaderTool]
[SuppressMessage("CodeQuality", "IDE0051:Remove unused private members", Justification = "Attribute accessed method")]
class UhtInterfaceClassSpecifiers
{
[UhtSpecifier(Extends = UhtTableNames.Interface, ValueType = UhtSpecifierValueType.Legacy)]
private static void DependsOnSpecifier(UhtSpecifierContext specifierContext)
{
throw new UhtException(specifierContext.MessageSite, $"The dependsOn specifier is deprecated. Please use #include \"ClassHeaderFilename.h\" instead.");
}
[UhtSpecifier(Extends = UhtTableNames.Interface, ValueType = UhtSpecifierValueType.Legacy)]
private static void MinimalAPISpecifier(UhtSpecifierContext specifierContext)
{
UhtClass clasObj = (UhtClass)specifierContext.Type;
clasObj.ClassFlags |= EClassFlags.MinimalAPI;
}
[UhtSpecifier(Extends = UhtTableNames.Interface, ValueType = UhtSpecifierValueType.Legacy)]
private static void ConversionRootSpecifier(UhtSpecifierContext specifierContext)
{
UhtClass classObj = (UhtClass)specifierContext.Type;
classObj.MetaData.Add(UhtNames.IsConversionRoot, "true");
}
}
}