Chromium Code Reviews| Index: runtime/vm/dart_api_impl.cc |
| =================================================================== |
| --- runtime/vm/dart_api_impl.cc (revision 9646) |
| +++ runtime/vm/dart_api_impl.cc (working copy) |
| @@ -2857,6 +2857,34 @@ |
| } |
| +DART_EXPORT Dart_Handle Dart_FunctionParameterCounts(Dart_Handle function, |
| + int64_t* fixed_param_count, |
| + int64_t* opt_param_count) { |
|
turnidge
2012/07/13 23:37:12
Parameters should line up. Reindent signature as
|
| + Isolate* isolate = Isolate::Current(); |
| + DARTSCOPE(isolate); |
| + if (fixed_param_count == NULL) { |
| + RETURN_NULL_ERROR(fixed_param_count); |
| + } |
| + if (opt_param_count == NULL) { |
| + RETURN_NULL_ERROR(opt_param_count); |
| + } |
| + const Function& func = Api::UnwrapFunctionHandle(isolate, function); |
| + if (func.IsNull()) { |
| + RETURN_TYPE_ERROR(isolate, function, Function); |
| + } |
| + |
| + // We hide implicit parameters, such as a method's receiver. This is |
| + // consistent with Invoke or New, which don't expect their callers to |
| + // provide them in the argument lists they are handed. |
| + |
|
turnidge
2012/07/13 23:37:12
Remove preceding blank line.
|
| + *fixed_param_count = func.num_fixed_parameters() |
|
turnidge
2012/07/13 23:37:12
To get this to auto-indent correctly for those usi
|
| + - func.NumberOfImplicitParameters(); |
| + *opt_param_count = func.num_optional_parameters(); |
| + |
| + return Api::Success(isolate); |
| +} |
| + |
| + |
| DART_EXPORT Dart_Handle Dart_GetVariableNames(Dart_Handle target) { |
| Isolate* isolate = Isolate::Current(); |
| DARTSCOPE(isolate); |