diff options
Diffstat (limited to 'deps/v8/src/temporal/temporal-parser.cc')
-rw-r--r-- | deps/v8/src/temporal/temporal-parser.cc | 12 |
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) |