Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3)

Side by Side Diff: runtime/vm/scopes_test.cc

Issue 1870343002: - Refactor Symbol allocation to expect a thread parameter. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Address review feedback. Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « runtime/vm/scanner.cc ('k') | runtime/vm/service_test.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #include "platform/assert.h" 5 #include "platform/assert.h"
6 #include "vm/ast.h" 6 #include "vm/ast.h"
7 #include "vm/scopes.h" 7 #include "vm/scopes.h"
8 #include "vm/unit_test.h" 8 #include "vm/unit_test.h"
9 9
10 namespace dart { 10 namespace dart {
11 11
12 TEST_CASE(LocalScope) { 12 TEST_CASE(LocalScope) {
13 // Allocate a couple of local variables first. 13 // Allocate a couple of local variables first.
14 const Type& dynamic_type = Type::ZoneHandle(Type::DynamicType()); 14 const Type& dynamic_type = Type::ZoneHandle(Type::DynamicType());
15 const String& a = String::ZoneHandle(Symbols::New("a")); 15 const String& a = String::ZoneHandle(Symbols::New(thread, "a"));
16 LocalVariable* var_a = 16 LocalVariable* var_a =
17 new LocalVariable(TokenPosition::kNoSource, a, dynamic_type); 17 new LocalVariable(TokenPosition::kNoSource, a, dynamic_type);
18 LocalVariable* inner_var_a = 18 LocalVariable* inner_var_a =
19 new LocalVariable(TokenPosition::kNoSource, a, dynamic_type); 19 new LocalVariable(TokenPosition::kNoSource, a, dynamic_type);
20 const String& b = String::ZoneHandle(Symbols::New("b")); 20 const String& b = String::ZoneHandle(Symbols::New(thread, "b"));
21 LocalVariable* var_b = 21 LocalVariable* var_b =
22 new LocalVariable(TokenPosition::kNoSource, b, dynamic_type); 22 new LocalVariable(TokenPosition::kNoSource, b, dynamic_type);
23 const String& c = String::ZoneHandle(Symbols::New("c")); 23 const String& c = String::ZoneHandle(Symbols::New(thread, "c"));
24 LocalVariable* var_c = 24 LocalVariable* var_c =
25 new LocalVariable(TokenPosition::kNoSource, c, dynamic_type); 25 new LocalVariable(TokenPosition::kNoSource, c, dynamic_type);
26 const String& L = String::ZoneHandle(Symbols::New("L")); 26 const String& L = String::ZoneHandle(Symbols::New(thread, "L"));
27 SourceLabel* label_L = 27 SourceLabel* label_L =
28 new SourceLabel(TokenPosition::kNoSource, L, SourceLabel::kFor); 28 new SourceLabel(TokenPosition::kNoSource, L, SourceLabel::kFor);
29 29
30 LocalScope* outer_scope = new LocalScope(NULL, 0, 0); 30 LocalScope* outer_scope = new LocalScope(NULL, 0, 0);
31 LocalScope* inner_scope1 = new LocalScope(outer_scope, 0, 0); 31 LocalScope* inner_scope1 = new LocalScope(outer_scope, 0, 0);
32 LocalScope* inner_scope2 = new LocalScope(outer_scope, 0, 0); 32 LocalScope* inner_scope2 = new LocalScope(outer_scope, 0, 0);
33 33
34 EXPECT(outer_scope->parent() == NULL); 34 EXPECT(outer_scope->parent() == NULL);
35 EXPECT_EQ(outer_scope, inner_scope1->parent()); 35 EXPECT_EQ(outer_scope, inner_scope1->parent());
36 EXPECT_EQ(outer_scope, inner_scope2->parent()); 36 EXPECT_EQ(outer_scope, inner_scope2->parent());
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
106 (inner_scope1->VariableAt(1) == var_b)); 106 (inner_scope1->VariableAt(1) == var_b));
107 EXPECT((inner_scope2->VariableAt(0) == var_a) || 107 EXPECT((inner_scope2->VariableAt(0) == var_a) ||
108 (inner_scope2->VariableAt(1) == var_a) || 108 (inner_scope2->VariableAt(1) == var_a) ||
109 (inner_scope2->VariableAt(2) == var_a)); 109 (inner_scope2->VariableAt(2) == var_a));
110 EXPECT((inner_scope2->VariableAt(0) == var_c) || 110 EXPECT((inner_scope2->VariableAt(0) == var_c) ||
111 (inner_scope2->VariableAt(1) == var_c) || 111 (inner_scope2->VariableAt(1) == var_c) ||
112 (inner_scope2->VariableAt(2) == var_c)); 112 (inner_scope2->VariableAt(2) == var_c));
113 } 113 }
114 114
115 } // namespace dart 115 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/scanner.cc ('k') | runtime/vm/service_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698