| OLD | NEW |
| 1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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 <stdlib.h> | 5 #include <stdlib.h> |
| 6 | 6 |
| 7 #include "src/v8.h" | 7 #include "src/v8.h" |
| 8 | 8 |
| 9 #include "src/ast.h" | 9 #include "src/ast.h" |
| 10 #include "src/ast-expression-visitor.h" | 10 #include "src/ast-expression-visitor.h" |
| (...skipping 20 matching lines...) Expand all Loading... |
| 31 | 31 |
| 32 i::ParseInfo info(handles->main_zone(), script); | 32 i::ParseInfo info(handles->main_zone(), script); |
| 33 i::Parser parser(&info); | 33 i::Parser parser(&info); |
| 34 parser.set_allow_harmony_arrow_functions(true); | 34 parser.set_allow_harmony_arrow_functions(true); |
| 35 parser.set_allow_harmony_sloppy(true); | 35 parser.set_allow_harmony_sloppy(true); |
| 36 info.set_global(); | 36 info.set_global(); |
| 37 info.set_lazy(false); | 37 info.set_lazy(false); |
| 38 info.set_allow_lazy_parsing(false); | 38 info.set_allow_lazy_parsing(false); |
| 39 info.set_toplevel(true); | 39 info.set_toplevel(true); |
| 40 | 40 |
| 41 i::CompilationInfo compilation_info(&info); | |
| 42 CHECK(i::Compiler::ParseAndAnalyze(&info)); | 41 CHECK(i::Compiler::ParseAndAnalyze(&info)); |
| 43 info.set_literal( | |
| 44 info.scope()->declarations()->at(0)->AsFunctionDeclaration()->fun()); | |
| 45 | 42 |
| 46 ExpressionTypeCollector(&compilation_info, dst).Run(); | 43 ExpressionTypeCollector( |
| 44 isolate, handles->main_zone(), |
| 45 info.scope()->declarations()->at(0)->AsFunctionDeclaration()->fun(), dst) |
| 46 .Run(); |
| 47 } | 47 } |
| 48 } | 48 } |
| 49 | 49 |
| 50 | 50 |
| 51 TEST(VisitExpressions) { | 51 TEST(VisitExpressions) { |
| 52 v8::V8::Initialize(); | 52 v8::V8::Initialize(); |
| 53 HandleAndZoneScope handles; | 53 HandleAndZoneScope handles; |
| 54 ZoneVector<ExpressionTypeEntry> types(handles.main_zone()); | 54 ZoneVector<ExpressionTypeEntry> types(handles.main_zone()); |
| 55 const char test_function[] = | 55 const char test_function[] = |
| 56 "function GeometricMean(stdlib, foreign, buffer) {\n" | 56 "function GeometricMean(stdlib, foreign, buffer) {\n" |
| (...skipping 326 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 383 CHECK_EXPR(FunctionLiteral, Bounds::Unbounded()) { | 383 CHECK_EXPR(FunctionLiteral, Bounds::Unbounded()) { |
| 384 CHECK_EXPR(BinaryOperation, Bounds::Unbounded()) { | 384 CHECK_EXPR(BinaryOperation, Bounds::Unbounded()) { |
| 385 // Skip x + x | 385 // Skip x + x |
| 386 CHECK_SKIP(); | 386 CHECK_SKIP(); |
| 387 CHECK_EXPR(Literal, Bounds::Unbounded()); | 387 CHECK_EXPR(Literal, Bounds::Unbounded()); |
| 388 } | 388 } |
| 389 } | 389 } |
| 390 } | 390 } |
| 391 CHECK_TYPES_END | 391 CHECK_TYPES_END |
| 392 } | 392 } |
| OLD | NEW |