| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef V8_PREPARSER_H | 5 #ifndef V8_PREPARSER_H |
| 6 #define V8_PREPARSER_H | 6 #define V8_PREPARSER_H |
| 7 | 7 |
| 8 #include "src/v8.h" | 8 #include "src/v8.h" |
| 9 | 9 |
| 10 #include "src/bailout-reason.h" | 10 #include "src/bailout-reason.h" |
| (...skipping 1012 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1023 bool AllowsLazyCompilation() const { return false; } | 1023 bool AllowsLazyCompilation() const { return false; } |
| 1024 | 1024 |
| 1025 void set_start_position(int position) {} | 1025 void set_start_position(int position) {} |
| 1026 void set_end_position(int position) {} | 1026 void set_end_position(int position) {} |
| 1027 | 1027 |
| 1028 bool IsDeclared(const PreParserIdentifier& identifier) const { return false; } | 1028 bool IsDeclared(const PreParserIdentifier& identifier) const { return false; } |
| 1029 void DeclareParameter(const PreParserIdentifier& identifier, VariableMode) {} | 1029 void DeclareParameter(const PreParserIdentifier& identifier, VariableMode) {} |
| 1030 void RecordArgumentsUsage() {} | 1030 void RecordArgumentsUsage() {} |
| 1031 void RecordSuperPropertyUsage() {} | 1031 void RecordSuperPropertyUsage() {} |
| 1032 void RecordSuperConstructorCallUsage() {} | 1032 void RecordSuperConstructorCallUsage() {} |
| 1033 void RecordThisUsage() {} | |
| 1034 | 1033 |
| 1035 // Allow scope->Foo() to work. | 1034 // Allow scope->Foo() to work. |
| 1036 PreParserScope* operator->() { return this; } | 1035 PreParserScope* operator->() { return this; } |
| 1037 | 1036 |
| 1038 private: | 1037 private: |
| 1039 ScopeType scope_type_; | 1038 ScopeType scope_type_; |
| 1040 StrictMode strict_mode_; | 1039 StrictMode strict_mode_; |
| 1041 }; | 1040 }; |
| 1042 | 1041 |
| 1043 | 1042 |
| (...skipping 815 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1859 // ClassLiteral | 1858 // ClassLiteral |
| 1860 // '(' Expression ')' | 1859 // '(' Expression ')' |
| 1861 // TemplateLiteral | 1860 // TemplateLiteral |
| 1862 | 1861 |
| 1863 int pos = peek_position(); | 1862 int pos = peek_position(); |
| 1864 ExpressionT result = this->EmptyExpression(); | 1863 ExpressionT result = this->EmptyExpression(); |
| 1865 Token::Value token = peek(); | 1864 Token::Value token = peek(); |
| 1866 switch (token) { | 1865 switch (token) { |
| 1867 case Token::THIS: { | 1866 case Token::THIS: { |
| 1868 Consume(Token::THIS); | 1867 Consume(Token::THIS); |
| 1869 scope_->RecordThisUsage(); | |
| 1870 result = this->ThisExpression(scope_, factory()); | 1868 result = this->ThisExpression(scope_, factory()); |
| 1871 break; | 1869 break; |
| 1872 } | 1870 } |
| 1873 | 1871 |
| 1874 case Token::NULL_LITERAL: | 1872 case Token::NULL_LITERAL: |
| 1875 case Token::TRUE_LITERAL: | 1873 case Token::TRUE_LITERAL: |
| 1876 case Token::FALSE_LITERAL: | 1874 case Token::FALSE_LITERAL: |
| 1877 case Token::NUMBER: | 1875 case Token::NUMBER: |
| 1878 Next(); | 1876 Next(); |
| 1879 result = this->ExpressionFromLiteral(token, pos, scanner(), factory()); | 1877 result = this->ExpressionFromLiteral(token, pos, scanner(), factory()); |
| (...skipping 1188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3068 *ok = false; | 3066 *ok = false; |
| 3069 return; | 3067 return; |
| 3070 } | 3068 } |
| 3071 has_seen_constructor_ = true; | 3069 has_seen_constructor_ = true; |
| 3072 return; | 3070 return; |
| 3073 } | 3071 } |
| 3074 } | 3072 } |
| 3075 } } // v8::internal | 3073 } } // v8::internal |
| 3076 | 3074 |
| 3077 #endif // V8_PREPARSER_H | 3075 #endif // V8_PREPARSER_H |
| OLD | NEW |