OLD | NEW |
---|---|
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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 #include "src/typing.h" | 5 #include "src/typing.h" |
6 | 6 |
7 #include "src/frames.h" | 7 #include "src/frames.h" |
8 #include "src/frames-inl.h" | 8 #include "src/frames-inl.h" |
9 #include "src/ostreams.h" | 9 #include "src/ostreams.h" |
10 #include "src/parser.h" // for CompileTimeValue; TODO(rossberg): should move | 10 #include "src/parser.h" // for CompileTimeValue; TODO(rossberg): should move |
(...skipping 330 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
341 void AstTyper::VisitFunctionLiteral(FunctionLiteral* expr) {} | 341 void AstTyper::VisitFunctionLiteral(FunctionLiteral* expr) {} |
342 | 342 |
343 | 343 |
344 void AstTyper::VisitClassLiteral(ClassLiteral* expr) {} | 344 void AstTyper::VisitClassLiteral(ClassLiteral* expr) {} |
345 | 345 |
346 | 346 |
347 void AstTyper::VisitNativeFunctionLiteral(NativeFunctionLiteral* expr) { | 347 void AstTyper::VisitNativeFunctionLiteral(NativeFunctionLiteral* expr) { |
348 } | 348 } |
349 | 349 |
350 | 350 |
351 void AstTyper::VisitDoExpression(DoExpression* expr) { | |
352 RECURSE(VisitBlock(expr->block())); | |
353 RECURSE(VisitVariableProxy(expr->result())); | |
rossberg
2015/10/13 10:44:33
This function should set the type of the do-node t
caitp (gmail)
2015/10/13 15:06:00
Done, I think.. It's not clear that the Proxy's bo
rossberg
2015/10/15 09:58:27
True, but that is generally true when you try to t
| |
354 } | |
355 | |
356 | |
351 void AstTyper::VisitConditional(Conditional* expr) { | 357 void AstTyper::VisitConditional(Conditional* expr) { |
352 // Collect type feedback. | 358 // Collect type feedback. |
353 expr->condition()->RecordToBooleanTypeFeedback(oracle()); | 359 expr->condition()->RecordToBooleanTypeFeedback(oracle()); |
354 | 360 |
355 RECURSE(Visit(expr->condition())); | 361 RECURSE(Visit(expr->condition())); |
356 Effects then_effects = EnterEffects(); | 362 Effects then_effects = EnterEffects(); |
357 RECURSE(Visit(expr->then_expression())); | 363 RECURSE(Visit(expr->then_expression())); |
358 ExitEffects(); | 364 ExitEffects(); |
359 Effects else_effects = EnterEffects(); | 365 Effects else_effects = EnterEffects(); |
360 RECURSE(Visit(expr->else_expression())); | 366 RECURSE(Visit(expr->else_expression())); |
(...skipping 443 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
804 void AstTyper::VisitImportDeclaration(ImportDeclaration* declaration) { | 810 void AstTyper::VisitImportDeclaration(ImportDeclaration* declaration) { |
805 } | 811 } |
806 | 812 |
807 | 813 |
808 void AstTyper::VisitExportDeclaration(ExportDeclaration* declaration) { | 814 void AstTyper::VisitExportDeclaration(ExportDeclaration* declaration) { |
809 } | 815 } |
810 | 816 |
811 | 817 |
812 } // namespace internal | 818 } // namespace internal |
813 } // namespace v8 | 819 } // namespace v8 |
OLD | NEW |