OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 "vm/dart_api_impl.h" | 5 #include "vm/dart_api_impl.h" |
6 #include "vm/dart_api_state.h" | 6 #include "vm/dart_api_state.h" |
7 #include "vm/object.h" | 7 #include "vm/object.h" |
8 #include "vm/unit_test.h" | 8 #include "vm/unit_test.h" |
9 | 9 |
10 namespace dart { | 10 namespace dart { |
11 | 11 |
12 RawField* LookupField(Dart_Handle library, const char* class_name, | 12 RawField* LookupField(Dart_Handle library, const char* class_name, |
13 const char* field_name) { | 13 const char* field_name) { |
14 RawLibrary* raw_library = Library::RawCast(Api::UnwrapHandle(library)); | 14 RawLibrary* raw_library = Library::RawCast(Api::UnwrapHandle(library)); |
15 Library& lib = Library::ZoneHandle(raw_library); | 15 Library& lib = Library::ZoneHandle(raw_library); |
16 const String& classname = String::Handle(Symbols::New(class_name)); | 16 const String& classname = String::Handle(Symbols::New(class_name)); |
17 Class& cls = Class::Handle(lib.LookupClass(classname)); | 17 Class& cls = Class::Handle(lib.LookupClass(classname)); |
18 EXPECT(!cls.IsNull()); // No ambiguity error expected. | 18 EXPECT(!cls.IsNull()); // No ambiguity error expected. |
19 | 19 |
20 String& fieldname = String::Handle(String::New(field_name)); | 20 String& fieldname = String::Handle(String::New(field_name)); |
21 Field& field = Field::ZoneHandle(cls.LookupInstanceField(fieldname)); | 21 Field& field = |
| 22 Field::ZoneHandle(cls.LookupInstanceFieldAllowPrivate(fieldname)); |
22 EXPECT(!field.IsNull()); | 23 EXPECT(!field.IsNull()); |
23 return field.raw(); | 24 return field.raw(); |
24 } | 25 } |
25 | 26 |
26 | 27 |
27 TEST_CASE(GuardFieldSimpleTest) { | 28 TEST_CASE(GuardFieldSimpleTest) { |
28 const char* script_chars = | 29 const char* script_chars = |
29 "class A {\n" | 30 "class A {\n" |
30 " var f1 = 3.0;\n" | 31 " var f1 = 3.0;\n" |
31 " var f2 = 3;\n" | 32 " var f2 = 3;\n" |
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
272 Dart_Handle result = Dart_Invoke(lib, NewString("main"), 0, NULL); | 273 Dart_Handle result = Dart_Invoke(lib, NewString("main"), 0, NULL); |
273 EXPECT_VALID(result); | 274 EXPECT_VALID(result); |
274 Field& f3 = Field::ZoneHandle(LookupField(lib, "A", "f3")); | 275 Field& f3 = Field::ZoneHandle(LookupField(lib, "A", "f3")); |
275 const intptr_t no_length = Field::kNoFixedLength; | 276 const intptr_t no_length = Field::kNoFixedLength; |
276 EXPECT_EQ(no_length, f3.guarded_list_length()); | 277 EXPECT_EQ(no_length, f3.guarded_list_length()); |
277 EXPECT_EQ(kTypedDataFloat32ArrayCid, f3.guarded_cid()); | 278 EXPECT_EQ(kTypedDataFloat32ArrayCid, f3.guarded_cid()); |
278 EXPECT_EQ(false, f3.is_nullable()); | 279 EXPECT_EQ(false, f3.is_nullable()); |
279 } | 280 } |
280 | 281 |
281 } // namespace dart | 282 } // namespace dart |
OLD | NEW |