Navigation
API > API/Runtime > API/Runtime/VerseCompiler
The base class of scoped definitions.
| Name | CDefinition |
| Type | class |
| Header File | /Engine/Source/Runtime/VerseCompiler/Public/uLang/Semantics/Definition.h |
| Include Path | #include "uLang/Semantics/Definition.h" |
Syntax
class CDefinition :
public uLang::CAttributable ,
public uLang::CNamed ,
public uLang::TAstNodeRef< CExpressionBase > ,
public uLang::CSharedMix
Inheritance Hierarchy
- CAttributable → CDefinition
- CNamed → CDefinition
- TAstNodeRef → CDefinition
- CSharedMix → CDefinition
Derived Classes
CDefinition derived class hierarchy
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| uLang/Semantics/Definition.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
~CDefinition() |
uLang/Semantics/Definition.h |
Enums
Public
| Name | Remarks |
|---|---|
| EKind |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| _EnclosingScope | CScope & | uLang/Semantics/Definition.h | ||
| _ParentScopeOrdinal | const int32_t | An integer that represents the order the definition occurred in the parent scope: The absolute value shouldn't be used, but if this value is greater than another definition from the same scope, this definition occurred after the other. | uLang/Semantics/Definition.h | |
| _Qualifier | SQualifier | If the definition overrides via an explicit qualifier, this is the qualifier type. | uLang/Semantics/Definition.h |
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| _AccessLevel | TOptional< SAccessLevel > | The definition's access level. | uLang/Semantics/Definition.h | |
| _CombinedAvailableAttributeVersion | TOptional< uint64_t > | Set on first use combined @available version for this definition and all enclosing scope definitions. | uLang/Semantics/Definition.h | |
| _ConstrainedDefinition | const CDefinition * | If this definition is a constraint on some other definition, this will reference the constrained definition. | uLang/Semantics/Definition.h | |
| _Kind | const EKind | uLang/Semantics/Definition.h | ||
| _LastOverridingVisitStamp | VisitStampType | The stamp for the last time an overriding definition was visited. | uLang/Semantics/Definition.h | |
| _OverriddenDefinition | const CDefinition * | If the definition overrides an inherited definition, this will reference the inherited definition. | uLang/Semantics/Definition.h | |
| _PrototypeDefinition | const CDefinition * | If the definition was instantiated from a polymorphic prototype, this will reference the prototype definition. | uLang/Semantics/Definition.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
TDefinition const & AsChecked () |
uLang/Semantics/Definition.h | ||
TDefinition const & AsChecked () |
uLang/Semantics/Definition.h | ||
TDefinition & AsChecked () |
uLang/Semantics/Definition.h | ||
TDefinition * AsNullable () |
uLang/Semantics/Definition.h | ||
TDefinition const * AsNullable () |
uLang/Semantics/Definition.h | ||
virtual const CLogicalScope * DefinitionAsLogicalScopeNullable() |
If this definition has a corresponding scope, yield it. | uLang/Semantics/Definition.h | |
| This is the true AccessLevel of this definition. | uLang/Semantics/Definition.h | ||
CExpressionBase * GetAstNode() |
uLang/Semantics/Definition.h | ||
const CDefinition & GetBaseClassOverriddenDefinition() |
uLang/Semantics/Definition.h | ||
const CDefinition & GetBaseOverriddenDefinition() |
uLang/Semantics/Definition.h | ||
TOptional< uint64_t > GetCombinedAvailableVersion() |
uLang/Semantics/Definition.h | ||
const CDefinition * GetConstrainedDefinition() |
uLang/Semantics/Definition.h | ||
const CDefinition & GetDefinitionAccessibilityRoot () |
These classes of functions are helpers to get to the scope of where the definition or definition's var access scope is defined. | uLang/Semantics/Definition.h | |
const CDefinition * GetEnclosingDefinition () |
Find a definition that corresponds to the nearest enclosing scope with a corresponding definition. | uLang/Semantics/Definition.h | |
SQualifier GetImplicitQualifier() |
Determines the qualifier for this definition, even if not explicitly specified (from the original source). | uLang/Semantics/Definition.h | |
CExpressionBase * GetIrNode
(
bool bForce |
uLang/Semantics/Definition.h | ||
EKind GetKind() |
Casts. | uLang/Semantics/Definition.h | |
const CExpressionBase * GetNativeSpecifierExpression() |
If the definition is native, returns the native specifier expression. | uLang/Semantics/Definition.h | |
const CDefinition * GetOverriddenDefinition() |
Accessors. | uLang/Semantics/Definition.h | |
const CDefinition * GetPrototypeDefinition() |
uLang/Semantics/Definition.h | ||
bool IsA() |
uLang/Semantics/Definition.h | ||
bool IsAccessibleFrom
(
const CScope& |
uLang/Semantics/Definition.h | ||
bool IsBuiltIn() |
Returns whether this is a built-in definition. | uLang/Semantics/Definition.h | |
bool IsDeprecated() |
Returns whether this definition has the deprecated attribute. | uLang/Semantics/Definition.h | |
bool IsExperimental() |
Returns whether this definition has the experimental attribute. | uLang/Semantics/Definition.h | |
bool IsExplicitlyLocallyQualified() |
If the definition is explicitly qualified with the `(local:)_ identifier. | uLang/Semantics/Definition.h | |
bool IsFinal() |
uLang/Semantics/Definition.h | ||
bool IsInstanceMember() |
uLang/Semantics/Definition.h | ||
bool IsLocallyQualified() |
If the definition is implicitly local by virtue of being a definition within a function body/explicitly qualified as `(local:)_. | uLang/Semantics/Definition.h | |
bool IsNative() |
Returns whether this is a native definition. | uLang/Semantics/Definition.h | |
bool IsPersistenceCompatConstraint() |
uLang/Semantics/Definition.h | ||
const TOptional< SAccessLevel > & SelfAccessLevel() |
AccessLevel declared on this specific definition. | uLang/Semantics/Definition.h | |
void SetAccessLevel
(
const TOptional< SAccessLevel >& AccessLevel |
uLang/Semantics/Definition.h | ||
void SetCombinedAvailableVersion
(
uint64_t InAvailableVersion |
uLang/Semantics/Definition.h | ||
void SetConstrainedDefinition
(
const CDefinition& ConstrainedDefinition |
uLang/Semantics/Definition.h | ||
void SetName
(
const CSymbol& NewName |
uLang/Semantics/Definition.h | ||
void SetOverriddenDefinition
(
const CDefinition& OverriddenDefinition |
uLang/Semantics/Definition.h | ||
void SetOverriddenDefinition
(
const CDefinition* OverriddenDefinition |
uLang/Semantics/Definition.h | ||
bool TryMarkOverriddenAndConstrainedDefinitionsVisited
(
VisitStampType VisitStamp |
If this definition has the given visit stamp, return false. | uLang/Semantics/Definition.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void SetAstNode
(
CExpressionBase* AstNode |
uLang/Semantics/Definition.h | ||
void SetIrNode
(
CExpressionBase* IrNode |
uLang/Semantics/Definition.h | ||
void SetPrototypeDefinition
(
const CDefinition& PrototypeDefinition |
Setters that should be wrapped by a subclass to restrict the parameter type. | uLang/Semantics/Definition.h |