UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ApiLayerInjections.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
8
9namespace Verse { namespace Vst { struct Node; struct Snippet; struct Package; struct Project; } }
10
11namespace uLang
12{
13
14// Forward declarations
15struct SBuildContext;
16struct SProgramContext;
17class CUTF8StringView;
18class CSemanticProgram;
19
29
30template<class FeatureType, typename... InjectionArgsType>
31class TApiLayerInjection : public TModularFeature<FeatureType>
32{
33public:
35 virtual bool Ingest(InjectionArgsType... Args, const SBuildContext& BuildContext) = 0;
36};
37
38class IPreParseInjection : public TApiLayerInjection<IPreParseInjection, const CUTF8StringView&> { ULANG_FEATURE_ID_DECL(IPreParseInjection); };
39class IPostParseInjection : public TApiLayerInjection<IPostParseInjection, const TSRef<Verse::Vst::Snippet>&> { ULANG_FEATURE_ID_DECL(IPostParseInjection); };
40class IPreSemAnalysisInjection : public TApiLayerInjection<IPreSemAnalysisInjection, const TSRef<Verse::Vst::Project>&, const SProgramContext&> { ULANG_FEATURE_ID_DECL(IPreSemAnalysisInjection); };
41class IIntraSemAnalysisInjection : public TApiLayerInjection<IIntraSemAnalysisInjection, const SIntraSemInjectArgs&, const SProgramContext&> { ULANG_FEATURE_ID_DECL(IIntraSemAnalysisInjection); };
42class IPostSemAnalysisInjection : public TApiLayerInjection<IPostSemAnalysisInjection, const TSRef<CSemanticProgram>&, const SProgramContext&> { ULANG_FEATURE_ID_DECL(IPostSemAnalysisInjection); };
43class IPreTranslateInjection : public TApiLayerInjection<IPreTranslateInjection, const TSRef<CSemanticProgram>&, const SProgramContext&> { ULANG_FEATURE_ID_DECL(IPreTranslateInjection); };
44class IPreLinkInjection : public TApiLayerInjection<IPreLinkInjection, const SProgramContext&> { ULANG_FEATURE_ID_DECL(IPreLinkInjection); };
45}
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define ULANG_FEATURE_ID_DECL(FeatureType)
Definition ModularFeature.h:41
Definition ApiLayerInjections.h:41
Definition ApiLayerInjections.h:39
Definition ApiLayerInjections.h:42
Definition ApiLayerInjections.h:44
Definition ApiLayerInjections.h:38
Definition ApiLayerInjections.h:40
Definition ApiLayerInjections.h:43
Definition ApiLayerInjections.h:32
virtual bool Ingest(InjectionArgsType... Args, const SBuildContext &BuildContext)=0
Definition ModularFeature.h:32
Definition SharedPointer.h:77
Definition tLang.cpp:1785
Definition Archive.h:36
uLang::CUTF8StringView CUTF8StringView
Definition VstNode.h:51
Definition VVMEngineEnvironment.h:23
ESemanticPass
Definition SemanticAnalyzerPassUtils.h:7
Definition DetourTileCache.cpp:72
Definition CompilerTypes.h:170
Definition ApiLayerInjections.h:21
ESemanticPass _InjectionPass
Definition ApiLayerInjections.h:27
SIntraSemInjectArgs(const TSRef< CSemanticProgram > &Program)
Definition ApiLayerInjections.h:22
const TSRef< CSemanticProgram > & _Program
Definition ApiLayerInjections.h:25