Index: runtime/vm/dart_api_impl.cc |
=================================================================== |
--- runtime/vm/dart_api_impl.cc (revision 25039) |
+++ runtime/vm/dart_api_impl.cc (working copy) |
@@ -1874,13 +1874,17 @@ |
return Api::NewError("Object does not implement the List interface"); |
} |
const String& name = String::Handle(Field::GetterName(Symbols::Length())); |
+ const int kNumArgs = 1; |
+ ArgumentsDescriptor args_desc( |
+ Array::Handle(ArgumentsDescriptor::New(kNumArgs))); |
const Function& function = |
- Function::Handle(isolate, Resolver::ResolveDynamic(instance, name, 1, 0)); |
+ Function::Handle(isolate, Resolver::ResolveDynamic(instance, |
+ name, |
+ args_desc)); |
if (function.IsNull()) { |
return Api::NewError("List object does not have a 'length' field."); |
} |
- const int kNumArgs = 1; |
const Array& args = Array::Handle(isolate, Array::New(kNumArgs)); |
args.SetAt(0, instance); // Set up the receiver as the first argument. |
const Object& retval = |
@@ -1940,11 +1944,13 @@ |
const Instance& instance = |
Instance::Handle(isolate, GetListInstance(isolate, obj)); |
if (!instance.IsNull()) { |
+ const int kNumArgs = 2; |
+ ArgumentsDescriptor args_desc( |
+ Array::Handle(ArgumentsDescriptor::New(kNumArgs))); |
const Function& function = Function::Handle( |
isolate, |
- Resolver::ResolveDynamic(instance, Symbols::IndexToken(), 2, 0)); |
+ Resolver::ResolveDynamic(instance, Symbols::IndexToken(), args_desc)); |
if (!function.IsNull()) { |
- const int kNumArgs = 2; |
const Array& args = Array::Handle(isolate, Array::New(kNumArgs)); |
const Integer& indexobj = Integer::Handle(isolate, Integer::New(index)); |
args.SetAt(0, instance); |
@@ -1992,12 +1998,14 @@ |
const Instance& instance = |
Instance::Handle(isolate, GetListInstance(isolate, obj)); |
if (!instance.IsNull()) { |
+ const intptr_t kNumArgs = 3; |
+ ArgumentsDescriptor args_desc( |
+ Array::Handle(ArgumentsDescriptor::New(kNumArgs))); |
const Function& function = Function::Handle( |
isolate, |
Resolver::ResolveDynamic(instance, |
Symbols::AssignIndexToken(), |
- 3, |
- 0)); |
+ args_desc)); |
if (!function.IsNull()) { |
const Integer& index_obj = |
Integer::Handle(isolate, Integer::New(index)); |
@@ -2006,7 +2014,6 @@ |
if (!value_obj.IsNull() && !value_obj.IsInstance()) { |
RETURN_TYPE_ERROR(isolate, value, Instance); |
} |
- const intptr_t kNumArgs = 3; |
const Array& args = Array::Handle(isolate, Array::New(kNumArgs)); |
args.SetAt(0, instance); |
args.SetAt(1, index_obj); |
@@ -2165,13 +2172,15 @@ |
const Instance& instance = |
Instance::Handle(isolate, GetListInstance(isolate, obj)); |
if (!instance.IsNull()) { |
+ const int kNumArgs = 2; |
+ ArgumentsDescriptor args_desc( |
+ Array::Handle(ArgumentsDescriptor::New(kNumArgs))); |
const Function& function = Function::Handle( |
isolate, |
- Resolver::ResolveDynamic(instance, Symbols::IndexToken(), 2, 0)); |
+ Resolver::ResolveDynamic(instance, Symbols::IndexToken(), args_desc)); |
if (!function.IsNull()) { |
Object& result = Object::Handle(isolate); |
Integer& intobj = Integer::Handle(isolate); |
- const int kNumArgs = 2; |
const Array& args = Array::Handle(isolate, Array::New(kNumArgs)); |
args.SetAt(0, instance); // Set up the receiver as the first argument. |
for (int i = 0; i < length; i++) { |
@@ -2260,16 +2269,17 @@ |
const Instance& instance = |
Instance::Handle(isolate, GetListInstance(isolate, obj)); |
if (!instance.IsNull()) { |
+ const int kNumArgs = 3; |
+ ArgumentsDescriptor args_desc( |
+ Array::Handle(ArgumentsDescriptor::New(kNumArgs))); |
const Function& function = Function::Handle( |
isolate, |
Resolver::ResolveDynamic(instance, |
Symbols::AssignIndexToken(), |
- 3, |
- 0)); |
+ args_desc)); |
if (!function.IsNull()) { |
Integer& indexobj = Integer::Handle(isolate); |
Integer& valueobj = Integer::Handle(isolate); |
- const int kNumArgs = 3; |
const Array& args = Array::Handle(isolate, Array::New(kNumArgs)); |
args.SetAt(0, instance); // Set up the receiver as the first argument. |
for (int i = 0; i < length; i++) { |
@@ -2957,12 +2967,11 @@ |
} else if (obj.IsNull() || obj.IsInstance()) { |
Instance& instance = Instance::Handle(isolate); |
instance ^= obj.raw(); |
+ ArgumentsDescriptor args_desc( |
+ Array::Handle(ArgumentsDescriptor::New(number_of_arguments + 1))); |
const Function& function = Function::Handle( |
isolate, |
- Resolver::ResolveDynamic(instance, |
- function_name, |
- (number_of_arguments + 1), |
- Resolver::kIsQualified)); |
+ Resolver::ResolveDynamic(instance, function_name, args_desc)); |
args.SetAt(0, instance); |
if (function.IsNull()) { |
const Array& args_descriptor = |