Index: src/objects.cc |
diff --git a/src/objects.cc b/src/objects.cc |
index 1899bd88e793f0ad8cc0e706da6f6a1be08d5d1c..ff6b7a12a7d6777644f9dcc779f7a3d16d69021b 100644 |
--- a/src/objects.cc |
+++ b/src/objects.cc |
@@ -487,7 +487,7 @@ Maybe<PropertyAttributes> JSObject::GetPropertyAttributesWithFailedAccessCheck( |
auto result = GetPropertyAttributesWithInterceptor( |
it->GetHolder<JSObject>(), it->GetReceiver(), it->name()); |
if (it->isolate()->has_scheduled_exception()) break; |
- if (result.has_value && result.value != ABSENT) return result; |
+ if (result.IsJust() && result.FromJust() != ABSENT) return result; |
} |
it->isolate()->ReportFailedAccessCheck(checked); |
RETURN_VALUE_IF_SCHEDULED_EXCEPTION(it->isolate(), |
@@ -625,7 +625,7 @@ Maybe<PropertyAttributes> JSObject::GetElementAttributesWithFailedAccessCheck( |
auto result = |
JSObject::GetElementAttributeFromInterceptor(object, receiver, index); |
if (isolate->has_scheduled_exception()) break; |
- if (result.has_value && result.value != ABSENT) return result; |
+ if (result.IsJust() && result.FromJust() != ABSENT) return result; |
where_to_start = PrototypeIterator::START_AT_PROTOTYPE; |
} |
isolate->ReportFailedAccessCheck(object); |
@@ -723,12 +723,12 @@ MaybeHandle<Object> Object::SetElementWithReceiver( |
Maybe<PropertyAttributes> from_interceptor = |
JSObject::GetElementAttributeFromInterceptor(js_object, receiver, |
index); |
- if (!from_interceptor.has_value) return MaybeHandle<Object>(); |
- if ((from_interceptor.value & READ_ONLY) != 0) { |
+ if (!from_interceptor.IsJust()) return MaybeHandle<Object>(); |
+ if ((from_interceptor.FromJust() & READ_ONLY) != 0) { |
return WriteToReadOnlyElement(isolate, receiver, index, value, |
language_mode); |
} |
- done = from_interceptor.value != ABSENT; |
+ done = from_interceptor.FromJust() != ABSENT; |
} |
if (!done && |
@@ -3118,9 +3118,9 @@ MaybeHandle<Object> Object::SetPropertyInternal(LookupIterator* it, |
Maybe<PropertyAttributes> maybe_attributes = |
JSObject::GetPropertyAttributesWithInterceptor( |
it->GetHolder<JSObject>(), it->GetReceiver(), it->name()); |
- if (!maybe_attributes.has_value) return MaybeHandle<Object>(); |
- done = maybe_attributes.value != ABSENT; |
- if (done && (maybe_attributes.value & READ_ONLY) != 0) { |
+ if (!maybe_attributes.IsJust()) return MaybeHandle<Object>(); |
+ done = maybe_attributes.FromJust() != ABSENT; |
+ if (done && (maybe_attributes.FromJust() & READ_ONLY) != 0) { |
return WriteToReadOnlyProperty(it, value, language_mode); |
} |
} |
@@ -4162,7 +4162,7 @@ void JSObject::AddProperty(Handle<JSObject> object, Handle<Name> name, |
DCHECK(!object->IsJSProxy()); |
DCHECK(!name->AsArrayIndex(&index)); |
Maybe<PropertyAttributes> maybe = GetPropertyAttributes(&it); |
- DCHECK(maybe.has_value); |
+ DCHECK(maybe.IsJust()); |
DCHECK(!it.IsFound()); |
DCHECK(object->map()->is_extensible() || |
it.isolate()->IsInternallyUsedPropertyName(name)); |
@@ -4357,8 +4357,8 @@ Maybe<PropertyAttributes> JSReceiver::GetPropertyAttributes( |
Maybe<PropertyAttributes> result = |
JSObject::GetPropertyAttributesWithInterceptor( |
it->GetHolder<JSObject>(), it->GetReceiver(), it->name()); |
- if (!result.has_value) return result; |
- if (result.value != ABSENT) return result; |
+ if (!result.IsJust()) return result; |
+ if (result.FromJust() != ABSENT) return result; |
break; |
} |
case LookupIterator::ACCESS_CHECK: |
@@ -4418,8 +4418,9 @@ Maybe<PropertyAttributes> JSObject::GetElementAttributeWithInterceptor( |
Maybe<PropertyAttributes> from_interceptor = |
GetElementAttributeFromInterceptor(object, receiver, index); |
- if (!from_interceptor.has_value) return Nothing<PropertyAttributes>(); |
- if (from_interceptor.value != ABSENT) return Just(from_interceptor.value); |
+ if (!from_interceptor.IsJust()) return Nothing<PropertyAttributes>(); |
+ if (from_interceptor.FromJust() != ABSENT) |
+ return Just(from_interceptor.FromJust()); |
return GetElementAttributeWithoutInterceptor(object, receiver, index, |
check_prototype); |
@@ -5086,8 +5087,8 @@ bool JSObject::HasHiddenProperties(Handle<JSObject> object) { |
LookupIterator it(object, hidden, LookupIterator::OWN_SKIP_INTERCEPTOR); |
Maybe<PropertyAttributes> maybe = GetPropertyAttributes(&it); |
// Cannot get an exception since the hidden_string isn't accessible to JS. |
- DCHECK(maybe.has_value); |
- return maybe.value != ABSENT; |
+ DCHECK(maybe.IsJust()); |
+ return maybe.FromJust() != ABSENT; |
} |
@@ -5262,8 +5263,8 @@ MaybeHandle<Object> JSObject::DeleteElement(Handle<JSObject> object, |
bool should_enqueue_change_record = false; |
if (object->map()->is_observed()) { |
Maybe<bool> maybe = HasOwnElement(object, index); |
- if (!maybe.has_value) return MaybeHandle<Object>(); |
- should_enqueue_change_record = maybe.value; |
+ if (!maybe.IsJust()) return MaybeHandle<Object>(); |
+ should_enqueue_change_record = maybe.FromJust(); |
if (should_enqueue_change_record) { |
if (!GetOwnElementAccessorPair(object, index).is_null()) { |
old_value = Handle<Object>::cast(factory->the_hole_value()); |
@@ -5287,8 +5288,8 @@ MaybeHandle<Object> JSObject::DeleteElement(Handle<JSObject> object, |
if (should_enqueue_change_record) { |
Maybe<bool> maybe = HasOwnElement(object, index); |
- if (!maybe.has_value) return MaybeHandle<Object>(); |
- if (!maybe.value) { |
+ if (!maybe.IsJust()) return MaybeHandle<Object>(); |
+ if (!maybe.FromJust()) { |
Handle<String> name = factory->Uint32ToString(index); |
RETURN_ON_EXCEPTION( |
isolate, EnqueueChangeRecord(object, "delete", name, old_value), |
@@ -5939,8 +5940,8 @@ MaybeHandle<JSObject> JSObjectWalkVisitor<ContextObject>::StructureWalk( |
Handle<String> key_string(String::cast(names->get(i))); |
Maybe<PropertyAttributes> maybe = |
JSReceiver::GetOwnPropertyAttributes(copy, key_string); |
- DCHECK(maybe.has_value); |
- PropertyAttributes attributes = maybe.value; |
+ DCHECK(maybe.IsJust()); |
+ PropertyAttributes attributes = maybe.FromJust(); |
// Only deep copy fields from the object literal expression. |
// In particular, don't try to copy the length attribute of |
// an array. |
@@ -6599,18 +6600,18 @@ MaybeHandle<Object> JSObject::DefineAccessor(Handle<JSObject> object, |
Maybe<bool> maybe = HasOwnElement(object, index); |
// Workaround for a GCC 4.4.3 bug which leads to "‘preexists’ may be used |
// uninitialized in this function". |
- if (!maybe.has_value) { |
+ if (!maybe.IsJust()) { |
DCHECK(false); |
return isolate->factory()->undefined_value(); |
} |
- preexists = maybe.value; |
+ preexists = maybe.FromJust(); |
if (preexists && GetOwnElementAccessorPair(object, index).is_null()) { |
old_value = |
Object::GetElement(isolate, object, index).ToHandleChecked(); |
} |
} else { |
LookupIterator it(object, name, LookupIterator::HIDDEN_SKIP_INTERCEPTOR); |
- CHECK(GetPropertyAttributes(&it).has_value); |
+ CHECK(GetPropertyAttributes(&it).IsJust()); |
preexists = it.IsFound(); |
if (preexists && (it.state() == LookupIterator::DATA || |
it.GetAccessors()->IsAccessorInfo())) { |
@@ -6716,7 +6717,7 @@ MaybeHandle<Object> JSObject::SetAccessor(Handle<JSObject> object, |
} else { |
// Lookup the name. |
LookupIterator it(object, name, LookupIterator::HIDDEN_SKIP_INTERCEPTOR); |
- CHECK(GetPropertyAttributes(&it).has_value); |
+ CHECK(GetPropertyAttributes(&it).IsJust()); |
// ES5 forbids turning a property into an accessor if it's not |
// configurable. See 8.6.1 (Table 5). |
if (it.IsFound() && (it.IsReadOnly() || !it.IsConfigurable())) { |
@@ -11804,9 +11805,9 @@ static bool GetOldValue(Isolate* isolate, |
List<uint32_t>* indices) { |
Maybe<PropertyAttributes> maybe = |
JSReceiver::GetOwnElementAttribute(object, index); |
- DCHECK(maybe.has_value); |
- DCHECK(maybe.value != ABSENT); |
- if (maybe.value == DONT_DELETE) return false; |
+ DCHECK(maybe.IsJust()); |
+ DCHECK(maybe.FromJust() != ABSENT); |
+ if (maybe.FromJust() == DONT_DELETE) return false; |
Handle<Object> value; |
if (!JSObject::GetOwnElementAccessorPair(object, index).is_null()) { |
value = Handle<Object>::cast(isolate->factory()->the_hole_value()); |
@@ -13086,8 +13087,8 @@ MaybeHandle<Object> JSObject::SetElement(Handle<JSObject> object, |
Maybe<PropertyAttributes> maybe = |
JSReceiver::GetOwnElementAttribute(object, index); |
- if (!maybe.has_value) return MaybeHandle<Object>(); |
- PropertyAttributes old_attributes = maybe.value; |
+ if (!maybe.IsJust()) return MaybeHandle<Object>(); |
+ PropertyAttributes old_attributes = maybe.FromJust(); |
Handle<Object> old_value = isolate->factory()->the_hole_value(); |
Handle<Object> old_length_handle; |
@@ -13117,8 +13118,8 @@ MaybeHandle<Object> JSObject::SetElement(Handle<JSObject> object, |
Handle<String> name = isolate->factory()->Uint32ToString(index); |
maybe = GetOwnElementAttribute(object, index); |
- if (!maybe.has_value) return MaybeHandle<Object>(); |
- PropertyAttributes new_attributes = maybe.value; |
+ if (!maybe.IsJust()) return MaybeHandle<Object>(); |
+ PropertyAttributes new_attributes = maybe.FromJust(); |
if (old_attributes == ABSENT) { |
if (object->IsJSArray() && |
@@ -13915,7 +13916,7 @@ Maybe<bool> JSObject::HasRealNamedProperty(Handle<JSObject> object, |
Handle<Name> key) { |
LookupIterator it(object, key, LookupIterator::OWN_SKIP_INTERCEPTOR); |
Maybe<PropertyAttributes> maybe_result = GetPropertyAttributes(&it); |
- if (!maybe_result.has_value) return Nothing<bool>(); |
+ if (!maybe_result.IsJust()) return Nothing<bool>(); |
return Just(it.IsFound()); |
} |
@@ -13944,7 +13945,7 @@ Maybe<bool> JSObject::HasRealElementProperty(Handle<JSObject> object, |
Maybe<PropertyAttributes> result = |
GetElementAttributeWithoutInterceptor(object, object, index, false); |
- return result.has_value ? Just(result.value != ABSENT) : Nothing<bool>(); |
+ return result.IsJust() ? Just(result.FromJust() != ABSENT) : Nothing<bool>(); |
} |
@@ -13952,8 +13953,8 @@ Maybe<bool> JSObject::HasRealNamedCallbackProperty(Handle<JSObject> object, |
Handle<Name> key) { |
LookupIterator it(object, key, LookupIterator::OWN_SKIP_INTERCEPTOR); |
Maybe<PropertyAttributes> maybe_result = GetPropertyAttributes(&it); |
- return maybe_result.has_value ? Just(it.state() == LookupIterator::ACCESSOR) |
- : Nothing<bool>(); |
+ return maybe_result.IsJust() ? Just(it.state() == LookupIterator::ACCESSOR) |
+ : Nothing<bool>(); |
} |