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

Unified Diff: runtime/vm/object.cc

Issue 363473004: Hide synthetic metadata field exposed in r35926. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: runtime/vm/object.cc
diff --git a/runtime/vm/object.cc b/runtime/vm/object.cc
index 3893ccb6ef22ee4ca4c9cae0313d870536245a70..40d9bd196fa25c5b42aaf20ce4e7b80fab0a01a7 100644
--- a/runtime/vm/object.cc
+++ b/runtime/vm/object.cc
@@ -807,7 +807,7 @@ void Object::CreateInternalMetaData() {
cls = context_class_;
fields = Array::New(1, Heap::kOld);
name = Symbols::New("@parent_");
- fld = Field::New(name, false, false, false, cls, 0);
+ fld = Field::New(name, false, false, false, true, cls, 0);
fields.SetAt(0, fld);
cls.SetFields(fields);
}
@@ -1388,7 +1388,7 @@ RawError* Object::Init(Isolate* isolate) {
#define ADD_SET_FIELD(clazz) \
field_name = Symbols::New("cid"#clazz); \
- field = Field::New(field_name, true, false, true, cls, 0); \
+ field = Field::New(field_name, true, false, true, false, cls, 0); \
Ivan Posva 2014/07/01 14:27:49 These fields are synthetic, no?
rmacnak 2014/07/01 20:08:20 They are accessed from Dart code, so no.
value = Smi::New(k##clazz##Cid); \
field.set_value(value); \
field.set_type(Type::Handle(Type::IntType())); \
@@ -6863,6 +6863,7 @@ RawField* Field::New(const String& name,
bool is_static,
bool is_final,
bool is_const,
+ bool is_synthetic,
const Class& owner,
intptr_t token_pos) {
ASSERT(!owner.IsNull());
@@ -6876,6 +6877,7 @@ RawField* Field::New(const String& name,
}
result.set_is_final(is_final);
result.set_is_const(is_const);
+ result.set_is_synthetic(is_synthetic);
result.set_owner(owner);
result.set_token_pos(token_pos);
result.set_has_initializer(false);
@@ -8475,6 +8477,7 @@ void Library::AddMetadata(const Class& cls,
true, // is_static
false, // is_final
false, // is_const
+ true, // is_synthetic
cls,
token_pos));
field.set_type(Type::Handle(Type::DynamicType()));
@@ -9838,6 +9841,7 @@ void Namespace::AddMetadata(intptr_t token_pos, const Class& owner_class) {
true, // is_static
false, // is_final
false, // is_const
+ true, // is_synthetic
owner_class,
token_pos));
field.set_type(Type::Handle(Type::DynamicType()));
« runtime/lib/mirrors.cc ('K') | « runtime/vm/object.h ('k') | runtime/vm/object_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698