Chromium Code Reviews| Index: runtime/vm/object.h |
| =================================================================== |
| --- runtime/vm/object.h (revision 12282) |
| +++ runtime/vm/object.h (working copy) |
| @@ -1476,20 +1476,28 @@ |
| void set_num_fixed_parameters(intptr_t value) const; |
| bool HasOptionalParameters() const { |
| - return (num_optional_positional_parameters() + |
| - num_optional_named_parameters()) > 0; |
| + return raw_ptr()->num_optional_parameters_ != 0; |
| } |
| - |
| - intptr_t num_optional_positional_parameters() const { |
| - return raw_ptr()->num_optional_positional_parameters_; |
| + intptr_t NumOptionalParameters() const { |
| + const intptr_t num_opt_params = raw_ptr()->num_optional_parameters_; |
| + return (num_opt_params > 0) ? num_opt_params : -num_opt_params; |
|
siva
2012/09/12 22:19:50
Should this be (num_opt_params >= 0) ? num_opt_par
regis
2012/09/12 23:33:32
I think it does not matter. But I agree it is easi
|
| } |
| - void set_num_optional_positional_parameters(intptr_t value) const; |
| + void SetNumOptionalParameters(intptr_t num_optional_positional_parameters, |
| + intptr_t num_optional_named_parameters) const; |
|
siva
2012/09/12 22:19:50
I feel this function would be more readable if the
regis
2012/09/12 23:33:32
Done.
|
| - intptr_t num_optional_named_parameters() const { |
| - return raw_ptr()->num_optional_named_parameters_; |
| + intptr_t NumOptionalPositionalParameters() const { |
| + const intptr_t num_opt_params = raw_ptr()->num_optional_parameters_; |
| + return (num_opt_params > 0) ? num_opt_params : 0; |
| } |
| - void set_num_optional_named_parameters(intptr_t value) const; |
| + intptr_t NumOptionalNamedParameters() const { |
| + const intptr_t num_opt_params = raw_ptr()->num_optional_parameters_; |
| + return (num_opt_params < 0) ? -num_opt_params : 0; |
| + } |
| + intptr_t NumParameters() const; |
| + |
| + intptr_t NumImplicitParameters() const; |
| + |
| static intptr_t usage_counter_offset() { |
| return OFFSET_OF(RawFunction, usage_counter_); |
| } |
| @@ -1523,12 +1531,6 @@ |
| bool HasOptimizedCode() const; |
| - intptr_t NumberOfParameters() const; |
| - intptr_t NumberOfImplicitParameters() const; |
| - void SetNumberOfParameters(intptr_t num_fixed_parameters, |
| - intptr_t num_optional_parameters, |
| - bool are_optional_positional) const; |
| - |
| // Returns true if the argument counts are valid for calling this function. |
| // Otherwise, it returns false and the reason (if error_message is not NULL). |
| bool AreValidArgumentCounts(int num_arguments, |
| @@ -1680,6 +1682,7 @@ |
| void set_owner(const Object& value) const; |
| void set_token_pos(intptr_t value) const; |
| void set_implicit_closure_function(const Function& value) const; |
| + void set_num_optional_parameters(intptr_t value) const; // Encoded value. |
| void set_kind_tag(intptr_t value) const; |
| static RawFunction* New(); |