Navigation
API > API/Runtime > API/Runtime/VerseCompiler
Abstract base class for AST expressions. Created from abstract syntax tree (CExpressionBase and CSemanticProgram) generated by semantic analyzer.
| Name | CExpressionBase |
| Type | class |
| Header File | /Engine/Source/Runtime/VerseCompiler/Public/uLang/Semantics/Expression.h |
| Include Path | #include "uLang/Semantics/Expression.h" |
Syntax
class CExpressionBase :
public uLang::CAstNode ,
public uLang::CAttributable
Inheritance Hierarchy
- CSharedMix → CAstNode → CExpressionBase
- CAttributable → CExpressionBase
Derived Classes
CExpressionBase derived class hierarchy
- CExprArchetypeInstantiation
- CExprAssignment
- CExprBinaryOp
- CExprBreak
- CExprChar
- CExprClassDefinition
- CExprCompoundBase
- CExprDefinition
- CExprEnumDefinition
- CExprError
- CExprExternal
- CExprFunctionLiteral
- CExprIdentifierBase
- CExprIf
- CExprImport
- CExprInterfaceDefinition
- CExprInvocation
- CExprInvokeType
- CExprIteration
- CExprLogic
- CExprMacroCall
- CExprMakeNamed
- CExprMakeRange
- CExprModuleDefinition
- CExprNewPointer
- CExprNumber
- CExprPath
- CExprPathPlusSymbol
- CExprPlaceholder
- CExprReturn
- CExprScopedAccessLevelDefinition
- CExprSnippet
- CExprString
- CExprSubBlockBase
- CExprTupleElement
- CExprType
- CExprTypeFormer
- CExprUnaryOp
- CExprUsing
- CExprWhere
- CIrArrayAdd
- CIrArrayUnsafeCall
- CIrFor
- CIrForBody
- CIrMapAdd
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
CExpressionBase
(
const CTypeBase* InResultType |
uLang/Semantics/Expression.h | ||
CExpressionBase
(
EVstMappingType VstMappingType |
uLang/Semantics/Expression.h |
Structs
| Name | Remarks |
|---|---|
| SAnalysisResult | Analysis Results. |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| TMacroSymbols | TArrayG< CSymbol, TInlineElementAllocator< 3 > > | uLang/Semantics/Expression.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual bool CanBePathSegment
(
const TMacroSymbols& MacroSymbols |
True if this expression can be path of a segment. | uLang/Semantics/Expression.h | |
virtual bool CanFail
(
const CAstPackage* Package |
Returns whether the expression may fail. | uLang/Semantics/Expression.h | |
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). | uLang/Semantics/Expression.h | |
virtual 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. | uLang/Semantics/Expression.h | |
virtual const CTypeBase * GetResultType
(
const CSemanticProgram& Program |
Type methods. | uLang/Semantics/Expression.h | |
const CTypeBase * IrGetResultType() |
uLang/Semantics/Expression.h | ||
void IrSetResultType
(
const CTypeBase* TypeBase |
uLang/Semantics/Expression.h | ||
bool IsAnalyzed() |
uLang/Semantics/Expression.h | ||
void RefineResultType
(
const CTypeBase* RefinedResultType |
uLang/Semantics/Expression.h | ||
void SetResultType
(
const CTypeBase* InResultType |
uLang/Semantics/Expression.h |
Overridden from CAstNode
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual const CExpressionBase * AsExpression () |
uLang/Semantics/Expression.h | ||
virtual CExpressionBase * AsExpression () |
uLang/Semantics/Expression.h | ||
virtual bool MayHaveAttributes() |
uLang/Semantics/Expression.h | ||
virtual void VisitImmediates
(
SAstVisitor& Visitor |
Iterates over this AST node's immediate fields, calling Visitor.VisitImmediate for each immediate field. | uLang/Semantics/Expression.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static bool AreSubExprsEqual
(
const TArray< TSPtr< CExpressionBase > >& Lhs, |
uLang/Semantics/Expression.h | ||
static bool AreSubExprsEqual
(
const TSPtrArray< CExpressionBase >& Lhs, |
uLang/Semantics/Expression.h | ||
static bool BaseCompare
(
const CExpressionBase& A, |
Comparison. | uLang/Semantics/Expression.h | |
static bool IsSubExprEqual
(
const CExpressionBase& Lhs, |
uLang/Semantics/Expression.h | ||
static bool IsSubExprEqual
(
const CExpressionBase* Lhs, |
CExpressionBase Inline Methods. | uLang/Semantics/Expression.h | |
static bool IsSubExprEqual
(
const TSRef< CExpressionBase >& Lhs, |
uLang/Semantics/Expression.h | ||
static bool IsSubExprEqual
(
const TSPtr< CExpressionBase >& Lhs, |
uLang/Semantics/Expression.h |
Operators
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
bool operator!=
(
const CExpressionBase& Other |
uLang/Semantics/Expression.h | ||
bool operator==
(
const CExpressionBase& Other |
uLang/Semantics/Expression.h |