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; |