OLD | NEW |
1 // Copyright 2006-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2008 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 2027 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2038 } | 2038 } |
2039 return NEW(IfStatement(condition, then_statement, else_statement)); | 2039 return NEW(IfStatement(condition, then_statement, else_statement)); |
2040 } | 2040 } |
2041 | 2041 |
2042 | 2042 |
2043 Statement* Parser::ParseContinueStatement(bool* ok) { | 2043 Statement* Parser::ParseContinueStatement(bool* ok) { |
2044 // ContinueStatement :: | 2044 // ContinueStatement :: |
2045 // 'continue' Identifier? ';' | 2045 // 'continue' Identifier? ';' |
2046 | 2046 |
2047 Expect(Token::CONTINUE, CHECK_OK); | 2047 Expect(Token::CONTINUE, CHECK_OK); |
2048 Handle<String> label(static_cast<String**>(NULL)); | 2048 Handle<String> label = Handle<String>::null(); |
2049 Token::Value tok = peek(); | 2049 Token::Value tok = peek(); |
2050 if (!scanner_.has_line_terminator_before_next() && | 2050 if (!scanner_.has_line_terminator_before_next() && |
2051 tok != Token::SEMICOLON && tok != Token::RBRACE && tok != Token::EOS) { | 2051 tok != Token::SEMICOLON && tok != Token::RBRACE && tok != Token::EOS) { |
2052 label = ParseIdentifier(CHECK_OK); | 2052 label = ParseIdentifier(CHECK_OK); |
2053 } | 2053 } |
2054 IterationStatement* target = NULL; | 2054 IterationStatement* target = NULL; |
2055 if (!is_pre_parsing_) { | 2055 if (!is_pre_parsing_) { |
2056 target = LookupContinueTarget(label, CHECK_OK); | 2056 target = LookupContinueTarget(label, CHECK_OK); |
2057 if (target == NULL) { | 2057 if (target == NULL) { |
2058 // Illegal continue statement. To be consistent with KJS we delay | 2058 // Illegal continue statement. To be consistent with KJS we delay |
(...skipping 2617 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4676 start_position, | 4676 start_position, |
4677 is_expression); | 4677 is_expression); |
4678 return result; | 4678 return result; |
4679 } | 4679 } |
4680 | 4680 |
4681 | 4681 |
4682 #undef NEW | 4682 #undef NEW |
4683 | 4683 |
4684 | 4684 |
4685 } } // namespace v8::internal | 4685 } } // namespace v8::internal |
OLD | NEW |