Lines Matching defs:labels

350   // |labels| is a list of all labels that can be used as a target for break.
351 // |own_labels| is a list of all labels that an iteration statement is
352 // directly prefixed with, i.e. all the labels that a continue statement in
354 // subset of |labels|.
357 // labels() of the Block will be l1.
358 // labels() of the ForStatement will be l2, l3, l4.
365 ZonePtrList<const AstRawString>* labels,
369 labels_(labels),
384 const ZonePtrList<const AstRawString>* labels() const { return labels_; }
409 ContainsLabel(t->labels(),
691 void DeclareLabel(ZonePtrList<const AstRawString>** labels,
694 if (ContainsLabel(*labels, label) || TargetStackContainsLabel(label)) {
699 // Add {label} to both {labels} and {own_labels}.
700 if (*labels == nullptr) {
702 *labels =
712 (*labels)->Add(label, zone());
716 bool ContainsLabel(const ZonePtrList<const AstRawString>* labels,
719 if (labels != nullptr) {
720 for (int i = labels->length(); i-- > 0;) {
721 if (labels->at(i) == label) return true;
729 if (ContainsLabel(t->labels(), label)) return true;
1316 StatementT ParseStatement(ZonePtrList<const AstRawString>* labels,
1318 return ParseStatement(labels, own_labels,
1321 StatementT ParseStatement(ZonePtrList<const AstRawString>* labels,
1324 BlockT ParseBlock(ZonePtrList<const AstRawString>* labels,
1326 BlockT ParseBlock(ZonePtrList<const AstRawString>* labels);
1331 StatementT ParseScopedStatement(ZonePtrList<const AstRawString>* labels);
1342 ZonePtrList<const AstRawString>* labels,
1345 StatementT ParseIfStatement(ZonePtrList<const AstRawString>* labels);
1347 StatementT ParseBreakStatement(ZonePtrList<const AstRawString>* labels);
1349 StatementT ParseWithStatement(ZonePtrList<const AstRawString>* labels);
1350 StatementT ParseDoWhileStatement(ZonePtrList<const AstRawString>* labels,
1352 StatementT ParseWhileStatement(ZonePtrList<const AstRawString>* labels,
1355 StatementT ParseSwitchStatement(ZonePtrList<const AstRawString>* labels);
1357 StatementT ParseForStatement(ZonePtrList<const AstRawString>* labels,
1360 int stmt_pos, ForInfo* for_info, ZonePtrList<const AstRawString>* labels,
1364 ForInfo* for_info, ZonePtrList<const AstRawString>* labels,
1370 int stmt_pos, ZonePtrList<const AstRawString>* labels,
1377 ZonePtrList<const AstRawString>* labels,
1380 ZonePtrList<const AstRawString>* labels,
5218 ZonePtrList<const AstRawString>* labels,
5238 // {own_labels} is always a subset of {labels}.
5239 DCHECK_IMPLIES(labels == nullptr, own_labels == nullptr);
5241 // Note: Since labels can only be used by 'break' and 'continue'
5244 // labels can be simply ignored in all other cases; except for
5249 return ParseBlock(labels);
5254 return ParseIfStatement(labels);
5256 return ParseDoWhileStatement(labels, own_labels);
5258 return ParseWhileStatement(labels, own_labels);
5261 return ParseForAwaitStatement(labels, own_labels);
5263 return ParseForStatement(labels, own_labels);
5267 return ParseBreakStatement(labels);
5273 // It is somewhat complicated to have labels on try-statements.
5277 // put the labels there.
5278 if (labels == nullptr) return ParseTryStatement();
5281 Target target(this, result, labels, nullptr,
5289 return ParseWithStatement(labels);
5291 return ParseSwitchStatement(labels);
5318 return ParseExpressionOrLabelledStatement(labels, own_labels,
5325 ZonePtrList<const AstRawString>* labels, Scope* block_scope) {
5329 // Parse the statements and collect escaping labels.
5330 BlockT body = factory()->NewBlock(false, labels != nullptr);
5338 Target target(this, body, labels, nullptr, Target::TARGET_FOR_NAMED_ONLY);
5364 ZonePtrList<const AstRawString>* labels) {
5365 return ParseBlock(labels, NewScope(BLOCK_SCOPE));
5370 ZonePtrList<const AstRawString>* labels) {
5372 return ParseStatement(labels, nullptr);
5430 ZonePtrList<const AstRawString>* labels,
5471 // Effectively inlines ParseExpression, so potential labels can be extracted
5484 impl()->DeclareLabel(&labels, &own_labels, label->raw_name());
5497 return ParseStatement(labels, own_labels, allow_function);
5518 ZonePtrList<const AstRawString>* labels) {
5532 // Make a copy of {labels} to avoid conflicts with any
5533 // labels that may be applied to the else clause below.
5535 labels == nullptr
5536 ? labels
5537 : zone()->template New<ZonePtrList<const AstRawString>>(*labels,
5544 else_statement = ParseScopedStatement(labels);
5567 // ECMA allows "eval" or "arguments" as labels even in strict mode.
5591 ZonePtrList<const AstRawString>* labels) {
5601 // ECMA allows "eval" or "arguments" as labels even in strict mode.
5607 impl()->ContainsLabel(labels, impl()->GetRawNameFromIdentifier(label))) {
5680 ZonePtrList<const AstRawString>* labels) {
5701 body = ParseStatement(labels, nullptr);
5709 ZonePtrList<const AstRawString>* labels,
5716 Target target(this, loop, labels, own_labels, Target::TARGET_FOR_ANONYMOUS);
5748 ZonePtrList<const AstRawString>* labels,
5755 Target target(this, loop, labels, own_labels, Target::TARGET_FOR_ANONYMOUS);
5797 ZonePtrList<const AstRawString>* labels) {
5816 Target target(this, switch_statement, labels, nullptr,
5992 ZonePtrList<const AstRawString>* labels,
6036 stmt_pos, &for_info, labels, own_labels, inner_block_scope);
6052 stmt_pos, init, &for_info, labels, own_labels);
6068 return ParseForEachStatementWithDeclarations(stmt_pos, &for_info, labels,
6113 stmt_pos, expression, lhs_beg_pos, lhs_end_pos, &for_info, labels,
6127 ParseStandardForLoop(stmt_pos, labels, own_labels, &cond, &next, &body);
6136 int stmt_pos, ForInfo* for_info, ZonePtrList<const AstRawString>* labels,
6160 Target target(this, loop, labels, own_labels, Target::TARGET_FOR_ANONYMOUS);
6220 ForInfo* for_info, ZonePtrList<const AstRawString>* labels,
6223 Target target(this, loop, labels, own_labels, Target::TARGET_FOR_ANONYMOUS);
6251 ZonePtrList<const AstRawString>* labels,
6264 ParseStandardForLoop(stmt_pos, labels, own_labels, &cond, &next, &body);
6308 int stmt_pos, ZonePtrList<const AstRawString>* labels,
6313 Target target(this, loop, labels, own_labels, Target::TARGET_FOR_ANONYMOUS);
6338 ZonePtrList<const AstRawString>* labels,
6362 Target target(this, loop, labels, own_labels, Target::TARGET_FOR_ANONYMOUS);