Home | History | Annotate | Download | only in src

Lines Matching full:labels

934 Statement* Parser::ParseModuleElement(ZoneStringList* labels,
961 Statement* stmt = ParseStatement(labels, CHECK_OK);
1323 Statement* Parser::ParseBlockElement(ZoneStringList* labels,
1343 return ParseStatement(labels, ok);
1348 Statement* Parser::ParseStatement(ZoneStringList* labels, bool* ok) {
1366 // Note: Since labels can only be used by 'break' and 'continue'
1369 // labels can be simply ignored in all other cases; except for
1374 return ParseBlock(labels, ok);
1386 return ParseIfStatement(labels, ok);
1389 return ParseDoWhileStatement(labels, ok);
1392 return ParseWhileStatement(labels, ok);
1395 return ParseForStatement(labels, ok);
1401 return ParseBreakStatement(labels, ok);
1407 return ParseWithStatement(labels, ok);
1410 return ParseSwitchStatement(labels, ok);
1416 // NOTE: It is somewhat complicated to have labels on
1420 // try-statement in a statement block and put the labels there
1422 factory()->NewBlock(labels, 1, false, RelocInfo::kNoPosition);
1454 return ParseExpressionOrLabelledStatement(labels, ok);
1705 Block* Parser::ParseBlock(ZoneStringList* labels, bool* ok) {
1706 if (top_scope_->is_extended_mode()) return ParseScopedBlock(labels, ok);
1716 factory()->NewBlock(labels, 16, false, RelocInfo::kNoPosition);
1730 Block* Parser::ParseScopedBlock(ZoneStringList* labels, bool* ok) {
1738 factory()->NewBlock(labels, 16, false, RelocInfo::kNoPosition);
1741 // Parse the statements and collect escaping labels.
2115 static bool ContainsLabel(ZoneStringList* labels, Handle<String> label) {
2117 if (labels != NULL)
2118 for (int i = labels->length(); i-- > 0; )
2119 if (labels->at(i).is_identical_to(label))
2126 Statement* Parser::ParseExpressionOrLabelledStatement(ZoneStringList* labels,
2141 // TODO(1240780): We don't check for redeclaration of labels
2143 // labels requires nontrivial changes to the way scopes are
2146 if (ContainsLabel(labels, label) || TargetStackContainsLabel(label)) {
2154 if (labels == NULL) {
2155 labels = new(zone()) ZoneStringList(4, zone());
2157 labels->Add(label, zone());
2163 return ParseStatement(labels, ok);
2195 IfStatement* Parser::ParseIfStatement(ZoneStringList* labels, bool* ok) {
2204 Statement* then_statement = ParseStatement(labels, CHECK_OK);
2208 else_statement = ParseStatement(labels, CHECK_OK);
2248 Statement* Parser::ParseBreakStatement(ZoneStringList* labels, bool* ok) {
2262 if (!label.is_null() && ContainsLabel(labels, label)) {
2334 Statement* Parser::ParseWithStatement(ZoneStringList* labels, bool* ok) {
2356 stmt = ParseStatement(labels, CHECK_OK);
2397 SwitchStatement* Parser::ParseSwitchStatement(ZoneStringList* labels,
2403 factory()->NewSwitchStatement(labels, peek_position());
2558 DoWhileStatement* Parser::ParseDoWhileStatement(ZoneStringList* labels,
2564 factory()->NewDoWhileStatement(labels, peek_position());
2586 WhileStatement* Parser::ParseWhileStatement(ZoneStringList* labels, bool* ok) {
2590 WhileStatement* loop = factory()->NewWhileStatement(labels, peek_position());
2687 Statement* Parser::ParseForStatement(ZoneStringList* labels, bool* ok) {
2717 factory()->NewForEachStatement(mode, labels, pos);
2773 factory()->NewForEachStatement(mode, labels, pos);
2821 factory()->NewForEachStatement(mode, labels, pos);
2844 ForStatement* loop = factory()->NewForStatement(labels, pos);
4639 if (stat != NULL && ContainsLabel(stat->labels(), label))
4652 (!anonymous && ContainsLabel(stat->labels(), label))) {
4669 if (anonymous || ContainsLabel(stat->labels(), label)) {