UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ModuleAlias.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2// uLang Compiler Public API
3
4#pragma once
5
9
10namespace uLang
11{
12// Forward declarations.
13class CModule;
14
15// An imported module: Alias := import(...)
17{
18public:
19 static const CDefinition::EKind StaticDefinitionKind = CDefinition::EKind::ModuleAlias;
20
24
25 const CModule* Module() const { return _Module; }
26 void SetModule(const CModule* Module) { _Module = Module; }
27
28 // CDefinition interface.
30 CExprImport* GetAstNode() const { return static_cast<CExprImport*>(CDefinition::GetAstNode()); }
31
33 CExprImport* GetIrNode(bool bForce = false) const { return static_cast<CExprImport*>(CDefinition::GetIrNode(bForce)); }
34
35 virtual bool IsPersistenceCompatConstraint() const override { return false; }
36
37private:
38
39 const CModule* _Module{ nullptr };
40};
41}
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition Definition.h:131
void SetAstNode(CExpressionBase *AstNode)
Definition Definition.h:329
CExpressionBase * GetAstNode() const
Definition Definition.h:231
EKind
Definition Definition.h:135
void SetIrNode(CExpressionBase *IrNode)
Definition Definition.h:334
CExpressionBase * GetIrNode(bool bForce=false) const
Definition Definition.h:232
Definition Expression.h:3310
Definition ModuleAlias.h:17
virtual bool IsPersistenceCompatConstraint() const override
Definition ModuleAlias.h:35
void SetIrNode(CExprImport *AstNode)
Definition ModuleAlias.h:32
CExprImport * GetIrNode(bool bForce=false) const
Definition ModuleAlias.h:33
void SetModule(const CModule *Module)
Definition ModuleAlias.h:26
void SetAstNode(CExprImport *AstNode)
Definition ModuleAlias.h:29
CExprImport * GetAstNode() const
Definition ModuleAlias.h:30
const CModule * Module() const
Definition ModuleAlias.h:25
static const CDefinition::EKind StaticDefinitionKind
Definition ModuleAlias.h:19
CModuleAlias(const CSymbol &Name, CScope &EnclosingScope)
Definition ModuleAlias.h:21
Definition SemanticProgram.h:89
Definition SemanticScope.h:73
Symbol representing a text string with an associated id.
Definition Symbol.h:98
Definition VVMEngineEnvironment.h:23
Definition VstNode.h:924