Map failures with temporal keys using timezones under advanced closure compilation.
When maps are merged with keys involving timezone-adjusted values, under advanced closure compiler optimisation, duplicate key errors can be raised, which are not under simple optimisation (i.e. SaxonJS2.debug.js).
map-size-014 is an example.
The issue is in
return ("timezoneOffset" in n) && n.timezoneOffset !== null;
where under CC advanced optimisation the property
timezoneOffset has been renamed, and thus the
"timezoneOffset" in n check fails. The intention seems to be to only check if there is a
timezoneOffset defined, and it is not null.
Simply changing to
timezoneOffset.n && n.timezoneOffset !== null;
corrects these faults but introduces three others, in
This might be rather tricky without 'reserving' the
timezoneOffset property - trying to determine the existence of renamed properties.
Updated by Debbie Lockett almost 3 years ago
- Category set to XPath Conformance
- Status changed from In Progress to Resolved
- Assignee set to Debbie Lockett
- Applies to JS Branch 2.0 added
- Fix Committed on JS Branch 2.0 added
Code fix was committed on 2021-02-03 to pass the tests (but I hadn't actually realised this bug existed):
n.timezoneOffset !== undefined && n.timezoneOffset !== null;
Please register to edit this issue