| 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_PARSING_PARSER_BASE_H | 5 #ifndef V8_PARSING_PARSER_BASE_H |
| 6 #define V8_PARSING_PARSER_BASE_H | 6 #define V8_PARSING_PARSER_BASE_H |
| 7 | 7 |
| 8 #include "src/ast/ast.h" | 8 #include "src/ast/ast.h" |
| 9 #include "src/ast/scopes.h" | 9 #include "src/ast/scopes.h" |
| 10 #include "src/bailout-reason.h" | 10 #include "src/bailout-reason.h" |
| (...skipping 3097 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3108 if (spread_pos.IsValid()) { | 3108 if (spread_pos.IsValid()) { |
| 3109 args = impl()->PrepareSpreadArguments(args); | 3109 args = impl()->PrepareSpreadArguments(args); |
| 3110 result = impl()->SpreadCall(result, args, pos); | 3110 result = impl()->SpreadCall(result, args, pos); |
| 3111 } else { | 3111 } else { |
| 3112 result = factory()->NewCall(result, args, pos, is_possibly_eval); | 3112 result = factory()->NewCall(result, args, pos, is_possibly_eval); |
| 3113 } | 3113 } |
| 3114 | 3114 |
| 3115 // Explicit calls to the super constructor using super() perform an | 3115 // Explicit calls to the super constructor using super() perform an |
| 3116 // implicit binding assignment to the 'this' variable. | 3116 // implicit binding assignment to the 'this' variable. |
| 3117 if (is_super_call) { | 3117 if (is_super_call) { |
| 3118 result = impl()->RewriteSuperCall(result); |
| 3118 ExpressionT this_expr = impl()->ThisExpression(pos); | 3119 ExpressionT this_expr = impl()->ThisExpression(pos); |
| 3119 result = | 3120 result = |
| 3120 factory()->NewAssignment(Token::INIT, this_expr, result, pos); | 3121 factory()->NewAssignment(Token::INIT, this_expr, result, pos); |
| 3121 } | 3122 } |
| 3122 | 3123 |
| 3123 if (fni_ != NULL) fni_->RemoveLastFunction(); | 3124 if (fni_ != NULL) fni_->RemoveLastFunction(); |
| 3124 break; | 3125 break; |
| 3125 } | 3126 } |
| 3126 | 3127 |
| 3127 case Token::PERIOD: { | 3128 case Token::PERIOD: { |
| (...skipping 1179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4307 has_seen_constructor_ = true; | 4308 has_seen_constructor_ = true; |
| 4308 return; | 4309 return; |
| 4309 } | 4310 } |
| 4310 } | 4311 } |
| 4311 | 4312 |
| 4312 | 4313 |
| 4313 } // namespace internal | 4314 } // namespace internal |
| 4314 } // namespace v8 | 4315 } // namespace v8 |
| 4315 | 4316 |
| 4316 #endif // V8_PARSING_PARSER_BASE_H | 4317 #endif // V8_PARSING_PARSER_BASE_H |
| OLD | NEW |