Home | History | Annotate | Download | only in src

Lines Matching full:labels

1193 Statement* Parser::ParseModuleElement(ZoneStringList* labels,
1219 Statement* stmt = ParseStatement(labels, CHECK_OK);
1547 Statement* Parser::ParseBlockElement(ZoneStringList* labels,
1566 return ParseStatement(labels, ok);
1571 Statement* Parser::ParseStatement(ZoneStringList* labels, bool* ok) {
1589 // Note: Since labels can only be used by 'break' and 'continue'
1592 // labels can be simply ignored in all other cases; except for
1601 return ParseBlock(labels, ok);
1614 stmt = ParseIfStatement(labels, ok);
1618 stmt = ParseDoWhileStatement(labels, ok);
1622 stmt = ParseWhileStatement(labels, ok);
1626 stmt = ParseForStatement(labels, ok);
1634 stmt = ParseBreakStatement(labels, ok);
1642 stmt = ParseWithStatement(labels, ok);
1646 stmt = ParseSwitchStatement(labels, ok);
1654 // NOTE: It is somewhat complicated to have labels on
1658 // try-statement in a statement block and put the labels there
1659 Block* result = factory()->NewBlock(labels, 1, false);
1691 stmt = ParseExpressionOrLabelledStatement(labels, ok);
1962 Block* Parser::ParseBlock(ZoneStringList* labels, bool* ok) {
1963 if (top_scope_->is_extended_mode()) return ParseScopedBlock(labels, ok);
1972 Block* result = factory()->NewBlock(labels, 16, false);
1988 Block* Parser::ParseScopedBlock(ZoneStringList* labels, bool* ok) {
1995 Block* body = factory()->NewBlock(labels, 16, false);
1998 // Parse the statements and collect escaping labels.
2362 static bool ContainsLabel(ZoneStringList* labels, Handle<String> label) {
2364 if (labels != NULL)
2365 for (int i = labels->length(); i-- > 0; )
2366 if (labels->at(i).is_identical_to(label))
2373 Statement* Parser::ParseExpressionOrLabelledStatement(ZoneStringList* labels,
2387 // TODO(1240780): We don't check for redeclaration of labels
2389 // labels requires nontrivial changes to the way scopes are
2392 if (ContainsLabel(labels, label) || TargetStackContainsLabel(label)) {
2400 if (labels == NULL) labels = new(zone()) ZoneStringList(4);
2401 labels->Add(label);
2407 return ParseStatement(labels, ok);
2439 IfStatement* Parser::ParseIfStatement(ZoneStringList* labels, bool* ok) {
2447 Statement* then_statement = ParseStatement(labels, CHECK_OK);
2451 else_statement = ParseStatement(labels, CHECK_OK);
2489 Statement* Parser::ParseBreakStatement(ZoneStringList* labels, bool* ok) {
2502 if (!label.is_null() && ContainsLabel(labels, label)) {
2564 Statement* Parser::ParseWithStatement(ZoneStringList* labels, bool* ok) {
2585 stmt = ParseStatement(labels, CHECK_OK);
2625 SwitchStatement* Parser::ParseSwitchStatement(ZoneStringList* labels,
2630 SwitchStatement* statement = factory()->NewSwitchStatement(labels);
2781 DoWhileStatement* Parser::ParseDoWhileStatement(ZoneStringList* labels,
2786 DoWhileStatement* loop = factory()->NewDoWhileStatement(labels);
2813 WhileStatement* Parser::ParseWhileStatement(ZoneStringList* labels, bool* ok) {
2817 WhileStatement* loop = factory()->NewWhileStatement(labels);
2831 Statement* Parser::ParseForStatement(ZoneStringList* labels, bool* ok) {
2853 ForInStatement* loop = factory()->NewForInStatement(labels);
2900 ForInStatement* loop = factory()->NewForInStatement(labels);
2939 ForInStatement* loop = factory()->NewForInStatement(labels);
2962 ForStatement* loop = factory()->NewForStatement(labels);
4919 if (stat != NULL && ContainsLabel(stat->labels(), label))
4932 (!anonymous && ContainsLabel(stat->labels(), label))) {
4949 if (anonymous || ContainsLabel(stat->labels(), label)) {