Lines Matching defs:initNode
682 ir::AstNode *initNode, ExpressionParseFlags exprFlags, bool isAwait)
689 const ir::VariableDeclarator *varDecl = initNode->AsVariableDeclaration()->Declarators().front();
788 ir::AstNode *initNode =
791 if (initNode->IsConditionalExpression()) {
792 ir::ConditionalExpression *condExpr = initNode->AsConditionalExpression();
823 return {ForStatementKind::UPDATE, initNode, rightNode, updateNode};
913 ir::AstNode *initNode = nullptr;
920 std::tie(leftNode, initNode) = ParseForLoopInitializer();
921 bool canBeForInOf = (leftNode != nullptr) || (initNode != nullptr);
925 if (initNode != nullptr) {
929 } else if (initNode->AsVariableDeclaration()->Declarators().size() > 1 && lexer_->GetToken().IsForInOf()) {
930 ThrowSyntaxError(INVALID_LEFT_HAND_IN_FOR_OF, initNode->AsVariableDeclaration()->Declarators()[1]->Start());
938 // initNode was parsed as LHS
942 std::tie(forKind, initNode, rightNode, updateNode) =
944 } else if (initNode != nullptr) {
945 // initNode was parsed as VariableDeclaration and declaration size = 1
946 std::tie(forKind, rightNode, updateNode) = ParseForInOf(initNode, ExpressionParseFlags::NO_OPTS, isAwait);
961 forStatement = AllocNode<ir::ForUpdateStatement>(initNode, rightNode, updateNode, bodyNode);
963 forStatement = AllocNode<ir::ForInStatement>(initNode, rightNode, bodyNode);
965 forStatement = AllocNode<ir::ForOfStatement>(initNode, rightNode, bodyNode, isAwait);