Navigation
API > API/Runtime > API/Runtime/VerseCompiler > API/Runtime/VerseCompiler/uLang > API/Runtime/VerseCompiler/uLang/Semantics
Inheritance Hierarchy
- CAstNode
- CAttributable
- CExpressionBase
- CExprArchetypeInstantiation
- CExprAssignment
- CExprBinaryOp
- CExprShortCircuitAnd
- CExprShortCircuitOr
- CExprBreak
- CExprChar
- CExprClassDefinition
- CExprCompoundBase
- CExprCodeBlock
- CExprConcurrentBlockBase
- CExprRace
- CExprRush
- CExprSync
- CExprLet
- CExprMakeArray
- CExprMakeMap
- CExprMakeTuple
- CExprDefinition
- CExprDataDefinition
- CExprFunctionDefinition
- CExprIterationPairDefinition
- CExprTypeAliasDefinition
- CExprEnumDefinition
- CExprError
- CExprExternal
- CExprFunctionLiteral
- CExprIdentifierBase
- CExprEnumerationType
- CExprEnumLiteral
- CExprIdentifierBuiltInMacro
- CExprIdentifierClass
- CExprIdentifierData
- CExprIdentifierFunction
- CExprIdentifierModule
- CExprIdentifierModuleAlias
- CExprIdentifierOverloadedFunction
- CExprIdentifierTypeAlias
- CExprIdentifierTypeVariable
- CExprIdentifierUnresolved
- CExprInterfaceType
- CExprLocal
- CExprSelf
- CExprIf
- CExprImport
- CExprInterfaceDefinition
- CExprInvocation
- CExprBinaryArithmetic
- CExprComparison
- CExprQueryValue
- CExprUnaryArithmetic
- CExprInvokeType
- CExprIteration
- CExprConcurrentIteratedBase
- CExprRaceIterated
- CExprRushIterated
- CExprSyncIterated
- CExprLogic
- CExprMacroCall
- CExprMakeNamed
- CExprMakeRange
- CExprModuleDefinition
- CExprNewPointer
- CExprNumber
- CExprPath
- CExprPathPlusSymbol
- CExprPlaceholder
- CExprReturn
- CExprScopedAccessLevelDefinition
- CExprSnippet
- CExprString
- CExprSubBlockBase
- CExprBranch
- CExprDefer
- CExprLoop
- CExprProfileBlock
- CExprSpawn
- CExprTupleElement
- CExprType
- CExprTypeFormer
- CExprArrow
- CExprMapTypeFormer
- CExprTupleType
- CExprUnaryTypeFormer
- CExprArrayTypeFormer
- CExprGeneratorTypeFormer
- CExprOptionTypeFormer
- CExprSubtype
- CExprUnaryOp
- CExprLogicalNot
- CExprMakeOption
- CExprPointerToReference
- CExprReferenceToValue
- CExprSet
- CExprVar
- CIrConvertFromDynamic
- CIrConvertToDynamic
- CExprUsing
- CExprWhere
- CIrArrayAdd
- CIrArrayUnsafeCall
- CIrFor
- CIrForBody
- CIrMapAdd
References
| Module | VerseCompiler |
| Header | /Engine/Source/Runtime/VerseCompiler/Public/uLang/Semantics/Expression.h |
| Include | #include "uLang/Semantics/Expression.h" |
Syntax
class CExpressionBase :
public uLang::CAstNode ,
public uLang::CAttributable
Remarks
Abstract base class for AST expressions. Created from abstract syntax tree (CExpressionBase and CSemanticProgram) generated by semantic analyzer.
Variables
| Type | Name | Description | |
|---|---|---|---|
| TOptional< SAnalysisResult > | _Report |
Constructors
| Type | Name | Description | |
|---|---|---|---|
CExpressionBase
(
EVstMappingType VstMappingType |
|||
CExpressionBase
(
const CTypeBase* InResultType |
Functions
| Type | Name | Description | |
|---|---|---|---|
| bool | AreSubExprsEqual
(
const TSPtrArray< CExpressionBase >& Lhs, |
||
| bool | AreSubExprsEqual
(
const TArray< TSPtr< CExpressionBase > >& Lhs, |
||
| bool | BaseCompare
(
const CExpressionBase& A, |
Comparison. | |
| bool | CanFail () |
Returns whether the expression may fail. | |
| EInvokeTime | DetermineInvokeTime
(
const CSemanticProgram& Program |
Determines if expression is immediate (completes within the current update/frame) or async (completes within the current update/frame or later). | |
| const CExpressionBase * | FindFirstAsyncSubExpr
(
const CSemanticProgram& Program |
Returns itself or the first async sub-expression or return nullptr if it and all its sub-expressions are immediate. | |
| const CTypeBase * | GetResultType
(
const CSemanticProgram& Program |
Type methods. | |
| const CTypeBase * | |||
| void | IrSetResultType
(
const CTypeBase* TypeBase |
||
| bool | IsAnalyzed () |
||
| bool | IsSubExprEqual
(
const CExpressionBase& Lhs, |
||
| bool | IsSubExprEqual
(
const CExpressionBase* Lhs, |
CExpressionBase Inline Methods. | |
| bool | IsSubExprEqual
(
const TSRef< CExpressionBase >& Lhs, |
||
| bool | IsSubExprEqual
(
const TSPtr< CExpressionBase >& Lhs, |
||
| void | RefineResultType
(
const CTypeBase* RefinedResultType |
||
| void | SetResultType
(
const CTypeBase* InResultType |
Overridden from CAstNode
| Type | Name | Description | |
|---|---|---|---|
| CExpressionBase * | AsExpression () |
||
| const CExpressionBase * | AsExpression () |
||
| bool | |||
| void | VisitImmediates
(
SAstVisitor& Visitor |
Iterates over this AST node's immediate fields, calling Visitor.VisitImmediate for each immediate field. |
Operators
| Type | Name | Description | |
|---|---|---|---|
| bool | operator!=
(
const CExpressionBase& Other |
||
| bool | operator==
(
const CExpressionBase& Other |
Classes
| Type | Name | Description | |
|---|---|---|---|
| SAnalysisResult | Analysis Results. |