summaryrefslogtreecommitdiff
path: root/deps/v8/src/temporal/temporal-parser.cc
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/temporal/temporal-parser.cc')
-rw-r--r--deps/v8/src/temporal/temporal-parser.cc12
1 files changed, 7 insertions, 5 deletions
diff --git a/deps/v8/src/temporal/temporal-parser.cc b/deps/v8/src/temporal/temporal-parser.cc
index a4468b05d4..0675b7721a 100644
--- a/deps/v8/src/temporal/temporal-parser.cc
+++ b/deps/v8/src/temporal/temporal-parser.cc
@@ -1187,20 +1187,22 @@ SATISIFY(TemporalDurationString, ParsedISO8601Duration)
} // namespace
#define IMPL_PARSE_METHOD(R, NAME) \
- Maybe<R> TemporalParser::Parse##NAME( \
- Isolate* isolate, Handle<String> iso_string, bool* valid) { \
+ Maybe<R> TemporalParser::Parse##NAME(Isolate* isolate, \
+ Handle<String> iso_string) { \
+ bool valid; \
R parsed; \
iso_string = String::Flatten(isolate, iso_string); \
{ \
DisallowGarbageCollection no_gc; \
String::FlatContent str_content = iso_string->GetFlatContent(no_gc); \
if (str_content.IsOneByte()) { \
- *valid = Satisfy##NAME(str_content.ToOneByteVector(), &parsed); \
+ valid = Satisfy##NAME(str_content.ToOneByteVector(), &parsed); \
} else { \
- *valid = Satisfy##NAME(str_content.ToUC16Vector(), &parsed); \
+ valid = Satisfy##NAME(str_content.ToUC16Vector(), &parsed); \
} \
} \
- return Just(parsed); \
+ if (valid) return Just(parsed); \
+ return Nothing<R>(); \
}
IMPL_PARSE_METHOD(ParsedISO8601Result, TemporalDateTimeString)