Navigation
API > API/Runtime > API/Runtime/VerseCompiler > API/Runtime/VerseCompiler/uLang > API/Runtime/VerseCompiler/uLang/Semantics
Inheritance Hierarchy
- CAttributable
- CNamed
- TAstNodeRef
- CSharedMix
- CDefinition
- CClassDefinition
- CScopedAccessLevelDefinition
- CDataDefinition
- CEnumeration
- CEnumerator
- CFunction
- CInterface
- CModule
- CModuleAlias
- CTypeAlias
- CTypeVariable
References
| Module | VerseCompiler |
| Header | /Engine/Source/Runtime/VerseCompiler/Public/uLang/Semantics/Definition.h |
| Include | #include "uLang/Semantics/Definition.h" |
Syntax
class CDefinition :
public uLang::CAttributable ,
public uLang::CNamed ,
public uLang::TAstNodeRef< CExpressionBase > ,
public uLang::CSharedMix
Remarks
The base class of scoped definitions.
Variables
| Type | Name | Description | |
|---|---|---|---|
| CScope & | _EnclosingScope | ||
| const int32_t | _ParentScopeOrdinal | 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. | |
| SQualifier | _Qualifier | If the definition overrides via an explicit qualifier, this is the qualifier type. |
Constructors
| Type | Name | Description | |
|---|---|---|---|
CDefinition
(
EKind Kind, |
Destructors
| Type | Name | Description | |
|---|---|---|---|
~CDefinition () |
Functions
| Type | Name | Description | |
|---|---|---|---|
| TDefinition const & | AsChecked () |
||
| TDefinition const & | AsChecked () |
||
| TDefinition & | AsChecked () |
||
| TDefinition * | AsNullable () |
||
| TDefinition const * | AsNullable () |
||
| const CLogicalScope * | If this definition has a corresponding scope, yield it. | ||
| SAccessLevel | This is the true AccessLevel of this definition. | ||
| CExpressionBase * | GetAstNode () |
||
| const CDefinition & | |||
| const CDefinition * | |||
| const CDefinition & | These classes of functions are helpers to get to the scope of where the definition or definition's var access scope is defined. | ||
| const CDefinition * | Find a definition that corresponds to the nearest enclosing scope with a corresponding definition. | ||
| SQualifier | Determines the qualifier for this definition, even if not explicitly specified (from the original source). | ||
| CExpressionBase * | GetIrNode
(
bool bForce |
||
| EKind | GetKind () |
Casts. | |
| const CExpressionBase * | If the definition is native, returns the native specifier expression. | ||
| const CDefinition * | Accessors. | ||
| const CDefinition * | |||
| bool | IsA () |
||
| bool | IsAccessibleFrom
(
const CScope& |
||
| bool | IsBuiltIn () |
Returns whether this is a built-in definition. | |
| bool | IsDeprecated () |
Returns whether this definition has the deprecated attribute. | |
| bool | Returns whether this definition has the experimental attribute. | ||
| bool | IsFinal () |
||
| bool | |||
| bool | IsNative () |
Returns whether this is a native definition. | |
| bool | |||
| const TOptional< SAccessLevel > & | AccessLevel declared on this specific definition. | ||
| void | SetAccessLevel
(
const TOptional< SAccessLevel >& AccessLevel |
||
| void | SetAstNode
(
CExpressionBase* AstNode |
||
| void | SetConstrainedDefinition
(
const CDefinition& ConstrainedDefinition |
||
| void | SetIrNode
(
CExpressionBase* IrNode |
||
| void | SetOverriddenDefinition
(
const CDefinition& OverriddenDefinition |
||
| void | SetOverriddenDefinition
(
const CDefinition* OverriddenDefinition |
||
| void | SetPrototypeDefinition
(
const CDefinition& PrototypeDefinition |
Setters that should be wrapped by a subclass to restrict the parameter type. | |
| bool | TryMarkOverriddenAndConstrainedDefinitionsVisited
(
VisitStampType VisitStamp |
If this definition has the given visit stamp, return false. |
Enums
| Type | Name | Description | |
|---|---|---|---|
| EKind |