Commit Graph

733 Commits

Author SHA1 Message Date
Brian Wilkerson 54fc28ec25 Migrate remaining unblocked tests
Change-Id: I30e3c22db7df6e78be88125f20eea2dce054f446
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/195860
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-04-19 15:57:38 +00:00
Konstantin Shcheglov 26d9fbbd04 Add getResolvedUnit2(), deprecate getResolvedUnit().
Change-Id: I0217fefb2747f2f9bd757bc041b53acaf3d1a8f1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/195495
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2021-04-16 21:33:54 +00:00
Brian Wilkerson 41641e9c8f Migrate more completion support
Change-Id: I073972400bb79166a836e517e268452a03b64f52
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/195040
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-04-12 16:30:16 +00:00
Brian Wilkerson 77cfcff92f Migrate postfix completion
Change-Id: I92a96785777c651fef7c8a68762c954ba652d68f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/194964
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-04-12 14:12:21 +00:00
Brian Wilkerson ecdb3689b9 Migrate widget descriptions
Change-Id: I2c6cd72b5572ff30642a5c836adea8839fe2e964
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/194965
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-04-12 14:08:16 +00:00
Brian Wilkerson 9b1583101e Migrate statement completion support
Change-Id: I9d6751888286e4a068fc1dac192c93ffb8089b69
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/194963
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2021-04-11 15:28:25 +00:00
Brian Wilkerson 52d3191dfd Make completionOffset non-nullable as per earlier feedback
Change-Id: I41eb78f804081b34799716a42c5d3d5e2ece51d3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/194902
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-04-10 19:54:24 +00:00
Brian Wilkerson 08c5b9f8ff Migrate more completion support
Change-Id: Ia55132ef8f4cd6e80dfc4fe16689e8b4e50cf387
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/194821
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2021-04-09 22:40:03 +00:00
Konstantin Shcheglov e97f1bdbf0 Switch analysis_server to language 2.12, so null safety, but opt-out files.
This should allow doing partial migration, specifically protocol files,
which are imported by other libraries, but are a small library cycle
that does not import much outside of it.

Change-Id: I904c05d6d5b444ee9a9dbd1f7ada12aabdcc5165
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/193583
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-03-30 23:39:37 +00:00
Konstantin Shcheglov 92130a010e Tests for DAS services and generic annotations.
Change-Id: I063c78ae778366e60bb0d4aca55c4e7fd70f3d52
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/193091
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-03-25 23:38:24 +00:00
Sam Rawlins 1cb203d8c9 Remove unused code and files from analysis_server:
* ManifestFixKind, PubspecFixKind, ImportElementInfo class
* WithNullSafetyMixin mixin
* suggestionComparator function

Change-Id: I9e332be6345b2f2b7b788bc4ae63a075a21cbe06
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/190821
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2021-03-16 05:08:24 +00:00
Brian Wilkerson 2f3c274632 Clean up some code in analysis_server
Change-Id: Icaa4cc19d1966e3dbc70f82745e4fd771a18ed16
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/190728
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-03-12 04:45:39 +00:00
Brian Wilkerson d043b1428e Resolve type parameters to their bounds when suggesting instance members
Change-Id: I19fe690216ba0c0dd7d0444d7bda4a58aaa3e8a3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/190723
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-03-11 19:14:30 +00:00
Brian Wilkerson 84cafbde9d Remove some unused code from analysis_server
Change-Id: I369a93a9d67cf6a9346e0edcc439d34a8e959e3b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/189161
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-03-04 21:13:29 +00:00
Danny Tuppeny f03ec46eff [analyzer] Detect completion inside comments at the end of file
Fixes https://github.com/dart-lang/sdk/issues/33183.
Fixes https://github.com/Dart-Code/Dart-Code/issues/3170.

Change-Id: Ia8c76ace89e424f5cca08120282e886e7567ee2f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/188462
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-03-02 16:25:04 +00:00
Danny Tuppeny cc7bd35516 [analyzer] Support completing argument names in function expression invocations
Fixes https://github.com/dart-lang/sdk/issues/42064.

Change-Id: I186bef47771a56844833fc908c183358955e11ee
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/183940
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-02-09 21:44:32 +00:00
Brian Wilkerson c723dae62f Add missed tests for noSuchMethod relevance
Also renamed other tests in this directory to not duplicate the
directory name.

Change-Id: I8aec73c6e44ca05f385f21b32f9c5feef1df67ef
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/183121
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-02-05 18:33:57 +00:00
Brian Wilkerson 388b6ff746 Add failing tests for suggesting else in an if element
Change-Id: I8e04fc190a598c812da68b328e5e5628afa01cb4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/181880
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-01-30 21:09:17 +00:00
Konstantin Shcheglov 5c426d8d43 Add Element.aliasedType to the protocol.
R=brianwilkerson@google.com

