소스 검색

LibJS: Add a named alias for parseResult.[[Name]] in ToTemporalTimeZone

This is an editorial change in the Temporal spec.

See: https://github.com/tc39/proposal-temporal/commit/8ddcb07
Linus Groh 3 년 전
부모
커밋
cf61d01140
1개의 변경된 파일14개의 추가작업 그리고 11개의 파일을 삭제
  1. 14 11
      Userland/Libraries/LibJS/Runtime/Temporal/TimeZone.cpp

+ 14 - 11
Userland/Libraries/LibJS/Runtime/Temporal/TimeZone.cpp

@@ -454,21 +454,24 @@ ThrowCompletionOr<Object*> to_temporal_time_zone(GlobalObject& global_object, Va
 
 
     // 4. If parseResult.[[Name]] is not undefined, then
     // 4. If parseResult.[[Name]] is not undefined, then
     if (parse_result.name.has_value()) {
     if (parse_result.name.has_value()) {
-        // a. If ParseText(StringToCodePoints(parseResult.[[Name]], TimeZoneNumericUTCOffset)) is not a List of errors, then
-        if (is_valid_time_zone_numeric_utc_offset_syntax(*parse_result.name)) {
-            // i. If parseResult.[[OffsetString]] is not undefined, and ! ParseTimeZoneOffsetString(parseResult.[[OffsetString]]) ≠ ! ParseTimeZoneOffsetString(parseResult.[[Name]]), throw a RangeError exception.
-            if (parse_result.offset_string.has_value() && (MUST(parse_time_zone_offset_string(global_object, *parse_result.offset_string)) != MUST(parse_time_zone_offset_string(global_object, *parse_result.name))))
-                return vm.throw_completion<RangeError>(global_object, ErrorType::TemporalTimeZoneOffsetStringMismatch, *parse_result.offset_string, *parse_result.name);
+        // a. Let name be parseResult.[[Name]].
+        auto& name = *parse_result.name;
+
+        // b. If ParseText(StringToCodePoints(name, TimeZoneNumericUTCOffset)) is not a List of errors, then
+        if (is_valid_time_zone_numeric_utc_offset_syntax(name)) {
+            // i. If parseResult.[[OffsetString]] is not undefined, and ! ParseTimeZoneOffsetString(parseResult.[[OffsetString]]) ≠ ! ParseTimeZoneOffsetString(name), throw a RangeError exception.
+            if (parse_result.offset_string.has_value() && (MUST(parse_time_zone_offset_string(global_object, *parse_result.offset_string)) != MUST(parse_time_zone_offset_string(global_object, name))))
+                return vm.throw_completion<RangeError>(global_object, ErrorType::TemporalTimeZoneOffsetStringMismatch, *parse_result.offset_string, name);
         }
         }
-        // b. Else,
+        // c. Else,
         else {
         else {
-            // i. If IsValidTimeZoneName(parseResult.[[Name]]) is false, throw a RangeError exception.
-            if (!is_valid_time_zone_name(*parse_result.name))
-                return vm.throw_completion<RangeError>(global_object, ErrorType::TemporalInvalidTimeZoneName, *parse_result.name);
+            // i. If IsValidTimeZoneName(name) is false, throw a RangeError exception.
+            if (!is_valid_time_zone_name(name))
+                return vm.throw_completion<RangeError>(global_object, ErrorType::TemporalInvalidTimeZoneName, name);
         }
         }
 
 
-        // c. Return ! CreateTemporalTimeZone(! CanonicalizeTimeZoneName(parseResult.[[Name]])).
-        return MUST(create_temporal_time_zone(global_object, canonicalize_time_zone_name(*parse_result.name)));
+        // c. Return ! CreateTemporalTimeZone(! CanonicalizeTimeZoneName(name)).
+        return MUST(create_temporal_time_zone(global_object, canonicalize_time_zone_name(name)));
     }
     }
 
 
     // 5. If parseResult.[[Z]] is true, return ! CreateTemporalTimeZone("UTC").
     // 5. If parseResult.[[Z]] is true, return ! CreateTemporalTimeZone("UTC").