Set correct script on fields in kernel.
R=kmillikin@google.com
Review-Url: https://codereview.chromium.org/2583153002 .
diff --git a/runtime/vm/kernel_reader.cc b/runtime/vm/kernel_reader.cc
index d11e931..695d7bf 100644
--- a/runtime/vm/kernel_reader.cc
+++ b/runtime/vm/kernel_reader.cc
@@ -293,6 +293,8 @@
const dart::String& name = H.DartFieldName(kernel_field->name());
const AbstractType& type =
T.TranslateTypeWithoutFinalization(kernel_field->type());
+ const Object& script_class =
+ ClassForScriptAt(klass, kernel_field->source_uri_index());
dart::Field& field = dart::Field::Handle(
Z, dart::Field::New(name, kernel_field->IsStatic(),
// In the VM all const fields are implicitly final
@@ -301,7 +303,7 @@
kernel_field->IsFinal() || kernel_field->IsConst(),
kernel_field->IsConst(),
false, // is_reflectable
- klass, type, kernel_field->position()));
+ script_class, type, kernel_field->position()));
field.set_kernel_field(kernel_field);
field.set_has_initializer(kernel_field->initializer() != NULL);
GenerateFieldAccessors(klass, field, kernel_field);
diff --git a/runtime/vm/object.cc b/runtime/vm/object.cc
index 854b152..bd3efd6 100644
--- a/runtime/vm/object.cc
+++ b/runtime/vm/object.cc
@@ -7575,7 +7575,7 @@
bool is_final,
bool is_const,
bool is_reflectable,
- const Class& owner,
+ const Object& owner,
const AbstractType& type,
TokenPosition token_pos) {
ASSERT(!owner.IsNull());
diff --git a/runtime/vm/object.h b/runtime/vm/object.h
index 032b420..c721863 100644
--- a/runtime/vm/object.h
+++ b/runtime/vm/object.h
@@ -3165,7 +3165,7 @@
bool is_final,
bool is_const,
bool is_reflectable,
- const Class& owner,
+ const Object& owner,
const AbstractType& type,
TokenPosition token_pos);