Lines Matching refs:ir
79 ir::YieldExpression *ParserImpl::ParseYieldExpression() in ParseYieldExpression()
95 ir::Expression *argument = nullptr; in ParseYieldExpression()
114 auto *yieldNode = AllocNode<ir::YieldExpression>(argument, isDelegate); in ParseYieldExpression()
120 ir::Expression *ParserImpl::ParsePotentialExpressionSequence(ir::Expression *expr, ExpressionParseF… in ParsePotentialExpressionSequence()
130 ir::TSAsExpression *ParserImpl::ParseTsAsExpression(ir::Expression *expr, [[maybe_unused]] Expressi… in ParseTsAsExpression()
135 ir::Expression *typeAnnotation = ParseTsTypeAnnotation(&options); in ParseTsAsExpression()
146 auto *asExpr = AllocNode<ir::TSAsExpression>(expr, typeAnnotation, isConst); in ParseTsAsExpression()
160 ir::Expression *ParserImpl::ParseExpression(ExpressionParseFlags flags) in ParseExpression()
163 ir::YieldExpression *yieldExpr = ParseYieldExpression(); in ParseExpression()
172 ir::Expression *expr = nullptr; in ParseExpression()
184 ir::Expression *unaryExpressionNode = ParseUnaryOrPrefixUpdateExpression(flags); in ParseExpression()
185 ir::Expression *assignmentExpression = ParseAssignmentExpression(unaryExpressionNode, flags); in ParseExpression()
200 ir::Expression *ParserImpl::ParseArrayExpression(ExpressionParseFlags flags) in ParseArrayExpression()
204 ArenaVector<ir::Expression *> elements(Allocator()->Adapter()); in ParseArrayExpression()
213 auto *omitted = AllocNode<ir::OmittedExpression>(); in ParseArrayExpression()
220 ir::Expression *element {}; in ParseArrayExpression()
253 auto nodeType = inPattern ? ir::AstNodeType::ARRAY_PATTERN : ir::AstNodeType::ARRAY_EXPRESSION; in ParseArrayExpression()
254 …auto *arrayExpressionNode = AllocNode<ir::ArrayExpression>(nodeType, std::move(elements), trailing… in ParseArrayExpression()
273 ir::ValidationInfo info = arrayExpressionNode->ValidateExpression(); in ParseArrayExpression()
283 ParserStatus ParserImpl::ValidateArrowParameter(ir::Expression *expr) in ValidateArrowParameter()
286 case ir::AstNodeType::SPREAD_ELEMENT: { in ValidateArrowParameter()
293 case ir::AstNodeType::REST_ELEMENT: { in ValidateArrowParameter()
297 case ir::AstNodeType::IDENTIFIER: { in ValidateArrowParameter()
309 case ir::AstNodeType::OBJECT_EXPRESSION: { in ValidateArrowParameter()
310 ir::ObjectExpression *objectPattern = expr->AsObjectExpression(); in ValidateArrowParameter()
319 case ir::AstNodeType::ARRAY_EXPRESSION: { in ValidateArrowParameter()
320 ir::ArrayExpression *arrayPattern = expr->AsArrayExpression(); in ValidateArrowParameter()
329 case ir::AstNodeType::ASSIGNMENT_EXPRESSION: { in ValidateArrowParameter()
354 ir::ArrowFunctionExpression *ParserImpl::ParseArrowFunctionExpressionBody(ArrowFunctionContext *arr… in ParseArrowFunctionExpressionBody()
357 … ir::TSTypeParameterDeclaration *typeParamDecl, in ParseArrowFunctionExpressionBody()
358 … ir::Expression *returnTypeAnnotation) in ParseArrowFunctionExpressionBody()
366 ir::ScriptFunction *funcNode {}; in ParseArrowFunctionExpressionBody()
368 ir::AstNode *body = nullptr; in ParseArrowFunctionExpressionBody()
375 arrowFunctionContext->AddFlag(ir::ScriptFunctionFlags::EXPRESSION); in ParseArrowFunctionExpressionBody()
379 body = AllocNode<ir::BlockStatement>(functionScope, std::move(statements)); in ParseArrowFunctionExpressionBody()
390 …funcNode = AllocNode<ir::ScriptFunction>(functionScope, std::move(desc->params), typeParamDecl, bo… in ParseArrowFunctionExpressionBody()
397 auto *arrowFuncNode = AllocNode<ir::ArrowFunctionExpression>(funcNode); in ParseArrowFunctionExpressionBody()
403 ArrowFunctionDescriptor ParserImpl::ConvertToArrowParameter(ir::Expression *expr, bool isAsync, in ConvertToArrowParameter()
407 ArenaVector<ir::Expression *> params(Allocator()->Adapter()); in ConvertToArrowParameter()
414 case ir::AstNodeType::REST_ELEMENT: in ConvertToArrowParameter()
415 case ir::AstNodeType::IDENTIFIER: in ConvertToArrowParameter()
416 case ir::AstNodeType::OBJECT_EXPRESSION: in ConvertToArrowParameter()
417 case ir::AstNodeType::ASSIGNMENT_EXPRESSION: in ConvertToArrowParameter()
418 case ir::AstNodeType::ARRAY_EXPRESSION: { in ConvertToArrowParameter()
424 case ir::AstNodeType::SEQUENCE_EXPRESSION: { in ConvertToArrowParameter()
434 case ir::AstNodeType::CALL_EXPRESSION: { in ConvertToArrowParameter()
460 ir::ArrowFunctionExpression *ParserImpl::ParseArrowFunctionExpression(ir::Expression *expr, in ParseArrowFunctionExpression()
461 … ir::TSTypeParameterDeclaration *typeParamDecl, in ParseArrowFunctionExpression()
462 … ir::Expression *returnTypeAnnotation, in ParseArrowFunctionExpression()
483 ir::ArrowFunctionExpression *ParserImpl::ParseTsGenericArrowFunction() in ParseTsGenericArrowFunction()
490 ir::TSTypeParameterDeclaration *typeParamDecl = ParseTsTypeParameterDeclaration(false); in ParseTsGenericArrowFunction()
497 ArenaVector<ir::Expression *> params = ParseFunctionParams(true); in ParseTsGenericArrowFunction()
505 ir::Expression *returnTypeAnnotation = nullptr; in ParseTsGenericArrowFunction()
523 ir::TSTypeAssertion *ParserImpl::ParseTsTypeAssertion(ExpressionParseFlags flags) in ParseTsTypeAssertion()
531 ir::Expression *typeAnnotation = ParseTsTypeAnnotation(&options); in ParseTsTypeAssertion()
538 ir::Expression *expression = ParseUnaryOrPrefixUpdateExpression(flags); in ParseTsTypeAssertion()
539 auto *typeAssertion = AllocNode<ir::TSTypeAssertion>(typeAnnotation, expression); in ParseTsTypeAssertion()
545 ir::Expression *ParserImpl::ParseCoverParenthesizedExpressionAndArrowParameterList() in ParseCoverParenthesizedExpressionAndArrowParameterList()
553 ir::SpreadElement *restElement = ParseSpreadElement(ExpressionParseFlags::MUST_BE_PATTERN); in ParseCoverParenthesizedExpressionAndArrowParameterList()
569 ir::Expression *returnTypeAnnotation = nullptr; in ParseCoverParenthesizedExpressionAndArrowParameterList()
587 ir::Expression *returnTypeAnnotation = nullptr; in ParseCoverParenthesizedExpressionAndArrowParameterList()
606 ir::Expression *expr = in ParseCoverParenthesizedExpressionAndArrowParameterList()
622 ir::Expression *returnTypeAnnotation = nullptr; in ParseCoverParenthesizedExpressionAndArrowParameterList()
649 void ParserImpl::CheckInvalidDestructuring(const ir::AstNode *object) const in CheckInvalidDestructuring()
651 object->Iterate([this](ir::AstNode *childNode) -> void { in CheckInvalidDestructuring()
653 case ir::AstNodeType::ASSIGNMENT_PATTERN: { in CheckInvalidDestructuring()
657 case ir::AstNodeType::REST_ELEMENT: in CheckInvalidDestructuring()
658 case ir::AstNodeType::PROPERTY: in CheckInvalidDestructuring()
659 case ir::AstNodeType::OBJECT_EXPRESSION: { in CheckInvalidDestructuring()
670 void ParserImpl::ValidateParenthesizedExpression(ir::Expression *lhsExpression) in ValidateParenthesizedExpression()
673 case ir::AstNodeType::IDENTIFIER: { in ValidateParenthesizedExpression()
679 case ir::AstNodeType::MEMBER_EXPRESSION: { in ValidateParenthesizedExpression()
682 case ir::AstNodeType::ARRAY_EXPRESSION: { in ValidateParenthesizedExpression()
692 case ir::AstNodeType::OBJECT_EXPRESSION: { in ValidateParenthesizedExpression()
702 case ir::AstNodeType::ASSIGNMENT_EXPRESSION: { in ValidateParenthesizedExpression()
708 case ir::AstNodeType::SPREAD_ELEMENT: { in ValidateParenthesizedExpression()
717 ir::Expression *ParserImpl::ParseAssignmentExpression(ir::Expression *lhsExpression, ExpressionPars… in ParseAssignmentExpression()
733 ir::Expression *consequent = ParseExpression(); in ParseAssignmentExpression()
740 ir::Expression *alternate = ParseExpression(); in ParseAssignmentExpression()
742 …auto *conditionalExpr = AllocNode<ir::ConditionalExpression>(lhsExpression, consequent, alternate); in ParseAssignmentExpression()
784 ir::Expression *binaryExpression = ParseBinaryExpression(lhsExpression); in ParseAssignmentExpression()
792 ir::Expression *assignmentExpression = ParseExpression(CarryPatternFlags(flags)); in ParseAssignmentExpression()
795 AllocNode<ir::AssignmentExpression>(lhsExpression, assignmentExpression, tokenType); in ParseAssignmentExpression()
818 ir::Expression *assignmentExpression = ParseExpression(CarryPatternFlags(flags)); in ParseAssignmentExpression()
821 AllocNode<ir::AssignmentExpression>(lhsExpression, assignmentExpression, tokenType); in ParseAssignmentExpression()
829 ir::Expression *asExpression = ParseTsAsExpression(lhsExpression, flags); in ParseAssignmentExpression()
841 ir::TemplateLiteral *ParserImpl::ParseTemplateLiteral() in ParseTemplateLiteral()
845 ArenaVector<ir::TemplateElement *> quasis(Allocator()->Adapter()); in ParseTemplateLiteral()
846 ArenaVector<ir::Expression *> expressions(Allocator()->Adapter()); in ParseTemplateLiteral()
858 auto *element = AllocNode<ir::TemplateElement>(raw.View(), cooked); in ParseTemplateLiteral()
868 ir::Expression *expression = nullptr; in ParseTemplateLiteral()
884 auto *templateNode = AllocNode<ir::TemplateLiteral>(std::move(quasis), std::move(expressions)); in ParseTemplateLiteral()
892 ir::NewExpression *ParserImpl::ParseNewExpression() in ParseNewExpression()
899 ir::Expression *callee = ParseMemberExpression(true); in ParseNewExpression()
906 ir::TSTypeParameterInstantiation *typeParamInst = nullptr; in ParseNewExpression()
919 ArenaVector<ir::Expression *> arguments(Allocator()->Adapter()); in ParseNewExpression()
922 … auto *newExprNode = AllocNode<ir::NewExpression>(callee, typeParamInst, std::move(arguments)); in ParseNewExpression()
932 ir::Expression *argument = nullptr; in ParseNewExpression()
951 auto *newExprNode = AllocNode<ir::NewExpression>(callee, typeParamInst, std::move(arguments)); in ParseNewExpression()
959 ir::Expression *ParserImpl::ParseLeftHandSideExpression(ExpressionParseFlags flags) in ParseLeftHandSideExpression()
964 ir::MetaProperty *ParserImpl::ParsePotentialNewTarget() in ParsePotentialNewTarget()
981 … auto *metaProperty = AllocNode<ir::MetaProperty>(ir::MetaProperty::MetaPropertyKind::NEW_TARGET); in ParsePotentialNewTarget()
991 ir::Expression *ParserImpl::ParsePrimaryExpression(ExpressionParseFlags flags) in ParsePrimaryExpression()
998 auto *identNode = AllocNode<ir::Identifier>(lexer_->GetToken().Ident()); in ParsePrimaryExpression()
1013 auto *trueNode = AllocNode<ir::BooleanLiteral>(true); in ParsePrimaryExpression()
1020 auto *falseNode = AllocNode<ir::BooleanLiteral>(false); in ParsePrimaryExpression()
1027 auto *nullNode = AllocNode<ir::NullLiteral>(); in ParsePrimaryExpression()
1034 ir::Expression *numberNode = nullptr; in ParsePrimaryExpression()
1037 numberNode = AllocNode<ir::BigIntLiteral>(lexer_->GetToken().BigInt()); in ParsePrimaryExpression()
1039 …numberNode = AllocNode<ir::NumberLiteral>(lexer_->GetToken().Number(), lexer_->GetToken().String()… in ParsePrimaryExpression()
1048 auto *stringNode = AllocNode<ir::StringLiteral>(lexer_->GetToken().String()); in ParsePrimaryExpression()
1070 auto *regexpNode = AllocNode<ir::RegExpLiteral>(regexp.patternStr, regexp.flagsStr); in ParsePrimaryExpression()
1092 ir::ClassDefinition *classDefinition = ParseClassDefinition(false); in ParsePrimaryExpression()
1094 auto *classExpr = AllocNode<ir::ClassExpression>(classDefinition); in ParsePrimaryExpression()
1100 auto *thisExprNode = AllocNode<ir::ThisExpression>(); in ParsePrimaryExpression()
1107 auto *superExprNode = AllocNode<ir::SuperExpression>(); in ParsePrimaryExpression()
1126 ir::MetaProperty *newTarget = ParsePotentialNewTarget(); in ParsePrimaryExpression()
1215 static inline bool ShouldBinaryExpressionBeAmended(ir::BinaryExpression *binaryExpression, in ShouldBinaryExpressionBeAmended()
1224 ir::Expression *ParserImpl::ParseBinaryExpression(ir::Expression *left) in ParseBinaryExpression()
1239 ir::Expression *rightExprNode = ParseExpression(ExpressionParseFlags::DISALLOW_YIELD); in ParseBinaryExpression()
1241 ir::Expression *rightExpr = rightExprNode; in ParseBinaryExpression()
1242 ir::ConditionalExpression *conditionalExpr = nullptr; in ParseBinaryExpression()
1259 ir::BinaryExpression *binaryExpression = rightExpr->AsBinaryExpression(); in ParseBinaryExpression()
1260 ir::BinaryExpression *parentExpression = nullptr; in ParseBinaryExpression()
1270 …auto *leftExprNode = AllocNode<ir::BinaryExpression>(left, binaryExpression->Left(), operatorType); in ParseBinaryExpression()
1276 ir::Expression *rightNode = parentExpression->Left(); in ParseBinaryExpression()
1278 …auto *binaryOrLogicalExpressionNode = AllocNode<ir::BinaryExpression>(left, rightNode, operatorTyp… in ParseBinaryExpression()
1289 rightExpr = AllocNode<ir::BinaryExpression>(left, rightExpr, operatorType); in ParseBinaryExpression()
1302 ir::CallExpression *ParserImpl::ParseCallExpression(ir::Expression *callee, bool isOptionalChain, b… in ParseCallExpression()
1308 ArenaVector<ir::Expression *> arguments(Allocator()->Adapter()); in ParseCallExpression()
1311 ir::Expression *argument = nullptr; in ParseCallExpression()
1328 …auto *callExpr = AllocNode<ir::CallExpression>(callee, std::move(arguments), nullptr, isOptionalCh… in ParseCallExpression()
1345 ir::Expression *ParserImpl::ParseOptionalChain(ir::Expression *leftSideExpr) in ParseOptionalChain()
1348 ir::Expression *returnExpression = nullptr; in ParseOptionalChain()
1376 ir::Expression *ParserImpl::ParseOptionalMemberExpression(ir::Expression *object) in ParseOptionalMemberExpression()
1378 ir::Expression *property = nullptr; in ParseOptionalMemberExpression()
1380 auto kind = ir::MemberExpression::MemberExpressionKind::PROPERTY_ACCESS; in ParseOptionalMemberExpression()
1387 property = AllocNode<ir::Identifier>(lexer_->GetToken().Ident()); in ParseOptionalMemberExpression()
1392 kind = ir::MemberExpression::MemberExpressionKind::ELEMENT_ACCESS; in ParseOptionalMemberExpression()
1403 auto *memberExpr = AllocNode<ir::MemberExpression>(object, property, kind, computed, true); in ParseOptionalMemberExpression()
1408 ir::ArrowFunctionExpression *ParserImpl::ParsePotentialArrowExpression(ir::Expression **returnExpre… in ParsePotentialArrowExpression()
1412 ir::TSTypeParameterDeclaration *typeParamDecl = nullptr; in ParsePotentialArrowExpression()
1423 ir::Expression *identRef = ParsePrimaryExpression(); in ParsePotentialArrowExpression()
1430 …ir::ArrowFunctionExpression *arrowFuncExpr = ParseArrowFunctionExpression(identRef, nullptr, nullp… in ParsePotentialArrowExpression()
1436 ir::ArrowFunctionExpression *arrowFuncExpr = in ParsePotentialArrowExpression()
1470 … ir::CallExpression *callExpression = ParseCallExpression(*returnExpression, false, true); in ParsePotentialArrowExpression()
1472 ir::Expression *returnTypeAnnotation = nullptr; in ParsePotentialArrowExpression()
1480 ir::ArrowFunctionExpression *arrowFuncExpr = in ParsePotentialArrowExpression()
1502 bool ParserImpl::ParsePotentialTsGenericFunctionCall(ir::Expression **returnExpression, in ParsePotentialTsGenericFunctionCall()
1517 ir::TSTypeParameterInstantiation *typeParams; in ParsePotentialTsGenericFunctionCall()
1545 ir::TemplateLiteral *propertyNode = ParseTemplateLiteral(); in ParsePotentialTsGenericFunctionCall()
1548 …*returnExpression = AllocNode<ir::TaggedTemplateExpression>(*returnExpression, propertyNode, typeP… in ParsePotentialTsGenericFunctionCall()
1557 ir::Expression *ParserImpl::ParsePostPrimaryExpression(ir::Expression *primaryExpr, lexer::SourcePo… in ParsePostPrimaryExpression()
1560 ir::Expression *returnExpression = primaryExpr; in ParsePostPrimaryExpression()
1589 auto *identNode = AllocNode<ir::Identifier>(lexer_->GetToken().Ident()); in ParsePostPrimaryExpression()
1592 ir::Expression *property = nullptr; in ParsePostPrimaryExpression()
1594 property = AllocNode<ir::TSPrivateIdentifier>(identNode, nullptr, nullptr); in ParsePostPrimaryExpression()
1601 returnExpression = AllocNode<ir::MemberExpression>( in ParsePostPrimaryExpression()
1602 … returnExpression, property, ir::MemberExpression::MemberExpressionKind::PROPERTY_ACCESS, false, in ParsePostPrimaryExpression()
1614 ir::Expression *propertyNode = ParseExpression(ExpressionParseFlags::ACCEPT_COMMA); in ParsePostPrimaryExpression()
1621 returnExpression = AllocNode<ir::MemberExpression>( in ParsePostPrimaryExpression()
1622 … returnExpression, propertyNode, ir::MemberExpression::MemberExpressionKind::ELEMENT_ACCESS, true, in ParsePostPrimaryExpression()
1639 ir::TemplateLiteral *propertyNode = ParseTemplateLiteral(); in ParsePostPrimaryExpression()
1642 …returnExpression = AllocNode<ir::TaggedTemplateExpression>(returnExpression, propertyNode, nullptr… in ParsePostPrimaryExpression()
1658 returnExpression = AllocNode<ir::TSNonNullExpression>(returnExpression); in ParsePostPrimaryExpression()
1674 void ParserImpl::ValidateUpdateExpression(ir::Expression *returnExpression, bool isChainExpression) in ValidateUpdateExpression()
1704 ir::Expression *ParserImpl::ParseMemberExpression(bool ignoreCallExpression, ExpressionParseFlags f… in ParseMemberExpression()
1708 ir::Expression *returnExpression = ParsePrimaryExpression(flags); in ParseMemberExpression()
1715 … ir::ArrowFunctionExpression *arrow = ParsePotentialArrowExpression(&returnExpression, startLoc, in ParseMemberExpression()
1731 …returnExpression = AllocNode<ir::UpdateExpression>(returnExpression, lexer_->GetToken().Type(), fa… in ParseMemberExpression()
1739 returnExpression = AllocNode<ir::ChainExpression>(returnExpression); in ParseMemberExpression()
1746 void ParserImpl::ParsePotentialTsFunctionParameter(ExpressionParseFlags flags, ir::Expression *retu… in ParsePotentialTsFunctionParameter()
1792 ir::Expression *ParserImpl::ParsePatternElement(ExpressionParseFlags flags, bool allowDefault, bool… in ParsePatternElement()
1794 ir::Expression *returnNode = nullptr; in ParsePatternElement()
1815 returnNode = AllocNode<ir::Identifier>(lexer_->GetToken().Ident()); in ParsePatternElement()
1847 ir::Expression *rightNode = ParseExpression(); in ParsePatternElement()
1849 auto *assignmentExpression = AllocNode<ir::AssignmentExpression>( in ParsePatternElement()
1850 …ir::AstNodeType::ASSIGNMENT_PATTERN, returnNode, rightNode, lexer::TokenType::PUNCTUATOR_SUBSTITUT… in ParsePatternElement()
1917 ir::Property *ParserImpl::ParseShorthandProperty(const lexer::LexerPosition *startPos) in ParseShorthandProperty()
1939 auto *key = AllocNode<ir::Identifier>(ident); in ParseShorthandProperty()
1942 ir::Expression *value = AllocNode<ir::Identifier>(ident); in ParseShorthandProperty()
1956 ir::Expression *rightNode = ParseExpression(); in ParseShorthandProperty()
1958 auto *assignmentExpression = AllocNode<ir::AssignmentExpression>( in ParseShorthandProperty()
1959 … ir::AstNodeType::ASSIGNMENT_PATTERN, value, rightNode, lexer::TokenType::PUNCTUATOR_SUBSTITUTION); in ParseShorthandProperty()
1968 auto *returnProperty = AllocNode<ir::Property>(key, value); in ParseShorthandProperty()
1974 bool ParserImpl::ParsePropertyModifiers(ExpressionParseFlags flags, ir::PropertyKind *propertyKind, in ParsePropertyModifiers()
1997 *propertyKind = ir::PropertyKind::GET; in ParsePropertyModifiers()
2007 *propertyKind = ir::PropertyKind::SET; in ParsePropertyModifiers()
2027 ir::Expression *ParserImpl::ParsePropertyKey(ExpressionParseFlags flags) in ParsePropertyKey()
2029 ir::Expression *key = nullptr; in ParsePropertyKey()
2034 key = AllocNode<ir::Identifier>(ident); in ParsePropertyKey()
2040 key = AllocNode<ir::StringLiteral>(string); in ParsePropertyKey()
2046 key = AllocNode<ir::BigIntLiteral>(lexer_->GetToken().BigInt()); in ParsePropertyKey()
2048 … key = AllocNode<ir::NumberLiteral>(lexer_->GetToken().Number(), lexer_->GetToken().String()); in ParsePropertyKey()
2073 ir::Expression *ParserImpl::ParsePropertyValue(const ir::PropertyKind *propertyKind, const ParserSt… in ParsePropertyValue()
2079 if (!isMethod && !ir::Property::IsAccessorKind(*propertyKind)) { in ParsePropertyValue()
2099 ir::ScriptFunction *methodDefinitonNode = in ParsePropertyValue()
2102 methodDefinitonNode->AddFlag(ir::ScriptFunctionFlags::METHOD); in ParsePropertyValue()
2106 auto *value = AllocNode<ir::FunctionExpression>(methodDefinitonNode); in ParsePropertyValue()
2109 if (*propertyKind == ir::PropertyKind::SET && paramsSize != 1) { in ParsePropertyValue()
2113 if (*propertyKind == ir::PropertyKind::GET && paramsSize != 0) { in ParsePropertyValue()
2120 ir::Expression *ParserImpl::ParsePropertyDefinition(ExpressionParseFlags flags) in ParsePropertyDefinition()
2122 ir::PropertyKind propertyKind = ir::PropertyKind::INIT; in ParsePropertyDefinition()
2142 ir::Expression *key = ParsePropertyKey(flags); in ParsePropertyDefinition()
2147 !ir::Property::IsAccessorKind(propertyKind)) { in ParsePropertyDefinition()
2149 propertyKind = ir::PropertyKind::INIT; in ParsePropertyDefinition()
2154 ir::Expression *value = ParsePropertyValue(&propertyKind, &methodStatus, flags); in ParsePropertyDefinition()
2161 …AllocNode<ir::Property>(propertyKind, key, value, methodStatus != ParserStatus::NO_OPTS, isCompute… in ParsePropertyDefinition()
2184 ir::ObjectExpression *ParserImpl::ParseObjectExpression(ExpressionParseFlags flags) in ParseObjectExpression()
2188 ArenaVector<ir::Expression *> properties(Allocator()->Adapter()); in ParseObjectExpression()
2197 …ir::Expression *property = ParsePropertyDefinition(flags | ExpressionParseFlags::POTENTIALLY_IN_PA… in ParseObjectExpression()
2202 … auto nodeType = inPattern ? ir::AstNodeType::OBJECT_PATTERN : ir::AstNodeType::OBJECT_EXPRESSION; in ParseObjectExpression()
2203 …auto *objectExpression = AllocNode<ir::ObjectExpression>(nodeType, std::move(properties), trailing… in ParseObjectExpression()
2222 ir::ValidationInfo info = objectExpression->ValidateExpression(); in ParseObjectExpression()
2232 ir::SequenceExpression *ParserImpl::ParseSequenceExpression(ir::Expression *startExpr, bool acceptR… in ParseSequenceExpression()
2237 ArenaVector<ir::Expression *> sequence(Allocator()->Adapter()); in ParseSequenceExpression()
2244 ir::SpreadElement *expr = ParseSpreadElement(ExpressionParseFlags::MUST_BE_PATTERN); in ParseSequenceExpression()
2258 auto *sequenceNode = AllocNode<ir::SequenceExpression>(std::move(sequence)); in ParseSequenceExpression()
2264 ir::Expression *ParserImpl::ParseUnaryOrPrefixUpdateExpression(ExpressionParseFlags flags) in ParseUnaryOrPrefixUpdateExpression()
2280 ir::Expression *argument = ParseUnaryOrPrefixUpdateExpression(); in ParseUnaryOrPrefixUpdateExpression()
2292 ir::Expression *returnExpr = nullptr; in ParseUnaryOrPrefixUpdateExpression()
2295 returnExpr = AllocNode<ir::UpdateExpression>(argument, operatorType, true); in ParseUnaryOrPrefixUpdateExpression()
2297 returnExpr = AllocNode<ir::AwaitExpression>(argument); in ParseUnaryOrPrefixUpdateExpression()
2299 returnExpr = AllocNode<ir::UnaryExpression>(argument, operatorType); in ParseUnaryOrPrefixUpdateExpression()
2307 ir::Expression *ParserImpl::ParseImportExpression() in ParseImportExpression()
2326 … auto *metaProperty = AllocNode<ir::MetaProperty>(ir::MetaProperty::MetaPropertyKind::IMPORT_META); in ParseImportExpression()
2343 ir::Expression *source = ParseExpression(); in ParseImportExpression()
2354 auto *importExpression = AllocNode<ir::ImportExpression>(source); in ParseImportExpression()
2361 ir::FunctionExpression *ParserImpl::ParseFunctionExpression(ParserStatus newStatus) in ParseFunctionExpression()
2364 ir::Identifier *ident = nullptr; in ParseFunctionExpression()
2391 ident = AllocNode<ir::Identifier>(lexer_->GetToken().Ident()); in ParseFunctionExpression()
2399 ir::ScriptFunction *functionNode = ParseFunction(newStatus); in ParseFunctionExpression()
2411 auto *funcExpr = AllocNode<ir::FunctionExpression>(functionNode); in ParseFunctionExpression()