Skip to content

Expression Nodes

kind discriminant: "Literal"

FieldType
udlSuffixstring

kind discriminant: "Literal"

FieldType
baseNumberBase
categoryNumberCategory
valuestring
suffixstring

kind discriminant: "Literal"

FieldType
encodingStringEncoding
isRawboolean
isMultiLineboolean
valuestring

ConcatenatedStringNode (extends LiteralNode)

Section titled “ConcatenatedStringNode (extends LiteralNode)”

kind discriminant: "Literal"

FieldType
partsLiteralNode[]

kind discriminant: "Literal"

FieldType
encodingStringEncoding
valuestring

kind discriminant: "Literal"

FieldType
valueboolean

kind discriminant: "Literal"

No own serialized fields.


PointerExpressionNode (extends ExpressionNode)

Section titled “PointerExpressionNode (extends ExpressionNode)”

kind discriminant: "PointerExpression"

FieldType
opPointerExprOp
operandNode?

FieldExpressionNode (extends ExpressionNode)

Section titled “FieldExpressionNode (extends ExpressionNode)”

kind discriminant: "FieldExpression"

FieldType
objectNode?
opFieldAccessOp
memberstring

SubscriptExpressionNode (extends ExpressionNode)

Section titled “SubscriptExpressionNode (extends ExpressionNode)”

kind discriminant: "SubscriptExpression"

FieldType
objectNode?
indexNode?

ParenthesizedExpressionNode (extends ExpressionNode)

Section titled “ParenthesizedExpressionNode (extends ExpressionNode)”

kind discriminant: "ParenthesizedExpression"

FieldType
innerNode?

UnaryExpressionNode (extends ExpressionNode)

Section titled “UnaryExpressionNode (extends ExpressionNode)”

kind discriminant: "UnaryExpression"

FieldType
opstring
operandNode?

BinaryExpressionNode (extends ExpressionNode)

Section titled “BinaryExpressionNode (extends ExpressionNode)”

kind discriminant: "BinaryExpression"

FieldType
lhsNode?
opstring
rhsNode?

UpdateExpressionNode (extends ExpressionNode)

Section titled “UpdateExpressionNode (extends ExpressionNode)”

kind discriminant: "UpdateExpression"

FieldType
opstring
isPrefixboolean
operandNode?

NewExpressionNode (extends ExpressionNode)

Section titled “NewExpressionNode (extends ExpressionNode)”

kind discriminant: "NewExpression"

FieldType
typeSignatureTypeSignature
isArrayboolean
arraySizeNode?
placementArgsNode[]
constructorArgsNode[]

DeleteExpressionNode (extends ExpressionNode)

Section titled “DeleteExpressionNode (extends ExpressionNode)”

kind discriminant: "DeleteExpression"

FieldType
isArrayboolean
operandNode?

CastExpressionNode (extends ExpressionNode)

Section titled “CastExpressionNode (extends ExpressionNode)”

kind discriminant: "CastExpression"

FieldType
castKindCastKind
targetTypeTypeSignature
operandNode?

IntrospectionExpressionNode (extends ExpressionNode)

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

SizeofExpressionNode (extends IntrospectionExpressionNode)

Section titled “SizeofExpressionNode (extends IntrospectionExpressionNode)”

kind discriminant: "SizeofExpression"

No own serialized fields.


AlignofExpressionNode (extends IntrospectionExpressionNode)

Section titled “AlignofExpressionNode (extends IntrospectionExpressionNode)”

kind discriminant: "AlignofExpression"

No own serialized fields.


TypeidExpressionNode (extends IntrospectionExpressionNode)

Section titled “TypeidExpressionNode (extends IntrospectionExpressionNode)”

kind discriminant: "TypeidExpression"

No own serialized fields.


DecltypeExpressionNode (extends IntrospectionExpressionNode)

Section titled “DecltypeExpressionNode (extends IntrospectionExpressionNode)”

kind discriminant: "DecltypeExpression"

No own serialized fields.


CallExpressionNode (extends ExpressionNode)

Section titled “CallExpressionNode (extends ExpressionNode)”

kind discriminant: "CallExpression"

FieldType
callKindCallKind
calleeNode?
calleeIdentifierIdentifierNode?
argsFunctionArgument[]

AssignmentExpressionNode (extends ExpressionNode)

Section titled “AssignmentExpressionNode (extends ExpressionNode)”

kind discriminant: "AssignmentExpression"

FieldType
lhsNode?
opstring
rhsNode?

ConditionalExpressionNode (extends ExpressionNode)

Section titled “ConditionalExpressionNode (extends ExpressionNode)”

kind discriminant: "ConditionalExpression"

FieldType
conditionNode?
thenExprNode?
elseExprNode?

LambdaExpressionNode (extends ExpressionNode)

Section titled “LambdaExpressionNode (extends ExpressionNode)”

kind discriminant: "LambdaExpression"

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

InitializerListNode (extends ExpressionNode)

Section titled “InitializerListNode (extends ExpressionNode)”

kind discriminant: "InitializerList"

FieldType
elementsNode[]

FoldExpressionNode (extends ExpressionNode)

Section titled “FoldExpressionNode (extends ExpressionNode)”

kind discriminant: "FoldExpression"

FieldType
opstring
leftOperandNode?
rightOperandNode?

ThrowExpressionNode (extends ExpressionNode)

Section titled “ThrowExpressionNode (extends ExpressionNode)”

kind discriminant: "ThrowExpression"

FieldType
operandNode?

NoexceptExpressionNode (extends ExpressionNode)

Section titled “NoexceptExpressionNode (extends ExpressionNode)”

kind discriminant: "NoexceptExpression"

FieldType
operandNode?

ThisExpressionNode (extends ExpressionNode)

Section titled “ThisExpressionNode (extends ExpressionNode)”

kind discriminant: "ThisExpression"

No own serialized fields.


CoYieldExpressionNode (extends ExpressionNode)

Section titled “CoYieldExpressionNode (extends ExpressionNode)”

kind discriminant: "CoYieldExpression"

FieldType
operandNode?

CoAwaitExpressionNode (extends ExpressionNode)

Section titled “CoAwaitExpressionNode (extends ExpressionNode)”

kind discriminant: "CoAwaitExpression"

FieldType
operandNode?

CommaExpressionNode (extends ExpressionNode)

Section titled “CommaExpressionNode (extends ExpressionNode)”

kind discriminant: "CommaExpression"

FieldType
lhsNode?
rhsNode?

No own serialized fields.


SimpleRequirementNode (extends RequirementNode)

Section titled “SimpleRequirementNode (extends RequirementNode)”

kind discriminant: "SimpleRequirement"

FieldType
expressionNode?

TypeRequirementNode (extends RequirementNode)

Section titled “TypeRequirementNode (extends RequirementNode)”

kind discriminant: "TypeRequirement"

FieldType
typeNameTypeSignature

CompoundRequirementNode (extends RequirementNode)

Section titled “CompoundRequirementNode (extends RequirementNode)”

kind discriminant: "CompoundRequirement"

FieldType
expressionNode?
isNoexceptboolean
returnTypeConstraintTypeSignature

RequiresExpressionNode (extends ExpressionNode)

Section titled “RequiresExpressionNode (extends ExpressionNode)”

kind discriminant: "RequiresExpression"

FieldType
parametersFunctionParameter[]
requirementsRequirementNode[]