Change-Id: I95fb2c9d50096f90913c4d6670ce0841095fe6a0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/181443
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2021-01-27 23:27:21 +00:00
Konstantin Shcheglov 974926e468 Update StaticMemberContributor to support completion via non-function type alias.
Change-Id: Ic59fba42a8ddad52a55f0f323dc199d78597a9c1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/181460
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2021-01-27 23:23:05 +00:00
Konstantin Shcheglov 3a5294c7e6 Fixes and tests for completion in non-function type aliases.
Change-Id: I69cf74380fc1c251e0f44334fdff17f327cafeaa
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/181341
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-01-27 19:27:35 +00:00
Konstantin Shcheglov 83a72e18f3 Switch completion tests to WithNonFunctionTypeAliasesMixin, updates and tests for suggesting non-function type aliases.
Change-Id: I0066d479b23b46e0aaaae43aebdc1bbc58336ad8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/181282
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2021-01-26 23:04:05 +00:00
Sam Rawlins 69cb9f7a67 Analyzer: Remove legacy parser (replaced by Fasta).
* Replace most of the implementation of Parser with the implementation
  found in _Parser2, which uses Fasta.
* Rework Parser constructor to do exactly what the previous factory
  constructor + _Parser2 constructor did.
* Remove _Parser2 and ParserAdapter.
* Remove `useFasta` argument in several places.
* Delete tests in parser_test.dart which only used the legacy parser.
* Move ParserProxy from parser_fasta_test.dart to parser_test.dart
* Remove ~240 cases of dead code like `if (useFasta)` and `useFasta ?`
  in tests.

Change-Id: Iea29a10ff83103293902336490fbc9cd46cd20ce
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175560
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-12-10 23:47:48 +00:00
Danny Tuppeny 0fa6674ea9 [Analyzer] Include required-named params in defaultArgumentListString and LSP complete-function-calls
Change-Id: I8b4c09305df6e868e7447c538be4a3b540aa7e57
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/174802
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-12-08 20:47:04 +00:00
Lasse R.H. Nielsen 6e29700e16 Update List constructor documentation, deprecate constructor.
Emphasize that the operation is going away,
and mark constructor as deprecated.

TEST= Refactoring+deprecation only, covered by existing tests.

Change-Id: I82aa044cd2cf7bf347b624371399f44bda8f4a07
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/173261
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Nate Bosch <nbosch@google.com>
2020-12-07 16:20:28 +00:00
Brian Wilkerson 94f6532bd9 Capture a couple of failing completions as tests
Change-Id: I9495bc60792821703373b68b2bd65650a241d343
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/173882
Reviewed-by: Jaime Wren <jwren@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2020-11-25 20:09:28 +00:00
Brian Wilkerson c6126c34e9 Suggest previously missed type parameters
Change-Id: I09361984b7a58a281769e5feb04aeb1656620237
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/173880
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Jaime Wren <jwren@google.com>
2020-11-25 00:13:49 +00:00
Brian Wilkerson 32d0d625b3 suggest loop variables defined in for elements
Change-Id: Ie01dabd21b5a37b07d965fc78876a2876b57ce4e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/173840
Reviewed-by: Jaime Wren <jwren@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2020-11-24 21:51:09 +00:00
Devon Carew f5e26456bf Remove the --completion-model flag from the analysis server.
Change-Id: I6bedbb0b5c4b8bedba18d2e3b788db0a9686f6df
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/172026
Commit-Queue: Devon Carew <devoncarew@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-11-16 03:31:18 +00:00
Brian Wilkerson c3f96e863f Remove uses of useNewRelevance and clean up associated code
Change-Id: I04dd3b33d229348042609c5a656d1ad68a95913d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/172120
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2020-11-15 00:18:07 +00:00
Brian Wilkerson d7b3812f51 Remove a duplication of analysis from some tests
Change-Id: Ib358b943519172afaf32ba9185ebec96c57beeda
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/171322
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2020-11-10 19:15:26 +00:00
Brian Wilkerson 0d222cc712 Throw an exception when an attempt is made to produce conflicting edits.
Change-Id: I826cd1771a61685f76314b3ec0125cfc0364b700
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/170800
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2020-11-10 15:56:06 +00:00
Devon Carew 5871cfb23c [analysis server] remove older analysis server flags
Change-Id: I4384c98a067467def91e2b769d711069ad057a27
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/170801
Commit-Queue: Devon Carew <devoncarew@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2020-11-09 03:54:58 +00:00
Konstantin Shcheglov d484a6f09f Remove support for experiments in Analysis Server options.
analysis_options.yaml should be used instead.

