| Index: runtime/vm/object.h
|
| diff --git a/runtime/vm/object.h b/runtime/vm/object.h
|
| index 77b87e63a9a96b35a1d2df54549771b3dfa958f6..397b445f45b18353f3f11f91e0944d1cf1206b53 100644
|
| --- a/runtime/vm/object.h
|
| +++ b/runtime/vm/object.h
|
| @@ -2033,7 +2033,7 @@ class ICData : public Object {
|
| bool AllTargetsHaveSameOwner(intptr_t owner_cid) const;
|
| bool AllReceiversAreNumbers() const;
|
| bool HasOneTarget() const;
|
| - bool HasOnlyDispatcherTargets() const;
|
| + bool HasOnlyDispatcherOrImplicitAccessorTargets() const;
|
| bool HasReceiverClassId(intptr_t class_id) const;
|
|
|
| static RawICData* New(const Function& owner,
|
| @@ -2649,6 +2649,18 @@ class Function : public Object {
|
| Error* bound_error,
|
| Heap::Space space) const;
|
|
|
| + bool IsDispatcherOrImplicitAccessor() const {
|
| + switch (kind()) {
|
| + case RawFunction::kImplicitGetter:
|
| + case RawFunction::kImplicitSetter:
|
| + case RawFunction::kNoSuchMethodDispatcher:
|
| + case RawFunction::kInvokeFieldDispatcher:
|
| + return true;
|
| + default:
|
| + return false;
|
| + }
|
| + }
|
| +
|
| // Returns true if this function represents an explicit getter function.
|
| bool IsGetterFunction() const {
|
| return kind() == RawFunction::kGetterFunction;
|
|
|