Navigation
API > API/Runtime > API/Runtime/VerseCompiler
Function scope, signature and body.
All sub-expressions have their code text indexes relative to this containing context.
| Name | CFunction |
| Type | class |
| Header File | /Engine/Source/Runtime/VerseCompiler/Public/uLang/Semantics/SemanticFunction.h |
| Include Path | #include "uLang/Semantics/SemanticFunction.h" |
Syntax
class CFunction :
public uLang::CDefinition ,
public uLang::CLogicalScope ,
public uLang::CCaptureScope
Inheritance Hierarchy
- CAttributable → CDefinition → CFunction
- CNamed → CDefinition → CFunction
- TAstNodeRef → CDefinition → CFunction
- CSharedMix → CDefinition → CFunction
- CCaptureScope → CFunction
- CScope → CLogicalScope → CFunction
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| uLang/Semantics/SemanticFunction.h |
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| StaticDefinitionKind | const CDefinition::EKind | uLang/Semantics/SemanticFunction.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| _bIsAccessorOfSomeClassVar | bool | uLang/Semantics/SemanticFunction.h | ||
| _ExtensionFieldAccessorKind | EExtensionFieldAccessorKind | uLang/Semantics/SemanticFunction.h | ||
| _LowerIdenticalFunctions | TArray< const CFunction * > | Functions whose types have a more precise result than `this_ function for a given parameter type. | uLang/Semantics/SemanticFunction.h | |
| _NegativeType | const CFunctionType * | uLang/Semantics/SemanticFunction.h | ||
| _Signature | SSignature | Signature - parameter interface. | uLang/Semantics/SemanticFunction.h |
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| _bCoercedOverride | bool | `true_ if this function needed a coercion to be generated to match an overridden function. | uLang/Semantics/SemanticFunction.h | |
| _BodyRevision | SemanticRevision | Revision of the body. | uLang/Semantics/SemanticFunction.h | |
| _CoercedOriginalFunction | const CFunction * | Non-null if this function was generated by the IR generator to apply coercions to the argument to and result of some other function. | uLang/Semantics/SemanticFunction.h | |
| _Index | const int32_t | uLang/Semantics/SemanticFunction.h | ||
| _SignatureRevision | SemanticRevision | Revision of the signature. | uLang/Semantics/SemanticFunction.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
bool CanBeCalledFromPredicts() |
uLang/Semantics/SemanticFunction.h | ||
CExprFunctionDefinition * GetAstNode() |
uLang/Semantics/SemanticFunction.h | ||
const CFunction & GetBaseCoercedOverriddenFunction() |
uLang/Semantics/SemanticFunction.h | ||
const CFunction & GetBaseOverriddenDefinition() |
uLang/Semantics/SemanticFunction.h | ||
TSPtr< CExpressionBase > GetBodyAst() |
uLang/Semantics/SemanticFunction.h | ||
TSPtr< CExprClassDefinition > GetBodyClassDefinitionAst() |
uLang/Semantics/SemanticFunction.h | ||
CExprClassDefinition * GetBodyClassDefinitionIr() |
uLang/Semantics/SemanticFunction.h | ||
TSPtr< CExprInterfaceDefinition > GetBodyInterfaceDefinitionAst() |
uLang/Semantics/SemanticFunction.h | ||
CExprInterfaceDefinition * GetBodyInterfaceDefinitionIr() |
uLang/Semantics/SemanticFunction.h | ||
CExpressionBase * GetBodyIr() |
uLang/Semantics/SemanticFunction.h | ||
SemanticRevision GetBodyRevision() |
uLang/Semantics/SemanticFunction.h | ||
CUTF8String GetDecoratedName
(
uint16_t StrFlags |
Returns a decorated name for this function that includes its signature, for use in overloading. | uLang/Semantics/SemanticFunction.h | |
TSPtr< CExpressionBase > GetDefineeAst() |
uLang/Semantics/SemanticFunction.h | ||
CExprFunctionDefinition * GetIrNode
(
bool bForce |
uLang/Semantics/SemanticFunction.h | ||
TOptional< const CClass * > GetMaybeClassScope () |
This is a holdover from old semantics, where functions were assumed to be a member of a class. | uLang/Semantics/SemanticFunction.h | |
TOptional< const CNominalType * > GetMaybeContextType() |
uLang/Semantics/SemanticFunction.h | ||
| uLang/Semantics/SemanticFunction.h | |||
const CFunction * GetOverriddenDefinition() |
uLang/Semantics/SemanticFunction.h | ||
const CFunction * GetPredictsCoercedOriginalFunction() |
uLang/Semantics/SemanticFunction.h | ||
const CFunction * GetPrototypeDefinition() |
uLang/Semantics/SemanticFunction.h | ||
CUTF8String GetQualifier() |
Returns the qualifier in canonical form | uLang/Semantics/SemanticFunction.h | |
TSPtr< CExpressionBase > GetReturnTypeAst() |
uLang/Semantics/SemanticFunction.h | ||
CExpressionBase * GetReturnTypeIr() |
uLang/Semantics/SemanticFunction.h | ||
SemanticRevision GetRevision() |
uLang/Semantics/SemanticFunction.h | ||
SemanticRevision GetSignatureRevision() |
uLang/Semantics/SemanticFunction.h | ||
bool HasImplementation() |
uLang/Semantics/SemanticFunction.h | ||
int32_t Index() |
uLang/Semantics/SemanticFunction.h | ||
bool IsCoercedOverride() |
uLang/Semantics/SemanticFunction.h | ||
bool IsCoercion() |
uLang/Semantics/SemanticFunction.h | ||
bool IsConstructor() |
uLang/Semantics/SemanticFunction.h | ||
bool IsNative() |
uLang/Semantics/SemanticFunction.h | ||
void MapSignature
(
const CFunctionType& FuncType, |
uLang/Semantics/SemanticFunction.h | ||
void MarkCoercedOverride() |
uLang/Semantics/SemanticFunction.h | ||
void MarkCoercion
(
const CFunction& CoercedFrom |
uLang/Semantics/SemanticFunction.h | ||
void SetAstNode
(
CExprFunctionDefinition* AstNode |
uLang/Semantics/SemanticFunction.h | ||
void SetIrNode
(
CExprFunctionDefinition* AstNode |
uLang/Semantics/SemanticFunction.h | ||
void SetOverriddenDefinition
(
const CFunction& OverriddenDefinition |
uLang/Semantics/SemanticFunction.h | ||
void SetOverriddenDefinition
(
const CFunction* OverriddenDefinition |
uLang/Semantics/SemanticFunction.h | ||
void SetPrototypeDefinition
(
const CFunction& PrototypeDefinition |
uLang/Semantics/SemanticFunction.h | ||
void SetSignature
(
SSignature&& Signature, |
uLang/Semantics/SemanticFunction.h |
Overridden from CDefinition
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual const CLogicalScope * DefinitionAsLogicalScopeNullable() |
If this definition has a corresponding scope, yield it. | uLang/Semantics/SemanticFunction.h | |
virtual bool IsPersistenceCompatConstraint() |
uLang/Semantics/SemanticFunction.h |
Overridden from CScope
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual CSymbol GetScopeName() |
uLang/Semantics/SemanticFunction.h | ||
virtual const CDefinition * ScopeAsDefinition() |
uLang/Semantics/SemanticFunction.h |
Overridden from CCaptureScope
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual CCaptureScope * GetParentCaptureScope() |
uLang/Semantics/SemanticFunction.h |