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

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

Issue 1280713002: Replace is_synthetic bit on Fields with is_reflectable. Mark private fields of dart:* as non-reflec… (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 4 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/object.cc ('k') | runtime/vm/parser.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/globals.h" 5 #include "platform/globals.h"
6 6
7 #include "vm/assembler.h" 7 #include "vm/assembler.h"
8 #include "vm/class_finalizer.h" 8 #include "vm/class_finalizer.h"
9 #include "vm/dart_api_impl.h" 9 #include "vm/dart_api_impl.h"
10 #include "vm/dart_entry.h" 10 #include "vm/dart_entry.h"
(...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after
274 274
275 // No fields, functions, or super type for the OneFieldClass. 275 // No fields, functions, or super type for the OneFieldClass.
276 EXPECT_EQ(Array::Handle(empty_class.fields()).Length(), 0); 276 EXPECT_EQ(Array::Handle(empty_class.fields()).Length(), 0);
277 EXPECT_EQ(Array::Handle(empty_class.functions()).Length(), 0); 277 EXPECT_EQ(Array::Handle(empty_class.functions()).Length(), 0);
278 EXPECT_EQ(empty_class.super_type(), AbstractType::null()); 278 EXPECT_EQ(empty_class.super_type(), AbstractType::null());
279 ClassFinalizer::FinalizeTypesInClass(one_field_class); 279 ClassFinalizer::FinalizeTypesInClass(one_field_class);
280 280
281 const Array& one_fields = Array::Handle(Array::New(1)); 281 const Array& one_fields = Array::Handle(Array::New(1));
282 const String& field_name = String::Handle(Symbols::New("the_field")); 282 const String& field_name = String::Handle(Symbols::New("the_field"));
283 const Field& field = Field::Handle( 283 const Field& field = Field::Handle(
284 Field::New(field_name, false, false, false, false, one_field_class, 0)); 284 Field::New(field_name, false, false, false, true, one_field_class, 0));
285 one_fields.SetAt(0, field); 285 one_fields.SetAt(0, field);
286 one_field_class.SetFields(one_fields); 286 one_field_class.SetFields(one_fields);
287 one_field_class.Finalize(); 287 one_field_class.Finalize();
288 intptr_t header_size = sizeof(RawObject); 288 intptr_t header_size = sizeof(RawObject);
289 EXPECT_EQ(Utils::RoundUp((header_size + (1 * kWordSize)), kObjectAlignment), 289 EXPECT_EQ(Utils::RoundUp((header_size + (1 * kWordSize)), kObjectAlignment),
290 one_field_class.instance_size()); 290 one_field_class.instance_size());
291 EXPECT_EQ(header_size, field.Offset()); 291 EXPECT_EQ(header_size, field.Offset());
292 EXPECT(!one_field_class.is_implemented()); 292 EXPECT(!one_field_class.is_implemented());
293 one_field_class.set_is_implemented(); 293 one_field_class.set_is_implemented();
294 EXPECT(one_field_class.is_implemented()); 294 EXPECT(one_field_class.is_implemented());
(...skipping 2689 matching lines...) Expand 10 before | Expand all | Expand 10 after
2984 const Class& cls = Class::Handle( 2984 const Class& cls = Class::Handle(
2985 CreateDummyClass(class_name, Script::Handle())); 2985 CreateDummyClass(class_name, Script::Handle()));
2986 return cls.raw(); 2986 return cls.raw();
2987 } 2987 }
2988 2988
2989 2989
2990 static RawField* CreateTestField(const char* name) { 2990 static RawField* CreateTestField(const char* name) {
2991 const Class& cls = Class::Handle(CreateTestClass("global:")); 2991 const Class& cls = Class::Handle(CreateTestClass("global:"));
2992 const String& field_name = String::Handle(Symbols::New(name)); 2992 const String& field_name = String::Handle(Symbols::New(name));
2993 const Field& field = 2993 const Field& field =
2994 Field::Handle(Field::New(field_name, true, false, false, false, cls, 0)); 2994 Field::Handle(Field::New(field_name, true, false, false, true, cls, 0));
2995 return field.raw(); 2995 return field.raw();
2996 } 2996 }
2997 2997
2998 2998
2999 TEST_CASE(ClassDictionaryIterator) { 2999 TEST_CASE(ClassDictionaryIterator) {
3000 Class& ae66 = Class::ZoneHandle(CreateTestClass("Ae6/6")); 3000 Class& ae66 = Class::ZoneHandle(CreateTestClass("Ae6/6"));
3001 Class& re44 = Class::ZoneHandle(CreateTestClass("Re4/4")); 3001 Class& re44 = Class::ZoneHandle(CreateTestClass("Re4/4"));
3002 Field& ce68 = Field::ZoneHandle(CreateTestField("Ce6/8")); 3002 Field& ce68 = Field::ZoneHandle(CreateTestField("Ce6/8"));
3003 Field& tee = Field::ZoneHandle(CreateTestField("TEE")); 3003 Field& tee = Field::ZoneHandle(CreateTestField("TEE"));
3004 String& url = String::ZoneHandle(String::New("SBB")); 3004 String& url = String::ZoneHandle(String::New("SBB"));
(...skipping 1728 matching lines...) Expand 10 before | Expand all | Expand 10 after
4733 EXPECT(iterator.MoveNext()); 4733 EXPECT(iterator.MoveNext());
4734 object = iterator.CurrentKey(); 4734 object = iterator.CurrentKey();
4735 EXPECT_STREQ("z", object.ToCString()); 4735 EXPECT_STREQ("z", object.ToCString());
4736 object = iterator.CurrentValue(); 4736 object = iterator.CurrentValue();
4737 EXPECT_STREQ("5", object.ToCString()); 4737 EXPECT_STREQ("5", object.ToCString());
4738 4738
4739 EXPECT(!iterator.MoveNext()); 4739 EXPECT(!iterator.MoveNext());
4740 } 4740 }
4741 4741
4742 } // namespace dart 4742 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/object.cc ('k') | runtime/vm/parser.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698