| Index: runtime/vm/dart_api_impl.cc
|
| ===================================================================
|
| --- runtime/vm/dart_api_impl.cc (revision 17175)
|
| +++ runtime/vm/dart_api_impl.cc (working copy)
|
| @@ -1104,15 +1104,19 @@
|
| ASSERT(!isolate_lib.IsNull());
|
| const String& class_name = String::Handle(
|
| isolate, isolate_lib.PrivateName(Symbols::_ReceivePortImpl()));
|
| + // TODO(asiva): Symbols should contain private keys.
|
| + const String& function_name =
|
| + String::Handle(isolate_lib.PrivateName(Symbols::_get_or_create()));
|
| const int kNumArguments = 1;
|
| const Function& function = Function::Handle(
|
| isolate,
|
| Resolver::ResolveStatic(isolate_lib,
|
| class_name,
|
| - Symbols::_get_or_create(),
|
| + function_name,
|
| kNumArguments,
|
| Object::empty_array(),
|
| Resolver::kIsQualified));
|
| + ASSERT(!function.IsNull());
|
| const Array& args = Array::Handle(isolate, Array::New(kNumArguments));
|
| args.SetAt(0, Integer::Handle(isolate, Integer::New(port_id)));
|
| return Api::NewHandle(isolate, DartEntry::InvokeStatic(function, args));
|
| @@ -2783,7 +2787,7 @@
|
| const Class& cls = Class::Cast(obj);
|
|
|
| // Case 1. Lookup the unmodified function name.
|
| - func = cls.LookupFunction(func_name);
|
| + func = cls.LookupFunctionAllowPrivate(func_name);
|
|
|
| // Case 2. Lookup the function without the external setter suffix
|
| // '='. Make sure to do this check after the regular lookup, so
|
| @@ -2791,20 +2795,20 @@
|
| if (func.IsNull() && HasExternalSetterSuffix(func_name)) {
|
| tmp_name = RemoveExternalSetterSuffix(func_name);
|
| tmp_name = Field::SetterName(tmp_name);
|
| - func = cls.LookupFunction(tmp_name);
|
| + func = cls.LookupFunctionAllowPrivate(tmp_name);
|
| }
|
|
|
| // Case 3. Lookup the funciton with the getter prefix prepended.
|
| if (func.IsNull()) {
|
| tmp_name = Field::GetterName(func_name);
|
| - func = cls.LookupFunction(tmp_name);
|
| + func = cls.LookupFunctionAllowPrivate(tmp_name);
|
| }
|
|
|
| // Case 4. Lookup the function with a . appended to find the
|
| // unnamed constructor.
|
| if (func.IsNull()) {
|
| tmp_name = String::Concat(func_name, Symbols::Dot());
|
| - func = cls.LookupFunction(tmp_name);
|
| + func = cls.LookupFunctionAllowPrivate(tmp_name);
|
| }
|
| } else if (obj.IsLibrary()) {
|
| const Library& lib = Library::Cast(obj);
|
| @@ -3299,7 +3303,7 @@
|
| // The constructor must be present in the interface.
|
| String& constr_name = String::Handle(String::Concat(class_name, dotted_name));
|
| const Function& constructor =
|
| - Function::Handle(cls.LookupFunction(constr_name));
|
| + Function::Handle(cls.LookupFunctionAllowPrivate(constr_name));
|
| if (constructor.IsNull() ||
|
| (!constructor.IsConstructor() && !constructor.IsFactory())) {
|
| const String& lookup_class_name = String::Handle(cls.Name());
|
| @@ -3611,7 +3615,7 @@
|
| while (!cls.IsNull()) {
|
| String& getter_name =
|
| String::Handle(isolate, Field::GetterName(field_name));
|
| - getter = cls.LookupDynamicFunction(getter_name);
|
| + getter = cls.LookupDynamicFunctionAllowPrivate(getter_name);
|
| if (!getter.IsNull()) {
|
| break;
|
| }
|
| @@ -3642,7 +3646,7 @@
|
| if (field.IsNull() || FieldIsUninitialized(isolate, field)) {
|
| const String& getter_name =
|
| String::Handle(isolate, Field::GetterName(field_name));
|
| - getter = cls.LookupStaticFunction(getter_name);
|
| + getter = cls.LookupStaticFunctionAllowPrivate(getter_name);
|
| }
|
|
|
| if (!getter.IsNull()) {
|
| @@ -3674,7 +3678,7 @@
|
| const Class& cls = Class::Handle(isolate, field.owner());
|
| const String& getter_name =
|
| String::Handle(isolate, Field::GetterName(field_name));
|
| - getter = cls.LookupStaticFunction(getter_name);
|
| + getter = cls.LookupStaticFunctionAllowPrivate(getter_name);
|
| }
|
|
|
| if (!getter.IsNull()) {
|
| @@ -3737,7 +3741,7 @@
|
| }
|
| String& setter_name =
|
| String::Handle(isolate, Field::SetterName(field_name));
|
| - setter = cls.LookupDynamicFunction(setter_name);
|
| + setter = cls.LookupDynamicFunctionAllowPrivate(setter_name);
|
| if (!setter.IsNull()) {
|
| break;
|
| }
|
| @@ -3764,7 +3768,7 @@
|
| if (field.IsNull()) {
|
| String& setter_name =
|
| String::Handle(isolate, Field::SetterName(field_name));
|
| - setter = cls.LookupStaticFunction(setter_name);
|
| + setter = cls.LookupStaticFunctionAllowPrivate(setter_name);
|
| }
|
|
|
| if (!setter.IsNull()) {
|
|
|