Files
UnrealEngine/Engine/Source/Programs/Shared/EpicGames.UHT/Specifiers/UhtInterfaceClassSpecifiers.cs
2025-05-18 13:04:45 +08: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");
}
}
}