Skip to content

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"

FieldType
lhsNode?
opstring
rhsNode?

BinaryExpressionNode (extends ExpressionNode)

Section titled “BinaryExpressionNode (extends ExpressionNode)”

kind discriminant: "BinaryExpression"

FieldType
lhsNode?
opstring
rhsNode?

kind discriminant: "Literal"

FieldType
valueboolean
_litSubtypenumber (always 5)

CallExpressionNode (extends ExpressionNode)

Section titled “CallExpressionNode (extends ExpressionNode)”

kind discriminant: "CallExpression"

FieldType
callKindstring
calleeNode?
calleeIdentifierIdentifierNode?
argsFunctionArgument[]

CastExpressionNode (extends ExpressionNode)

Section titled “CastExpressionNode (extends ExpressionNode)”

kind discriminant: "CastExpression"

FieldType
castKindstring
targetTypeTypeSignature
operandNode?

kind discriminant: "Literal"

FieldType
encodingstring
valuestring
_litSubtypenumber (always 4)

CoAwaitExpressionNode (extends ExpressionNode)

Section titled “CoAwaitExpressionNode (extends ExpressionNode)”

kind discriminant: "CoAwaitExpression"

FieldType
operandNode?

CoYieldExpressionNode (extends ExpressionNode)

Section titled “CoYieldExpressionNode (extends ExpressionNode)”

kind discriminant: "CoYieldExpression"

FieldType
operandNode?

CommaExpressionNode (extends ExpressionNode)

Section titled “CommaExpressionNode (extends ExpressionNode)”

kind discriminant: "CommaExpression"

FieldType
lhsNode?
rhsNode?

CompoundRequirementNode (extends RequirementNode)

Section titled “CompoundRequirementNode (extends RequirementNode)”

kind discriminant: "CompoundRequirement"

FieldType
expressionNode?
isNoexceptboolean
returnTypeConstraintTypeSignature

ConcatenatedStringNode (extends LiteralNode)

Section titled “ConcatenatedStringNode (extends LiteralNode)”

kind discriminant: "Literal"

FieldType
partsLiteralNode[]
_litSubtypenumber (always 3)

ConditionalExpressionNode (extends ExpressionNode)

Section titled “ConditionalExpressionNode (extends ExpressionNode)”

kind discriminant: "ConditionalExpression"

FieldType
conditionNode?
thenExprNode?
elseExprNode?

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"

FieldType
isArrayboolean
operandNode?

DesignatedInitializerNode (extends ExpressionNode)

Section titled “DesignatedInitializerNode (extends ExpressionNode)”

kind discriminant: "DesignatedInitializer"

FieldType
designatorIdentifierNode?
valueNode?

FieldExpressionNode (extends ExpressionNode)

Section titled “FieldExpressionNode (extends ExpressionNode)”

kind discriminant: "FieldExpression"

FieldType
objectNode?
opstring
memberIdentifierNode?

FoldExpressionNode (extends ExpressionNode)

Section titled “FoldExpressionNode (extends ExpressionNode)”

kind discriminant: "FoldExpression"

FieldType
opstring
leftOperandNode?
rightOperandNode?

InitializerListNode (extends ExpressionNode)

Section titled “InitializerListNode (extends ExpressionNode)”

kind discriminant: "InitializerList"

FieldType
elementsNode[]

IntrospectionExpressionNode (extends ExpressionNode)

Section titled “IntrospectionExpressionNode (extends ExpressionNode)”
FieldType
isTypeFormboolean
typeOperandTypeSignature
exprOperandNode?

LambdaExpressionNode (extends ExpressionNode)

Section titled “LambdaExpressionNode (extends ExpressionNode)”

kind discriminant: "LambdaExpression"

FieldType
captureDefaultstring
capturesLambdaCaptureItem[]
templateParametersTemplateParameter[]
parametersFunctionParameter[]
trailingReturnTypeSignature
isMutableboolean
isNoexceptboolean
noexceptConditionNode?
bodyBlockNode?

kind discriminant: "Literal"

FieldType
udlSuffixstring

NewExpressionNode (extends ExpressionNode)

Section titled “NewExpressionNode (extends ExpressionNode)”

kind discriminant: "NewExpression"

FieldType
typeSignatureTypeSignature
isArrayboolean
arraySizeNode?
placementArgsNode[]
constructorArgsNode[]

NoexceptExpressionNode (extends ExpressionNode)

Section titled “NoexceptExpressionNode (extends ExpressionNode)”

kind discriminant: "NoexceptExpression"

FieldType
operandNode?

kind discriminant: "Literal"

FieldType
_litSubtypenumber (always 6)

kind discriminant: "Literal"

FieldType
basestring
categorystring
valuestring
suffixstring
_litSubtypenumber (always 1)

ParenthesizedExpressionNode (extends ExpressionNode)

Section titled “ParenthesizedExpressionNode (extends ExpressionNode)”

kind discriminant: "ParenthesizedExpression"

FieldType
innerNode?

PointerExpressionNode (extends ExpressionNode)

Section titled “PointerExpressionNode (extends ExpressionNode)”

kind discriminant: "PointerExpression"

FieldType
opstring
operandNode?

No own serialized fields.


RequiresExpressionNode (extends ExpressionNode)

Section titled “RequiresExpressionNode (extends ExpressionNode)”

kind discriminant: "RequiresExpression"

FieldType
parametersFunctionParameter[]
requirementsRequirementNode[]

SimpleRequirementNode (extends RequirementNode)

Section titled “SimpleRequirementNode (extends RequirementNode)”

kind discriminant: "SimpleRequirement"

FieldType
expressionNode?

SizeofExpressionNode (extends IntrospectionExpressionNode)

Section titled “SizeofExpressionNode (extends IntrospectionExpressionNode)”

kind discriminant: "SizeofExpression"

No own serialized fields.


kind discriminant: "Literal"

FieldType
encodingstring
isRawboolean
isMultiLineboolean
valuestring
_litSubtypenumber (always 2)

SubscriptExpressionNode (extends ExpressionNode)

Section titled “SubscriptExpressionNode (extends ExpressionNode)”

kind discriminant: "SubscriptExpression"

FieldType
objectNode?
indexNode?

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"

FieldType
operandNode?

TypeRequirementNode (extends RequirementNode)

Section titled “TypeRequirementNode (extends RequirementNode)”

kind discriminant: "TypeRequirement"

FieldType
typeNameTypeSignature

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"

FieldType
opstring
operandNode?

UpdateExpressionNode (extends ExpressionNode)

Section titled “UpdateExpressionNode (extends ExpressionNode)”

kind discriminant: "UpdateExpression"

FieldType
opstring
isPrefixboolean
operandNode?