Change-Id: I02a03667d5de5c9e764e30ff3c77b8df6deaa221
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/169941
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-10-30 20:46:02 +00:00
Konstantin Shcheglov a074c793b8 Rename to resolveTestCode() and resolveTestFile().
Change-Id: I69a598c5acef86c6a59212648496569423007ea0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/169242
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-10-27 19:35:47 +00:00
Konstantin Shcheglov d9d7324b27 Issue 43777. Update analysis_server/ tests to run when Null Safety is enabled by default in 2.12
Bug: https://github.com/dart-lang/sdk/issues/43777
Change-Id: Ibd1da16b58b8304d6f1d4260615c7049fc5ffe59
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/169141
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
2020-10-27 18:19:33 +00:00
Mike Fairhurst cd7ca6b26f [analysis_server] Fix type nullability for "add try" fix
You can't throw null, so can't catch nullable types.

Ensure we don't print '*' in any case.

Handle nested types.

Change-Id: I69119bf6e7424d1a8771bd1f7d2fcc98b692cf9c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/163130
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2020-09-18 01:21:41 +00:00
Mike Fairhurst ad3deac7d9 [analysis_server] Show correct nullability for required parameters
Change-Id: I13f2f4693370e5e445bb3d2065a17b698be45e75
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/162862
Auto-Submit: Mike Fairhurst <mfairhurst@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2020-09-16 21:44:29 +00:00
Mike Fairhurst e395675d0b [analysis_server] Show correct nullability for named parameters
Change-Id: Ia0aedc01493ef6a1bccbdbcfee5fd70ec3ef02db
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/162820
Auto-Submit: Mike Fairhurst <mfairhurst@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-09-16 21:10:49 +00:00
Mike Fairhurst 1134a0f17c [analysis_server] Remove unused dart:async imports
Change-Id: I764ee78cb9e31bdb3abaa36ca4754e1fed180311
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/161447
Auto-Submit: Mike Fairhurst <mfairhurst@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2020-09-02 17:29:52 +00:00
Brian Wilkerson 680f3b51ca Suggest named parameter names in a super constructor invocation
Change-Id: Ibe095cab1473aefd3a1067bb0264a115f44c05d3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/159964
Reviewed-by: Jaime Wren <jwren@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2020-08-24 20:42:07 +00:00
Konstantin Shcheglov c4f3bfb5cb Rename PackagesContent to MockPackages.
We have MockPackages in DAS, although implementation is quite
different. At some point we might want to unify them. But for now
just name it similarly.

R=brianwilkerson@google.com

Change-Id: Id4bb2b16b845368d99260200f1172562362a8beb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/158148
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-08-11 20:33:59 +00:00
Konstantin Shcheglov d68227dfe0 Remove PackageMixin.
R=brianwilkerson@google.com

Change-Id: I801d64f919e8e8fded0e08ebc6e9ac2b8ece4b32
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/158142
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-08-11 17:20:39 +00:00
Devon Carew 57b192a0fc [analyzer] remove the completion language model file
Bug: https://github.com/dart-lang/sdk/issues/42988
Change-Id: I3988f08eb9a7480aacb4a7be79f537595807a3c0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/158067
Reviewed-by: Keerti Parthasarathy <keertip@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2020-08-11 14:46:59 +00:00
Paul Berry d4e4abdef6 External field support: add a notion of external fields to the AST and element model.
In follow-up CLs I will update error reporting logic.

Change-Id: Id07b861aa117b93e0c869ad0b52c048085706ee6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/157801
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2020-08-10 21:54:54 +00:00
Brian Wilkerson 14a6aac97b Stop testing the relevance of suggestions
Change-Id: Ic18d329280ff995e3ed4c33d2cf124e3ce0aea8f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/157420
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2020-08-06 04:48:26 +00:00
Paul Berry b5a3292260 Abstract field support: add a notion of abstract fields to the AST and element model.
In a follow-up CL I will update error reporting logic.

Change-Id: I6fd2916c24a531b1f41bd2872301ffec1fdb8722
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/157382
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2020-08-06 02:19:46 +00:00
Brian Wilkerson 5f38d69b5e Fix a bug in ExtensionMemberContributor when the extended type is not an interface type (issue 42945)
Change-Id: Iaa1e6d5c21ecd8d78db68d49bc624d661f23978b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/157345
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2020-08-05 20:47:59 +00:00
Konstantin Shcheglov c2d28d1569 Rename Null Safety tests.
R=brianwilkerson@google.com

Change-Id: I9276244cab52cb5c0f2687052f2a3df9a9fd48b2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155720
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-07-24 00:26:08 +00:00
Jaime Wren 1a60f94fd0 Add two failing tests in the local_reference_contributor_test.dart, after some for(var foo ...) ^, the completion is in the implicit statement which is in the scope of the foo declaration.
I imagine that similar tests could/ should be written for other such ASTs.

Change-Id: Iea059af339e5dec34a937ed2c28fe55fdb072fc6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/153100
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Jaime Wren <jwren@google.com>
2020-07-06 17:06:10 +00:00