Index: src/property.h |
diff --git a/src/property.h b/src/property.h |
index 9235c3287dc74a302fb61276d3352c6f4587f2d9..d5efb7f35193f9a5ee36dbe9339e968996aaf4d0 100644 |
--- a/src/property.h |
+++ b/src/property.h |
@@ -164,35 +164,6 @@ class CallbacksDescriptor: public Descriptor { |
}; |
-template <class T> |
-bool IsPropertyDescriptor(T* desc) { |
- switch (desc->type()) { |
- case NORMAL: |
- case FIELD: |
- case CONSTANT_FUNCTION: |
- case HANDLER: |
- case INTERCEPTOR: |
- return true; |
- case CALLBACKS: { |
- Object* callback_object = desc->GetCallbackObject(); |
- // Non-JavaScript (i.e. native) accessors are always a property, otherwise |
- // either the getter or the setter must be an accessor. Put another way: |
- // If we only see map transitions and holes in a pair, this is not a |
- // property. |
- return (!callback_object->IsAccessorPair() || |
- AccessorPair::cast(callback_object)->ContainsAccessor()); |
- } |
- case MAP_TRANSITION: |
- case ELEMENTS_TRANSITION: |
- case CONSTANT_TRANSITION: |
- case NULL_DESCRIPTOR: |
- return false; |
- } |
- UNREACHABLE(); // keep the compiler happy |
- return false; |
-} |
- |
- |
class LookupResult BASE_EMBEDDED { |
public: |
explicit LookupResult(Isolate* isolate) |
@@ -290,9 +261,10 @@ class LookupResult BASE_EMBEDDED { |
bool IsFound() { return lookup_type_ != NOT_FOUND; } |
bool IsHandler() { return lookup_type_ == HANDLER_TYPE; } |
- // Is the result is a property excluding transitions and the null descriptor? |
+ // Is the result is a property excluding transitions and the null |
+ // descriptor? |
bool IsProperty() { |
- return IsFound() && IsPropertyDescriptor(this); |
+ return IsFound() && IsRealProperty(GetPropertyDetails().type()); |
} |
bool IsCacheable() { return cacheable_; } |