Expression Nodes
AlignofExpressionNode (extends IntrospectionExpressionNode)
Section titled “AlignofExpressionNode (extends IntrospectionExpressionNode)”kind discriminant: "AlignofExpression"
No own serialized fields.
AssignmentExpressionNode (extends ExpressionNode)
Section titled “AssignmentExpressionNode (extends ExpressionNode)”kind discriminant: "AssignmentExpression"
| Field | Type |
|---|---|
lhs | Node? |
op | string |
rhs | Node? |
BinaryExpressionNode (extends ExpressionNode)
Section titled “BinaryExpressionNode (extends ExpressionNode)”kind discriminant: "BinaryExpression"
| Field | Type |
|---|---|
lhs | Node? |
op | string |
rhs | Node? |
BoolLiteralNode (extends LiteralNode)
Section titled “BoolLiteralNode (extends LiteralNode)”kind discriminant: "Literal"
| Field | Type |
|---|---|
value | boolean |
_litSubtype | number (always 5) |
CallExpressionNode (extends ExpressionNode)
Section titled “CallExpressionNode (extends ExpressionNode)”kind discriminant: "CallExpression"
| Field | Type |
|---|---|
callKind | string |
callee | Node? |
calleeIdentifier | IdentifierNode? |
args | FunctionArgument[] |
CastExpressionNode (extends ExpressionNode)
Section titled “CastExpressionNode (extends ExpressionNode)”kind discriminant: "CastExpression"
| Field | Type |
|---|---|
castKind | string |
targetType | TypeSignature |
operand | Node? |
CharLiteralNode (extends LiteralNode)
Section titled “CharLiteralNode (extends LiteralNode)”kind discriminant: "Literal"
| Field | Type |
|---|---|
encoding | string |
value | string |
_litSubtype | number (always 4) |
CoAwaitExpressionNode (extends ExpressionNode)
Section titled “CoAwaitExpressionNode (extends ExpressionNode)”kind discriminant: "CoAwaitExpression"
| Field | Type |
|---|---|
operand | Node? |
CoYieldExpressionNode (extends ExpressionNode)
Section titled “CoYieldExpressionNode (extends ExpressionNode)”kind discriminant: "CoYieldExpression"
| Field | Type |
|---|---|
operand | Node? |
CommaExpressionNode (extends ExpressionNode)
Section titled “CommaExpressionNode (extends ExpressionNode)”kind discriminant: "CommaExpression"
| Field | Type |
|---|---|
lhs | Node? |
rhs | Node? |
CompoundRequirementNode (extends RequirementNode)
Section titled “CompoundRequirementNode (extends RequirementNode)”kind discriminant: "CompoundRequirement"
| Field | Type |
|---|---|
expression | Node? |
isNoexcept | boolean |
returnTypeConstraint | TypeSignature |
ConcatenatedStringNode (extends LiteralNode)
Section titled “ConcatenatedStringNode (extends LiteralNode)”kind discriminant: "Literal"
| Field | Type |
|---|---|
parts | LiteralNode[] |
_litSubtype | number (always 3) |
ConditionalExpressionNode (extends ExpressionNode)
Section titled “ConditionalExpressionNode (extends ExpressionNode)”kind discriminant: "ConditionalExpression"
| Field | Type |
|---|---|
condition | Node? |
thenExpr | Node? |
elseExpr | Node? |
DecltypeExpressionNode (extends IntrospectionExpressionNode)
Section titled “DecltypeExpressionNode (extends IntrospectionExpressionNode)”kind discriminant: "DecltypeExpression"
No own serialized fields.
DeleteExpressionNode (extends ExpressionNode)
Section titled “DeleteExpressionNode (extends ExpressionNode)”kind discriminant: "DeleteExpression"
| Field | Type |
|---|---|
isArray | boolean |
operand | Node? |
DesignatedInitializerNode (extends ExpressionNode)
Section titled “DesignatedInitializerNode (extends ExpressionNode)”kind discriminant: "DesignatedInitializer"
| Field | Type |
|---|---|
designator | IdentifierNode? |
value | Node? |
FieldExpressionNode (extends ExpressionNode)
Section titled “FieldExpressionNode (extends ExpressionNode)”kind discriminant: "FieldExpression"
| Field | Type |
|---|---|
object | Node? |
op | string |
member | IdentifierNode? |
FoldExpressionNode (extends ExpressionNode)
Section titled “FoldExpressionNode (extends ExpressionNode)”kind discriminant: "FoldExpression"
| Field | Type |
|---|---|
op | string |
leftOperand | Node? |
rightOperand | Node? |
InitializerListNode (extends ExpressionNode)
Section titled “InitializerListNode (extends ExpressionNode)”kind discriminant: "InitializerList"
| Field | Type |
|---|---|
elements | Node[] |
IntrospectionExpressionNode (extends ExpressionNode)
Section titled “IntrospectionExpressionNode (extends ExpressionNode)”| Field | Type |
|---|---|
isTypeForm | boolean |
typeOperand | TypeSignature |
exprOperand | Node? |
LambdaExpressionNode (extends ExpressionNode)
Section titled “LambdaExpressionNode (extends ExpressionNode)”kind discriminant: "LambdaExpression"
| Field | Type |
|---|---|
captureDefault | string |
captures | LambdaCaptureItem[] |
templateParameters | TemplateParameter[] |
parameters | FunctionParameter[] |
trailingReturn | TypeSignature |
isMutable | boolean |
isNoexcept | boolean |
noexceptCondition | Node? |
body | BlockNode? |
LiteralNode (extends ExpressionNode)
Section titled “LiteralNode (extends ExpressionNode)”kind discriminant: "Literal"
| Field | Type |
|---|---|
udlSuffix | string |
NewExpressionNode (extends ExpressionNode)
Section titled “NewExpressionNode (extends ExpressionNode)”kind discriminant: "NewExpression"
| Field | Type |
|---|---|
typeSignature | TypeSignature |
isArray | boolean |
arraySize | Node? |
placementArgs | Node[] |
constructorArgs | Node[] |
NoexceptExpressionNode (extends ExpressionNode)
Section titled “NoexceptExpressionNode (extends ExpressionNode)”kind discriminant: "NoexceptExpression"
| Field | Type |
|---|---|
operand | Node? |
NullptrLiteralNode (extends LiteralNode)
Section titled “NullptrLiteralNode (extends LiteralNode)”kind discriminant: "Literal"
| Field | Type |
|---|---|
_litSubtype | number (always 6) |
NumberLiteralNode (extends LiteralNode)
Section titled “NumberLiteralNode (extends LiteralNode)”kind discriminant: "Literal"
| Field | Type |
|---|---|
base | string |
category | string |
value | string |
suffix | string |
_litSubtype | number (always 1) |
ParenthesizedExpressionNode (extends ExpressionNode)
Section titled “ParenthesizedExpressionNode (extends ExpressionNode)”kind discriminant: "ParenthesizedExpression"
| Field | Type |
|---|---|
inner | Node? |
PointerExpressionNode (extends ExpressionNode)
Section titled “PointerExpressionNode (extends ExpressionNode)”kind discriminant: "PointerExpression"
| Field | Type |
|---|---|
op | string |
operand | Node? |
RequirementNode (extends Node)
Section titled “RequirementNode (extends Node)”No own serialized fields.
RequiresExpressionNode (extends ExpressionNode)
Section titled “RequiresExpressionNode (extends ExpressionNode)”kind discriminant: "RequiresExpression"
| Field | Type |
|---|---|
parameters | FunctionParameter[] |
requirements | RequirementNode[] |
SimpleRequirementNode (extends RequirementNode)
Section titled “SimpleRequirementNode (extends RequirementNode)”kind discriminant: "SimpleRequirement"
| Field | Type |
|---|---|
expression | Node? |
SizeofExpressionNode (extends IntrospectionExpressionNode)
Section titled “SizeofExpressionNode (extends IntrospectionExpressionNode)”kind discriminant: "SizeofExpression"
No own serialized fields.
StringLiteralNode (extends LiteralNode)
Section titled “StringLiteralNode (extends LiteralNode)”kind discriminant: "Literal"
| Field | Type |
|---|---|
encoding | string |
isRaw | boolean |
isMultiLine | boolean |
value | string |
_litSubtype | number (always 2) |
SubscriptExpressionNode (extends ExpressionNode)
Section titled “SubscriptExpressionNode (extends ExpressionNode)”kind discriminant: "SubscriptExpression"
| Field | Type |
|---|---|
object | Node? |
index | Node? |
ThisExpressionNode (extends ExpressionNode)
Section titled “ThisExpressionNode (extends ExpressionNode)”kind discriminant: "ThisExpression"
No own serialized fields.
ThrowExpressionNode (extends ExpressionNode)
Section titled “ThrowExpressionNode (extends ExpressionNode)”kind discriminant: "ThrowExpression"
| Field | Type |
|---|---|
operand | Node? |
TypeRequirementNode (extends RequirementNode)
Section titled “TypeRequirementNode (extends RequirementNode)”kind discriminant: "TypeRequirement"
| Field | Type |
|---|---|
typeName | TypeSignature |
TypeidExpressionNode (extends IntrospectionExpressionNode)
Section titled “TypeidExpressionNode (extends IntrospectionExpressionNode)”kind discriminant: "TypeidExpression"
No own serialized fields.
UnaryExpressionNode (extends ExpressionNode)
Section titled “UnaryExpressionNode (extends ExpressionNode)”kind discriminant: "UnaryExpression"
| Field | Type |
|---|---|
op | string |
operand | Node? |
UpdateExpressionNode (extends ExpressionNode)
Section titled “UpdateExpressionNode (extends ExpressionNode)”kind discriminant: "UpdateExpression"
| Field | Type |
|---|---|
op | string |
isPrefix | boolean |
operand | Node? |