Commit 341f4d41ad7 for woocommerce

commit 341f4d41ad71e7a5421ed9aed92324679bcfcd7d
Author: Ján Mikláš <neosinner@gmail.com>
Date:   Thu Oct 22 13:14:14 2026 +0200

    Fully qualify stdClass and DateTime in Analytics report docblocks (#70115)

    * Fully qualify stdClass in Analytics report data store docblocks

    Unqualified stdClass (and WP_Error in the same tags) resolved to non-existent
    classes in the Automattic\WooCommerce\Admin\API\Reports namespaces. Tags where a
    real type would surface new PHPStan errors are left unchanged.

    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_01PzHbovXvgm6WhuDyzk2dJX

    * Fully qualify DateTime in Analytics report interval docblocks

    Without a leading backslash these resolve to Automattic\WooCommerce\Admin\API\Reports\DateTime, which does not exist. With the real type, PHPStan sees three more findings: the unreachable `return null` in TimeInterval::quarter() is removed (a month 1-12 always matches a case), the date bounds read from $query_args get a @var because normalize_timezones() converts them to DateTime, and next_week_start() returning DateTime|false stays in the baseline.

    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_01PzHbovXvgm6WhuDyzk2dJX

    * Add changelog entry for Analytics report docblock cleanup

    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_01PzHbovXvgm6WhuDyzk2dJX

    ---------

    Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

diff --git a/plugins/woocommerce/changelog/wooprd-3891-woocommerce-core-fully-qualify-stdclass-and-datetime-in b/plugins/woocommerce/changelog/wooprd-3891-woocommerce-core-fully-qualify-stdclass-and-datetime-in
new file mode 100644
index 00000000000..813e7a68a1e
--- /dev/null
+++ b/plugins/woocommerce/changelog/wooprd-3891-woocommerce-core-fully-qualify-stdclass-and-datetime-in
@@ -0,0 +1,3 @@
+Significance: patch
+Type: dev
+Comment: Fully qualify stdClass and DateTime in Analytics report docblocks and prune the PHPStan baseline; no production change.
diff --git a/plugins/woocommerce/phpstan-baseline.neon b/plugins/woocommerce/phpstan-baseline.neon
index 3351be5a359..b38361c492a 100644
--- a/plugins/woocommerce/phpstan-baseline.neon
+++ b/plugins/woocommerce/phpstan-baseline.neon
@@ -39813,36 +39813,6 @@ parameters:
 			count: 1
 			path: src/Admin/API/Reports/Categories/DataStore.php

-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Categories\\DataStore\:\:get_noncached_data\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\Categories\\WP_Error\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/Categories/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Categories\\DataStore\:\:get_noncached_data\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\Categories\\stdClass\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/Categories/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Categories\\DataStore\:\:get_noncached_data\(\) should return Automattic\\WooCommerce\\Admin\\API\\Reports\\Categories\\stdClass\|Automattic\\WooCommerce\\Admin\\API\\Reports\\Categories\\WP_Error but returns WP_Error\.$#'
-			identifier: return.type
-			count: 1
-			path: src/Admin/API/Reports/Categories/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Categories\\DataStore\:\:get_noncached_data\(\) should return Automattic\\WooCommerce\\Admin\\API\\Reports\\Categories\\stdClass\|Automattic\\WooCommerce\\Admin\\API\\Reports\\Categories\\WP_Error but returns object\{data\: array, total\: int, pages\: int, page_no\: int\}&stdClass\.$#'
-			identifier: return.type
-			count: 1
-			path: src/Admin/API/Reports/Categories/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Categories\\DataStore\:\:get_noncached_data\(\) should return Automattic\\WooCommerce\\Admin\\API\\Reports\\Categories\\stdClass\|Automattic\\WooCommerce\\Admin\\API\\Reports\\Categories\\WP_Error but returns object\{data\: array\<array\|Automattic\\WooCommerce\\Admin\\API\\Reports\\WP_Error\>, total\: int, pages\: int, page_no\: int\}&stdClass\.$#'
-			identifier: return.type
-			count: 1
-			path: src/Admin/API/Reports/Categories/DataStore.php
-
 		-
 			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Categories\\DataStore\:\:include_extended_info\(\) has no return type specified\.$#'
 			identifier: missingType.return
@@ -39879,30 +39849,6 @@ parameters:
 			count: 1
 			path: src/Admin/API/Reports/Controller.php

-		-
-			message: '#^Access to property \$description on an unknown class Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/Controller.php
-
-		-
-			message: '#^Access to property \$path on an unknown class Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass\.$#'
-			identifier: class.notFound
-			count: 2
-			path: src/Admin/API/Reports/Controller.php
-
-		-
-			message: '#^Access to property \$slug on an unknown class Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/Controller.php
-
-		-
-			message: '#^Access to property \$url on an unknown class Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/Controller.php
-
 		-
 			message: '#^Cannot call method get_formatted_order_total\(\) on WC_Order\|WC_Order_Refund\|false\.$#'
 			identifier: method.nonObject
@@ -39969,12 +39915,6 @@ parameters:
 			count: 4
 			path: src/Admin/API/Reports/Controller.php

-		-
-			message: '#^Parameter \#1 \$report of method Automattic\\WooCommerce\\Admin\\API\\Reports\\Controller\:\:prepare_item_for_response\(\) expects Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass, stdClass given\.$#'
-			identifier: argument.type
-			count: 1
-			path: src/Admin/API/Reports/Controller.php
-
 		-
 			message: '#^Parameter \#1 \$response of method WP_REST_Controller\:\:prepare_response_for_collection\(\) expects WP_REST_Response, Automattic\\WooCommerce\\Admin\\API\\Reports\\WP_REST_Response given\.$#'
 			identifier: argument.type
@@ -39999,12 +39939,6 @@ parameters:
 			count: 1
 			path: src/Admin/API/Reports/Controller.php

-		-
-			message: '#^Parameter \$report of method Automattic\\WooCommerce\\Admin\\API\\Reports\\Controller\:\:prepare_item_for_response\(\) has invalid type Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/Controller.php
-
 		-
 			message: '#^Parameter \$request of method Automattic\\WooCommerce\\Admin\\API\\Reports\\Controller\:\:get_items\(\) has invalid type Automattic\\WooCommerce\\Admin\\API\\Reports\\WP_REST_Request\.$#'
 			identifier: class.notFound
@@ -40089,30 +40023,6 @@ parameters:
 			count: 1
 			path: src/Admin/API/Reports/Coupons/DataStore.php

-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Coupons\\DataStore\:\:get_noncached_data\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\Coupons\\WP_Error\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/Coupons/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Coupons\\DataStore\:\:get_noncached_data\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\Coupons\\stdClass\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/Coupons/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Coupons\\DataStore\:\:get_noncached_data\(\) should return Automattic\\WooCommerce\\Admin\\API\\Reports\\Coupons\\stdClass\|Automattic\\WooCommerce\\Admin\\API\\Reports\\Coupons\\WP_Error but returns object\{data\: array, total\: int, pages\: int, page_no\: int\}&stdClass\.$#'
-			identifier: return.type
-			count: 2
-			path: src/Admin/API/Reports/Coupons/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Coupons\\DataStore\:\:get_noncached_data\(\) should return Automattic\\WooCommerce\\Admin\\API\\Reports\\Coupons\\stdClass\|Automattic\\WooCommerce\\Admin\\API\\Reports\\Coupons\\WP_Error but returns object\{data\: array\<array\|Automattic\\WooCommerce\\Admin\\API\\Reports\\WP_Error\>, total\: int, pages\: int, page_no\: int\}&stdClass\.$#'
-			identifier: return.type
-			count: 1
-			path: src/Admin/API/Reports/Coupons/DataStore.php
-
 		-
 			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Coupons\\DataStore\:\:include_extended_info\(\) has no return type specified\.$#'
 			identifier: missingType.return
@@ -40173,72 +40083,12 @@ parameters:
 			count: 1
 			path: src/Admin/API/Reports/Coupons/Stats/Controller.php

-		-
-			message: '#^$#'
-			identifier: class.notFound
-			count: 4
-			path: src/Admin/API/Reports/Coupons/Stats/DataStore.php
-
-		-
-			message: '#^Access to property \$intervals on an unknown class Automattic\\WooCommerce\\Admin\\API\\Reports\\Coupons\\Stats\\WP_Error\.$#'
-			identifier: class.notFound
-			count: 3
-			path: src/Admin/API/Reports/Coupons/Stats/DataStore.php
-
-		-
-			message: '#^Access to property \$intervals on an unknown class Automattic\\WooCommerce\\Admin\\API\\Reports\\Coupons\\Stats\\stdClass\.$#'
-			identifier: class.notFound
-			count: 7
-			path: src/Admin/API/Reports/Coupons/Stats/DataStore.php
-
-		-
-			message: '#^Access to property \$totals on an unknown class Automattic\\WooCommerce\\Admin\\API\\Reports\\Coupons\\Stats\\stdClass\.$#'
-			identifier: class.notFound
-			count: 2
-			path: src/Admin/API/Reports/Coupons/Stats/DataStore.php
-
 		-
 			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Coupons\\Stats\\DataStore\:\:assign_report_columns\(\) has no return type specified\.$#'
 			identifier: missingType.return
 			count: 1
 			path: src/Admin/API/Reports/Coupons/Stats/DataStore.php

-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Coupons\\Stats\\DataStore\:\:get_noncached_data\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\WP_Error\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/Coupons/Stats/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Coupons\\Stats\\DataStore\:\:get_noncached_data\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/Coupons/Stats/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Coupons\\Stats\\DataStore\:\:get_noncached_data\(\) should return Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass\|Automattic\\WooCommerce\\Admin\\API\\Reports\\WP_Error but returns Automattic\\WooCommerce\\Admin\\API\\Reports\\Coupons\\Stats\\stdClass\|Automattic\\WooCommerce\\Admin\\API\\Reports\\Coupons\\Stats\\WP_Error\|\(object\{totals\: null, intervals\: array, total\: int, pages\: int, page_no\: int\}&stdClass\)\.$#'
-			identifier: return.type
-			count: 1
-			path: src/Admin/API/Reports/Coupons/Stats/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Coupons\\Stats\\DataStore\:\:get_noncached_stats_data\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\Coupons\\Stats\\WP_Error\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/Coupons/Stats/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Coupons\\Stats\\DataStore\:\:get_noncached_stats_data\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\Coupons\\Stats\\stdClass\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/Coupons/Stats/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Coupons\\Stats\\DataStore\:\:get_noncached_stats_data\(\) should return Automattic\\WooCommerce\\Admin\\API\\Reports\\Coupons\\Stats\\stdClass\|Automattic\\WooCommerce\\Admin\\API\\Reports\\Coupons\\Stats\\WP_Error but returns Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass\.$#'
-			identifier: return.type
-			count: 1
-			path: src/Admin/API/Reports/Coupons/Stats/DataStore.php
-
 		-
 			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Coupons\\Stats\\DataStore\:\:initialize_queries\(\) has no return type specified\.$#'
 			identifier: missingType.return
@@ -40257,30 +40107,6 @@ parameters:
 			count: 1
 			path: src/Admin/API/Reports/Coupons/Stats/DataStore.php

-		-
-			message: '#^Parameter \#1 \$data of method Automattic\\WooCommerce\\Admin\\API\\Reports\\Segmenter\:\:add_intervals_segments\(\) expects Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass, Automattic\\WooCommerce\\Admin\\API\\Reports\\Coupons\\Stats\\stdClass\|Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass given\.$#'
-			identifier: argument.type
-			count: 1
-			path: src/Admin/API/Reports/Coupons/Stats/DataStore.php
-
-		-
-			message: '#^Parameter \#3 \$data of method Automattic\\WooCommerce\\Admin\\API\\Reports\\Coupons\\Stats\\DataStore\:\:get_noncached_stats_data\(\) expects Automattic\\WooCommerce\\Admin\\API\\Reports\\Coupons\\Stats\\stdClass, object\{totals\: null, intervals\: array, total\: int, pages\: int, page_no\: int\}&stdClass given\.$#'
-			identifier: argument.type
-			count: 1
-			path: src/Admin/API/Reports/Coupons/Stats/DataStore.php
-
-		-
-			message: '#^Parameter \#5 \$data of method Automattic\\WooCommerce\\Admin\\API\\Reports\\DataStore\:\:fill_in_missing_intervals\(\) expects Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass, Automattic\\WooCommerce\\Admin\\API\\Reports\\Coupons\\Stats\\stdClass given\.$#'
-			identifier: argument.type
-			count: 1
-			path: src/Admin/API/Reports/Coupons/Stats/DataStore.php
-
-		-
-			message: '#^Parameter \$data of method Automattic\\WooCommerce\\Admin\\API\\Reports\\Coupons\\Stats\\DataStore\:\:get_noncached_stats_data\(\) has invalid type Automattic\\WooCommerce\\Admin\\API\\Reports\\Coupons\\Stats\\stdClass\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/Coupons/Stats/DataStore.php
-
 		-
 			message: '#^Call to an undefined method WC_Data_Store\:\:get_data\(\)\.$#'
 			identifier: method.notFound
@@ -40467,30 +40293,6 @@ parameters:
 			count: 1
 			path: src/Admin/API/Reports/Customers/DataStore.php

-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Customers\\DataStore\:\:get_noncached_data\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\Customers\\WP_Error\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/Customers/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Customers\\DataStore\:\:get_noncached_data\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\Customers\\stdClass\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/Customers/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Customers\\DataStore\:\:get_noncached_data\(\) should return Automattic\\WooCommerce\\Admin\\API\\Reports\\Customers\\stdClass\|Automattic\\WooCommerce\\Admin\\API\\Reports\\Customers\\WP_Error but returns object\{data\: array, total\: int, pages\: int, page_no\: int\}&stdClass\.$#'
-			identifier: return.type
-			count: 2
-			path: src/Admin/API/Reports/Customers/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Customers\\DataStore\:\:get_noncached_data\(\) should return Automattic\\WooCommerce\\Admin\\API\\Reports\\Customers\\stdClass\|Automattic\\WooCommerce\\Admin\\API\\Reports\\Customers\\WP_Error but returns object\{data\: array\<array\|Automattic\\WooCommerce\\Admin\\API\\Reports\\WP_Error\>, total\: int, pages\: int, page_no\: int\}&stdClass\.$#'
-			identifier: return.type
-			count: 1
-			path: src/Admin/API/Reports/Customers/DataStore.php
-
 		-
 			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Customers\\DataStore\:\:init\(\) has no return type specified\.$#'
 			identifier: missingType.return
@@ -40659,30 +40461,6 @@ parameters:
 			count: 6
 			path: src/Admin/API/Reports/DataStore.php

-		-
-			message: '#^Access to property \$intervals on an unknown class Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass\.$#'
-			identifier: class.notFound
-			count: 9
-			path: src/Admin/API/Reports/DataStore.php
-
-		-
-			message: '#^Access to property \$totals on an unknown class Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/DataStore.php
-
-		-
-			message: '#^Call to method format\(\) on an unknown class Automattic\\WooCommerce\\Admin\\API\\Reports\\DateTime\.$#'
-			identifier: class.notFound
-			count: 12
-			path: src/Admin/API/Reports/DataStore.php
-
-		-
-			message: '#^Call to method setTimestamp\(\) on an unknown class Automattic\\WooCommerce\\Admin\\API\\Reports\\DateTime\.$#'
-			identifier: class.notFound
-			count: 2
-			path: src/Admin/API/Reports/DataStore.php
-
 		-
 			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\DataStore\:\:add_intervals_sql_params\(\) has no return type specified\.$#'
 			identifier: missingType.return
@@ -40731,12 +40509,6 @@ parameters:
 			count: 1
 			path: src/Admin/API/Reports/DataStore.php

-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\DataStore\:\:fill_in_missing_intervals\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/DataStore.php
-
 		-
 			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\DataStore\:\:get_data\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\WP_Error\.$#'
 			identifier: class.notFound
@@ -40767,24 +40539,6 @@ parameters:
 			count: 1
 			path: src/Admin/API/Reports/DataStore.php

-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\DataStore\:\:get_noncached_data\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\WP_Error\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\DataStore\:\:get_noncached_data\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\DataStore\:\:get_noncached_data\(\) should return Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass\|Automattic\\WooCommerce\\Admin\\API\\Reports\\WP_Error but returns WP_Error\.$#'
-			identifier: return.type
-			count: 1
-			path: src/Admin/API/Reports/DataStore.php
-
 		-
 			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\DataStore\:\:get_products_by_cat_ids\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass\.$#'
 			identifier: class.notFound
@@ -40857,18 +40611,6 @@ parameters:
 			count: 1
 			path: src/Admin/API/Reports/DataStore.php

-		-
-			message: '#^Parameter \#1 \$datetime of static method Automattic\\WooCommerce\\Admin\\API\\Reports\\TimeInterval\:\:iterate\(\) expects Automattic\\WooCommerce\\Admin\\API\\Reports\\DateTime, DateTime given\.$#'
-			identifier: argument.type
-			count: 2
-			path: src/Admin/API/Reports/DataStore.php
-
-		-
-			message: '#^Parameter \#1 \$datetime of static method Automattic\\WooCommerce\\Admin\\API\\Reports\\TimeInterval\:\:iterate\(\) expects Automattic\\WooCommerce\\Admin\\API\\Reports\\DateTime, object given\.$#'
-			identifier: argument.type
-			count: 2
-			path: src/Admin/API/Reports/DataStore.php
-
 		-
 			message: '#^Parameter \#1 \$order_by of method Automattic\\WooCommerce\\Admin\\API\\Reports\\DataStore\:\:normalize_order_by\(\) expects string, array\|string given\.$#'
 			identifier: argument.type
@@ -40917,48 +40659,6 @@ parameters:
 			count: 1
 			path: src/Admin/API/Reports/DataStore.php

-		-
-			message: '#^Parameter \$data of method Automattic\\WooCommerce\\Admin\\API\\Reports\\DataStore\:\:fill_in_missing_intervals\(\) has invalid type Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/DataStore.php
-
-		-
-			message: '#^Parameter \$data of method Automattic\\WooCommerce\\Admin\\API\\Reports\\DataStore\:\:remove_extra_records\(\) has invalid type Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/DataStore.php
-
-		-
-			message: '#^Parameter \$data of method Automattic\\WooCommerce\\Admin\\API\\Reports\\DataStore\:\:sort_intervals\(\) has invalid type Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/DataStore.php
-
-		-
-			message: '#^Parameter \$end_datetime of method Automattic\\WooCommerce\\Admin\\API\\Reports\\DataStore\:\:fill_in_missing_intervals\(\) has invalid type Automattic\\WooCommerce\\Admin\\API\\Reports\\DateTime\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/DataStore.php
-
-		-
-			message: '#^Parameter \$end_datetime of method Automattic\\WooCommerce\\Admin\\API\\Reports\\DataStore\:\:update_interval_boundary_dates\(\) has invalid type Automattic\\WooCommerce\\Admin\\API\\Reports\\DateTime\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/DataStore.php
-
-		-
-			message: '#^Parameter \$start_datetime of method Automattic\\WooCommerce\\Admin\\API\\Reports\\DataStore\:\:fill_in_missing_intervals\(\) has invalid type Automattic\\WooCommerce\\Admin\\API\\Reports\\DateTime\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/DataStore.php
-
-		-
-			message: '#^Parameter \$start_datetime of method Automattic\\WooCommerce\\Admin\\API\\Reports\\DataStore\:\:update_interval_boundary_dates\(\) has invalid type Automattic\\WooCommerce\\Admin\\API\\Reports\\DateTime\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/DataStore.php
-
 		-
 			message: '#^Part \$field \(array\|string\) of encapsed string cannot be cast to string\.$#'
 			identifier: encapsedStringPart.nonString
@@ -41098,32 +40798,8 @@ parameters:
 			path: src/Admin/API/Reports/Downloads/DataStore.php

 		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Downloads\\DataStore\:\:get_noncached_data\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\Downloads\\WP_Error\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/Downloads/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Downloads\\DataStore\:\:get_noncached_data\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\Downloads\\stdClass\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/Downloads/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Downloads\\DataStore\:\:get_noncached_data\(\) should return Automattic\\WooCommerce\\Admin\\API\\Reports\\Downloads\\stdClass\|Automattic\\WooCommerce\\Admin\\API\\Reports\\Downloads\\WP_Error but returns object\{data\: array, total\: int, pages\: int, page_no\: int\}&stdClass\.$#'
-			identifier: return.type
-			count: 2
-			path: src/Admin/API/Reports/Downloads/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Downloads\\DataStore\:\:get_noncached_data\(\) should return Automattic\\WooCommerce\\Admin\\API\\Reports\\Downloads\\stdClass\|Automattic\\WooCommerce\\Admin\\API\\Reports\\Downloads\\WP_Error but returns object\{data\: array\<array\|Automattic\\WooCommerce\\Admin\\API\\Reports\\WP_Error\>, total\: int, pages\: int, page_no\: int\}&stdClass\.$#'
-			identifier: return.type
-			count: 1
-			path: src/Admin/API/Reports/Downloads/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Downloads\\DataStore\:\:initialize_queries\(\) has no return type specified\.$#'
-			identifier: missingType.return
+			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Downloads\\DataStore\:\:initialize_queries\(\) has no return type specified\.$#'
+			identifier: missingType.return
 			count: 1
 			path: src/Admin/API/Reports/Downloads/DataStore.php

@@ -41175,102 +40851,18 @@ parameters:
 			count: 1
 			path: src/Admin/API/Reports/Downloads/Stats/Controller.php

-		-
-			message: '#^$#'
-			identifier: class.notFound
-			count: 3
-			path: src/Admin/API/Reports/Downloads/Stats/DataStore.php
-
-		-
-			message: '#^Access to property \$intervals on an unknown class Automattic\\WooCommerce\\Admin\\API\\Reports\\Downloads\\Stats\\WP_Error\.$#'
-			identifier: class.notFound
-			count: 3
-			path: src/Admin/API/Reports/Downloads/Stats/DataStore.php
-
-		-
-			message: '#^Access to property \$intervals on an unknown class Automattic\\WooCommerce\\Admin\\API\\Reports\\Downloads\\Stats\\stdClass\.$#'
-			identifier: class.notFound
-			count: 7
-			path: src/Admin/API/Reports/Downloads/Stats/DataStore.php
-
-		-
-			message: '#^Access to property \$totals on an unknown class Automattic\\WooCommerce\\Admin\\API\\Reports\\Downloads\\Stats\\stdClass\.$#'
-			identifier: class.notFound
-			count: 2
-			path: src/Admin/API/Reports/Downloads/Stats/DataStore.php
-
 		-
 			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Downloads\\Stats\\DataStore\:\:assign_report_columns\(\) has no return type specified\.$#'
 			identifier: missingType.return
 			count: 1
 			path: src/Admin/API/Reports/Downloads/Stats/DataStore.php

-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Downloads\\Stats\\DataStore\:\:get_noncached_data\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\WP_Error\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/Downloads/Stats/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Downloads\\Stats\\DataStore\:\:get_noncached_data\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/Downloads/Stats/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Downloads\\Stats\\DataStore\:\:get_noncached_data\(\) should return Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass\|Automattic\\WooCommerce\\Admin\\API\\Reports\\WP_Error but returns Automattic\\WooCommerce\\Admin\\API\\Reports\\Downloads\\Stats\\stdClass\|Automattic\\WooCommerce\\Admin\\API\\Reports\\Downloads\\Stats\\WP_Error\|\(object\{totals\: null, intervals\: array, total\: int, pages\: int, page_no\: int\}&stdClass\)\.$#'
-			identifier: return.type
-			count: 1
-			path: src/Admin/API/Reports/Downloads/Stats/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Downloads\\Stats\\DataStore\:\:get_noncached_stats_data\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\Downloads\\Stats\\WP_Error\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/Downloads/Stats/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Downloads\\Stats\\DataStore\:\:get_noncached_stats_data\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\Downloads\\Stats\\stdClass\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/Downloads/Stats/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Downloads\\Stats\\DataStore\:\:get_noncached_stats_data\(\) should return Automattic\\WooCommerce\\Admin\\API\\Reports\\Downloads\\Stats\\stdClass\|Automattic\\WooCommerce\\Admin\\API\\Reports\\Downloads\\Stats\\WP_Error but returns Automattic\\WooCommerce\\Admin\\API\\Reports\\Downloads\\Stats\\stdClass\|Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass\.$#'
-			identifier: return.type
-			count: 1
-			path: src/Admin/API/Reports/Downloads/Stats/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Downloads\\Stats\\DataStore\:\:get_noncached_stats_data\(\) should return Automattic\\WooCommerce\\Admin\\API\\Reports\\Downloads\\Stats\\stdClass\|Automattic\\WooCommerce\\Admin\\API\\Reports\\Downloads\\Stats\\WP_Error but returns WP_Error\.$#'
-			identifier: return.type
-			count: 2
-			path: src/Admin/API/Reports/Downloads/Stats/DataStore.php
-
 		-
 			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Downloads\\Stats\\DataStore\:\:initialize_queries\(\) has no return type specified\.$#'
 			identifier: missingType.return
 			count: 1
 			path: src/Admin/API/Reports/Downloads/Stats/DataStore.php

-		-
-			message: '#^Parameter \#3 \$data of method Automattic\\WooCommerce\\Admin\\API\\Reports\\Downloads\\Stats\\DataStore\:\:get_noncached_stats_data\(\) expects Automattic\\WooCommerce\\Admin\\API\\Reports\\Downloads\\Stats\\stdClass, object\{totals\: null, intervals\: array, total\: int, pages\: int, page_no\: int\}&stdClass given\.$#'
-			identifier: argument.type
-			count: 1
-			path: src/Admin/API/Reports/Downloads/Stats/DataStore.php
-
-		-
-			message: '#^Parameter \#5 \$data of method Automattic\\WooCommerce\\Admin\\API\\Reports\\DataStore\:\:fill_in_missing_intervals\(\) expects Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass, Automattic\\WooCommerce\\Admin\\API\\Reports\\Downloads\\Stats\\stdClass given\.$#'
-			identifier: argument.type
-			count: 1
-			path: src/Admin/API/Reports/Downloads/Stats/DataStore.php
-
-		-
-			message: '#^Parameter \$data of method Automattic\\WooCommerce\\Admin\\API\\Reports\\Downloads\\Stats\\DataStore\:\:get_noncached_stats_data\(\) has invalid type Automattic\\WooCommerce\\Admin\\API\\Reports\\Downloads\\Stats\\stdClass\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/Downloads/Stats/DataStore.php
-
 		-
 			message: '#^Call to an undefined method WC_Data_Store\:\:get_data\(\)\.$#'
 			identifier: method.notFound
@@ -41841,30 +41433,6 @@ parameters:
 			count: 1
 			path: src/Admin/API/Reports/Orders/DataStore.php

-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Orders\\DataStore\:\:get_noncached_data\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\Orders\\WP_Error\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/Orders/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Orders\\DataStore\:\:get_noncached_data\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\Orders\\stdClass\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/Orders/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Orders\\DataStore\:\:get_noncached_data\(\) should return Automattic\\WooCommerce\\Admin\\API\\Reports\\Orders\\stdClass\|Automattic\\WooCommerce\\Admin\\API\\Reports\\Orders\\WP_Error but returns object\{data\: array, total\: int, pages\: int, page_no\: int\}&stdClass\.$#'
-			identifier: return.type
-			count: 2
-			path: src/Admin/API/Reports/Orders/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Orders\\DataStore\:\:get_noncached_data\(\) should return Automattic\\WooCommerce\\Admin\\API\\Reports\\Orders\\stdClass\|Automattic\\WooCommerce\\Admin\\API\\Reports\\Orders\\WP_Error but returns object\{data\: array\<array\|Automattic\\WooCommerce\\Admin\\API\\Reports\\WP_Error\>, total\: int, pages\: int, page_no\: int\}&stdClass\.$#'
-			identifier: return.type
-			count: 1
-			path: src/Admin/API/Reports/Orders/DataStore.php
-
 		-
 			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Orders\\DataStore\:\:include_extended_info\(\) has no return type specified\.$#'
 			identifier: missingType.return
@@ -41991,18 +41559,6 @@ parameters:
 			count: 1
 			path: src/Admin/API/Reports/Orders/Stats/Controller.php

-		-
-			message: '#^$#'
-			identifier: class.notFound
-			count: 4
-			path: src/Admin/API/Reports/Orders/Stats/DataStore.php
-
-		-
-			message: '#^Access to property \$intervals on an unknown class Automattic\\WooCommerce\\Admin\\API\\Reports\\Orders\\Stats\\WP_Error\.$#'
-			identifier: class.notFound
-			count: 3
-			path: src/Admin/API/Reports/Orders/Stats/DataStore.php
-
 		-
 			message: '#^Binary operation "\*" between \-1 and string results in an error\.$#'
 			identifier: binaryOp.invalid
@@ -42021,42 +41577,6 @@ parameters:
 			count: 1
 			path: src/Admin/API/Reports/Orders/Stats/DataStore.php

-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Orders\\Stats\\DataStore\:\:get_noncached_data\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\WP_Error\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/Orders/Stats/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Orders\\Stats\\DataStore\:\:get_noncached_data\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/Orders/Stats/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Orders\\Stats\\DataStore\:\:get_noncached_data\(\) should return Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass\|Automattic\\WooCommerce\\Admin\\API\\Reports\\WP_Error but returns Automattic\\WooCommerce\\Admin\\API\\Reports\\Orders\\Stats\\WP_Error\|stdClass\.$#'
-			identifier: return.type
-			count: 1
-			path: src/Admin/API/Reports/Orders/Stats/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Orders\\Stats\\DataStore\:\:get_noncached_stats_data\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\Orders\\Stats\\WP_Error\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/Orders/Stats/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Orders\\Stats\\DataStore\:\:get_noncached_stats_data\(\) should return Automattic\\WooCommerce\\Admin\\API\\Reports\\Orders\\Stats\\WP_Error\|stdClass but returns Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass\.$#'
-			identifier: return.type
-			count: 1
-			path: src/Admin/API/Reports/Orders/Stats/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Orders\\Stats\\DataStore\:\:get_noncached_stats_data\(\) should return Automattic\\WooCommerce\\Admin\\API\\Reports\\Orders\\Stats\\WP_Error\|stdClass but returns WP_Error\.$#'
-			identifier: return.type
-			count: 2
-			path: src/Admin/API/Reports/Orders/Stats/DataStore.php
-
 		-
 			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Orders\\Stats\\DataStore\:\:get_unique_coupon_count\(\) invoked with 4 parameters, 3 required\.$#'
 			identifier: arguments.count
@@ -42099,24 +41619,12 @@ parameters:
 			count: 2
 			path: src/Admin/API/Reports/Orders/Stats/DataStore.php

-		-
-			message: '#^Parameter \#1 \$data of method Automattic\\WooCommerce\\Admin\\API\\Reports\\Segmenter\:\:add_intervals_segments\(\) expects Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass, Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass\|stdClass given\.$#'
-			identifier: argument.type
-			count: 1
-			path: src/Admin/API/Reports/Orders/Stats/DataStore.php
-
 		-
 			message: '#^Parameter \#1 \$order of static method Automattic\\WooCommerce\\Admin\\API\\Reports\\Customers\\DataStore\:\:get_existing_customer_id_from_order\(\) expects object, WC_Order\|WC_Order_Refund\|false given\.$#'
 			identifier: argument.type
 			count: 1
 			path: src/Admin/API/Reports/Orders/Stats/DataStore.php

-		-
-			message: '#^Parameter \#5 \$data of method Automattic\\WooCommerce\\Admin\\API\\Reports\\DataStore\:\:fill_in_missing_intervals\(\) expects Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass, stdClass given\.$#'
-			identifier: argument.type
-			count: 1
-			path: src/Admin/API/Reports/Orders/Stats/DataStore.php
-
 		-
 			message: '#^Variable \$segments might not be defined\.$#'
 			identifier: variable.undefined
@@ -42543,30 +42051,6 @@ parameters:
 			count: 1
 			path: src/Admin/API/Reports/Products/DataStore.php

-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Products\\DataStore\:\:get_noncached_data\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\Products\\WP_Error\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/Products/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Products\\DataStore\:\:get_noncached_data\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\Products\\stdClass\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/Products/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Products\\DataStore\:\:get_noncached_data\(\) should return Automattic\\WooCommerce\\Admin\\API\\Reports\\Products\\stdClass\|Automattic\\WooCommerce\\Admin\\API\\Reports\\Products\\WP_Error but returns object\{data\: array, total\: int, pages\: int, page_no\: int\}&stdClass\.$#'
-			identifier: return.type
-			count: 2
-			path: src/Admin/API/Reports/Products/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Products\\DataStore\:\:get_noncached_data\(\) should return Automattic\\WooCommerce\\Admin\\API\\Reports\\Products\\stdClass\|Automattic\\WooCommerce\\Admin\\API\\Reports\\Products\\WP_Error but returns object\{data\: array\<array\|Automattic\\WooCommerce\\Admin\\API\\Reports\\WP_Error\>, total\: int, pages\: int, page_no\: int\}&stdClass\.$#'
-			identifier: return.type
-			count: 1
-			path: src/Admin/API/Reports/Products/DataStore.php
-
 		-
 			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Products\\DataStore\:\:include_extended_info\(\) has no return type specified\.$#'
 			identifier: missingType.return
@@ -42633,30 +42117,6 @@ parameters:
 			count: 1
 			path: src/Admin/API/Reports/Products/Stats/Controller.php

-		-
-			message: '#^$#'
-			identifier: class.notFound
-			count: 4
-			path: src/Admin/API/Reports/Products/Stats/DataStore.php
-
-		-
-			message: '#^Access to property \$intervals on an unknown class Automattic\\WooCommerce\\Admin\\API\\Reports\\Products\\Stats\\WP_Error\.$#'
-			identifier: class.notFound
-			count: 3
-			path: src/Admin/API/Reports/Products/Stats/DataStore.php
-
-		-
-			message: '#^Access to property \$intervals on an unknown class Automattic\\WooCommerce\\Admin\\API\\Reports\\Products\\Stats\\stdClass\.$#'
-			identifier: class.notFound
-			count: 7
-			path: src/Admin/API/Reports/Products/Stats/DataStore.php
-
-		-
-			message: '#^Access to property \$totals on an unknown class Automattic\\WooCommerce\\Admin\\API\\Reports\\Products\\Stats\\stdClass\.$#'
-			identifier: class.notFound
-			count: 2
-			path: src/Admin/API/Reports/Products/Stats/DataStore.php
-
 		-
 			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Products\\Stats\\DataStore\:\:assign_report_columns\(\) has no return type specified\.$#'
 			identifier: missingType.return
@@ -42682,130 +42142,64 @@ parameters:
 			path: src/Admin/API/Reports/Products/Stats/DataStore.php

 		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Products\\Stats\\DataStore\:\:get_noncached_data\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\WP_Error\.$#'
-			identifier: class.notFound
+			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Products\\Stats\\DataStore\:\:initialize_queries\(\) has no return type specified\.$#'
+			identifier: missingType.return
 			count: 1
 			path: src/Admin/API/Reports/Products/Stats/DataStore.php

 		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Products\\Stats\\DataStore\:\:get_noncached_data\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass\.$#'
-			identifier: class.notFound
+			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Products\\Stats\\DataStore\:\:update_sql_query_params\(\) has no return type specified\.$#'
+			identifier: missingType.return
 			count: 1
 			path: src/Admin/API/Reports/Products/Stats/DataStore.php

 		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Products\\Stats\\DataStore\:\:get_noncached_data\(\) should return Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass\|Automattic\\WooCommerce\\Admin\\API\\Reports\\WP_Error but returns Automattic\\WooCommerce\\Admin\\API\\Reports\\Products\\Stats\\stdClass\|Automattic\\WooCommerce\\Admin\\API\\Reports\\Products\\Stats\\WP_Error\|\(object\{totals\: null, intervals\: array, total\: int, pages\: int, page_no\: int\}&stdClass\)\.$#'
-			identifier: return.type
+			message: '#^Call to an undefined method WC_Data_Store\:\:get_data\(\)\.$#'
+			identifier: method.notFound
 			count: 1
-			path: src/Admin/API/Reports/Products/Stats/DataStore.php
+			path: src/Admin/API/Reports/Products/Stats/Query.php

 		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Products\\Stats\\DataStore\:\:get_noncached_stats_data\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\Products\\Stats\\WP_Error\.$#'
-			identifier: class.notFound
+			message: '#^Variable \$segments might not be defined\.$#'
+			identifier: variable.undefined
 			count: 1
-			path: src/Admin/API/Reports/Products/Stats/DataStore.php
+			path: src/Admin/API/Reports/Products/Stats/Segmenter.php

 		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Products\\Stats\\DataStore\:\:get_noncached_stats_data\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\Products\\Stats\\stdClass\.$#'
-			identifier: class.notFound
+			message: '#^Call to an undefined method WC_Data_Store\:\:get_data\(\)\.$#'
+			identifier: method.notFound
 			count: 1
-			path: src/Admin/API/Reports/Products/Stats/DataStore.php
+			path: src/Admin/API/Reports/Revenue/Query.php

 		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Products\\Stats\\DataStore\:\:get_noncached_stats_data\(\) should return Automattic\\WooCommerce\\Admin\\API\\Reports\\Products\\Stats\\stdClass\|Automattic\\WooCommerce\\Admin\\API\\Reports\\Products\\Stats\\WP_Error but returns Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass\.$#'
-			identifier: return.type
+			message: '#^@param object \$report does not accept actual type of parameter\: array\.$#'
+			identifier: parameter.phpDocType
 			count: 1
-			path: src/Admin/API/Reports/Products/Stats/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Products\\Stats\\DataStore\:\:get_noncached_stats_data\(\) should return Automattic\\WooCommerce\\Admin\\API\\Reports\\Products\\Stats\\stdClass\|Automattic\\WooCommerce\\Admin\\API\\Reports\\Products\\Stats\\WP_Error but returns WP_Error\.$#'
-			identifier: return.type
-			count: 2
-			path: src/Admin/API/Reports/Products/Stats/DataStore.php
+			path: src/Admin/API/Reports/Revenue/Stats/Controller.php

 		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Products\\Stats\\DataStore\:\:initialize_queries\(\) has no return type specified\.$#'
-			identifier: missingType.return
+			message: '#^Call to an undefined method WP_Error\|WP_REST_Response\:\:get_data\(\)\.$#'
+			identifier: method.notFound
 			count: 1
-			path: src/Admin/API/Reports/Products/Stats/DataStore.php
+			path: src/Admin/API/Reports/Revenue/Stats/Controller.php

 		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Products\\Stats\\DataStore\:\:update_sql_query_params\(\) has no return type specified\.$#'
-			identifier: missingType.return
+			message: '#^Call to an undefined method WP_Error\|WP_REST_Response\:\:set_data\(\)\.$#'
+			identifier: method.notFound
 			count: 1
-			path: src/Admin/API/Reports/Products/Stats/DataStore.php
+			path: src/Admin/API/Reports/Revenue/Stats/Controller.php

 		-
-			message: '#^Parameter \#1 \$data of method Automattic\\WooCommerce\\Admin\\API\\Reports\\Segmenter\:\:add_intervals_segments\(\) expects Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass, Automattic\\WooCommerce\\Admin\\API\\Reports\\Products\\Stats\\stdClass\|Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass given\.$#'
-			identifier: argument.type
+			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Revenue\\Stats\\Controller\:\:get_export_items\(\) has parameter \$request with generic class WP_REST_Request but does not specify its types\: T$#'
+			identifier: missingType.generics
 			count: 1
-			path: src/Admin/API/Reports/Products/Stats/DataStore.php
+			path: src/Admin/API/Reports/Revenue/Stats/Controller.php

 		-
-			message: '#^Parameter \#3 \$data of method Automattic\\WooCommerce\\Admin\\API\\Reports\\Products\\Stats\\DataStore\:\:get_noncached_stats_data\(\) expects Automattic\\WooCommerce\\Admin\\API\\Reports\\Products\\Stats\\stdClass, object\{totals\: null, intervals\: array, total\: int, pages\: int, page_no\: int\}&stdClass given\.$#'
-			identifier: argument.type
+			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Revenue\\Stats\\Controller\:\:get_export_items\(\) should return WP_REST_Response but returns WP_Error\|WP_REST_Response\.$#'
+			identifier: return.type
 			count: 1
-			path: src/Admin/API/Reports/Products/Stats/DataStore.php
-
-		-
-			message: '#^Parameter \#5 \$data of method Automattic\\WooCommerce\\Admin\\API\\Reports\\DataStore\:\:fill_in_missing_intervals\(\) expects Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass, Automattic\\WooCommerce\\Admin\\API\\Reports\\Products\\Stats\\stdClass given\.$#'
-			identifier: argument.type
-			count: 1
-			path: src/Admin/API/Reports/Products/Stats/DataStore.php
-
-		-
-			message: '#^Parameter \$data of method Automattic\\WooCommerce\\Admin\\API\\Reports\\Products\\Stats\\DataStore\:\:get_noncached_stats_data\(\) has invalid type Automattic\\WooCommerce\\Admin\\API\\Reports\\Products\\Stats\\stdClass\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/Products/Stats/DataStore.php
-
-		-
-			message: '#^Call to an undefined method WC_Data_Store\:\:get_data\(\)\.$#'
-			identifier: method.notFound
-			count: 1
-			path: src/Admin/API/Reports/Products/Stats/Query.php
-
-		-
-			message: '#^Variable \$segments might not be defined\.$#'
-			identifier: variable.undefined
-			count: 1
-			path: src/Admin/API/Reports/Products/Stats/Segmenter.php
-
-		-
-			message: '#^Call to an undefined method WC_Data_Store\:\:get_data\(\)\.$#'
-			identifier: method.notFound
-			count: 1
-			path: src/Admin/API/Reports/Revenue/Query.php
-
-		-
-			message: '#^@param object \$report does not accept actual type of parameter\: array\.$#'
-			identifier: parameter.phpDocType
-			count: 1
-			path: src/Admin/API/Reports/Revenue/Stats/Controller.php
-
-		-
-			message: '#^Call to an undefined method WP_Error\|WP_REST_Response\:\:get_data\(\)\.$#'
-			identifier: method.notFound
-			count: 1
-			path: src/Admin/API/Reports/Revenue/Stats/Controller.php
-
-		-
-			message: '#^Call to an undefined method WP_Error\|WP_REST_Response\:\:set_data\(\)\.$#'
-			identifier: method.notFound
-			count: 1
-			path: src/Admin/API/Reports/Revenue/Stats/Controller.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Revenue\\Stats\\Controller\:\:get_export_items\(\) has parameter \$request with generic class WP_REST_Request but does not specify its types\: T$#'
-			identifier: missingType.generics
-			count: 1
-			path: src/Admin/API/Reports/Revenue/Stats/Controller.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Revenue\\Stats\\Controller\:\:get_export_items\(\) should return WP_REST_Response but returns WP_Error\|WP_REST_Response\.$#'
-			identifier: return.type
-			count: 1
-			path: src/Admin/API/Reports/Revenue/Stats/Controller.php
+			path: src/Admin/API/Reports/Revenue/Stats/Controller.php

 		-
 			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Revenue\\Stats\\Controller\:\:prepare_item_for_response\(\) has parameter \$request with generic class WP_REST_Request but does not specify its types\: T$#'
@@ -42831,24 +42225,12 @@ parameters:
 			count: 1
 			path: src/Admin/API/Reports/Revenue/Stats/Controller.php

-		-
-			message: '#^$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/Segmenter.php
-
 		-
 			message: '#^Access to offset ''segment_id'' on an unknown class Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass\.$#'
 			identifier: class.notFound
 			count: 6
 			path: src/Admin/API/Reports/Segmenter.php

-		-
-			message: '#^Access to property \$intervals on an unknown class Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass\.$#'
-			identifier: class.notFound
-			count: 6
-			path: src/Admin/API/Reports/Segmenter.php
-
 		-
 			message: '#^Argument of an invalid type array\|stdClass supplied for foreach, only iterables are supported\.$#'
 			identifier: foreach.nonIterable
@@ -42933,18 +42315,6 @@ parameters:
 			count: 1
 			path: src/Admin/API/Reports/Segmenter.php

-		-
-			message: '#^Parameter \$data of method Automattic\\WooCommerce\\Admin\\API\\Reports\\Segmenter\:\:add_intervals_segments\(\) has invalid type Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/Segmenter.php
-
-		-
-			message: '#^Parameter \$data of method Automattic\\WooCommerce\\Admin\\API\\Reports\\Segmenter\:\:fill_in_missing_interval_segments\(\) has invalid type Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/Segmenter.php
-
 		-
 			message: '#^Property Automattic\\WooCommerce\\Admin\\API\\Reports\\Segmenter\:\:\$query_args \(array\) does not accept default value of type string\.$#'
 			identifier: property.defaultValue
@@ -43233,30 +42603,6 @@ parameters:
 			count: 1
 			path: src/Admin/API/Reports/Taxes/DataStore.php

-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Taxes\\DataStore\:\:get_noncached_data\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\Taxes\\WP_Error\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/Taxes/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Taxes\\DataStore\:\:get_noncached_data\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\Taxes\\stdClass\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/Taxes/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Taxes\\DataStore\:\:get_noncached_data\(\) should return Automattic\\WooCommerce\\Admin\\API\\Reports\\Taxes\\stdClass\|Automattic\\WooCommerce\\Admin\\API\\Reports\\Taxes\\WP_Error but returns object\{data\: array, total\: int, pages\: int, page_no\: int\}&stdClass\.$#'
-			identifier: return.type
-			count: 2
-			path: src/Admin/API/Reports/Taxes/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Taxes\\DataStore\:\:get_noncached_data\(\) should return Automattic\\WooCommerce\\Admin\\API\\Reports\\Taxes\\stdClass\|Automattic\\WooCommerce\\Admin\\API\\Reports\\Taxes\\WP_Error but returns object\{data\: array\<array\|Automattic\\WooCommerce\\Admin\\API\\Reports\\WP_Error\>, total\: int, pages\: int, page_no\: int\}&stdClass\.$#'
-			identifier: return.type
-			count: 1
-			path: src/Admin/API/Reports/Taxes/DataStore.php
-
 		-
 			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Taxes\\DataStore\:\:init\(\) has no return type specified\.$#'
 			identifier: missingType.return
@@ -43299,78 +42645,12 @@ parameters:
 			count: 1
 			path: src/Admin/API/Reports/Taxes/Stats/Controller.php

-		-
-			message: '#^$#'
-			identifier: class.notFound
-			count: 4
-			path: src/Admin/API/Reports/Taxes/Stats/DataStore.php
-
-		-
-			message: '#^Access to property \$intervals on an unknown class Automattic\\WooCommerce\\Admin\\API\\Reports\\Taxes\\Stats\\WP_Error\.$#'
-			identifier: class.notFound
-			count: 3
-			path: src/Admin/API/Reports/Taxes/Stats/DataStore.php
-
-		-
-			message: '#^Access to property \$intervals on an unknown class Automattic\\WooCommerce\\Admin\\API\\Reports\\Taxes\\Stats\\stdClass\.$#'
-			identifier: class.notFound
-			count: 7
-			path: src/Admin/API/Reports/Taxes/Stats/DataStore.php
-
-		-
-			message: '#^Access to property \$totals on an unknown class Automattic\\WooCommerce\\Admin\\API\\Reports\\Taxes\\Stats\\stdClass\.$#'
-			identifier: class.notFound
-			count: 2
-			path: src/Admin/API/Reports/Taxes/Stats/DataStore.php
-
 		-
 			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Taxes\\Stats\\DataStore\:\:assign_report_columns\(\) has no return type specified\.$#'
 			identifier: missingType.return
 			count: 1
 			path: src/Admin/API/Reports/Taxes/Stats/DataStore.php

-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Taxes\\Stats\\DataStore\:\:get_noncached_data\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\WP_Error\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/Taxes/Stats/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Taxes\\Stats\\DataStore\:\:get_noncached_data\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/Taxes/Stats/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Taxes\\Stats\\DataStore\:\:get_noncached_data\(\) should return Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass\|Automattic\\WooCommerce\\Admin\\API\\Reports\\WP_Error but returns Automattic\\WooCommerce\\Admin\\API\\Reports\\Taxes\\Stats\\stdClass\|Automattic\\WooCommerce\\Admin\\API\\Reports\\Taxes\\Stats\\WP_Error\|\(object\{totals\: null, intervals\: array, total\: int, pages\: int, page_no\: int\}&stdClass\)\.$#'
-			identifier: return.type
-			count: 1
-			path: src/Admin/API/Reports/Taxes/Stats/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Taxes\\Stats\\DataStore\:\:get_noncached_stats_data\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\Taxes\\Stats\\WP_Error\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/Taxes/Stats/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Taxes\\Stats\\DataStore\:\:get_noncached_stats_data\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\Taxes\\Stats\\stdClass\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/Taxes/Stats/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Taxes\\Stats\\DataStore\:\:get_noncached_stats_data\(\) should return Automattic\\WooCommerce\\Admin\\API\\Reports\\Taxes\\Stats\\stdClass\|Automattic\\WooCommerce\\Admin\\API\\Reports\\Taxes\\Stats\\WP_Error but returns Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass\.$#'
-			identifier: return.type
-			count: 1
-			path: src/Admin/API/Reports/Taxes/Stats/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Taxes\\Stats\\DataStore\:\:get_noncached_stats_data\(\) should return Automattic\\WooCommerce\\Admin\\API\\Reports\\Taxes\\Stats\\stdClass\|Automattic\\WooCommerce\\Admin\\API\\Reports\\Taxes\\Stats\\WP_Error but returns WP_Error\.$#'
-			identifier: return.type
-			count: 2
-			path: src/Admin/API/Reports/Taxes/Stats/DataStore.php
-
 		-
 			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Taxes\\Stats\\DataStore\:\:initialize_queries\(\) has no return type specified\.$#'
 			identifier: missingType.return
@@ -43383,30 +42663,6 @@ parameters:
 			count: 1
 			path: src/Admin/API/Reports/Taxes/Stats/DataStore.php

-		-
-			message: '#^Parameter \#1 \$data of method Automattic\\WooCommerce\\Admin\\API\\Reports\\Segmenter\:\:add_intervals_segments\(\) expects Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass, Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass\|Automattic\\WooCommerce\\Admin\\API\\Reports\\Taxes\\Stats\\stdClass given\.$#'
-			identifier: argument.type
-			count: 1
-			path: src/Admin/API/Reports/Taxes/Stats/DataStore.php
-
-		-
-			message: '#^Parameter \#3 \$data of method Automattic\\WooCommerce\\Admin\\API\\Reports\\Taxes\\Stats\\DataStore\:\:get_noncached_stats_data\(\) expects Automattic\\WooCommerce\\Admin\\API\\Reports\\Taxes\\Stats\\stdClass, object\{totals\: null, intervals\: array, total\: int, pages\: int, page_no\: int\}&stdClass given\.$#'
-			identifier: argument.type
-			count: 1
-			path: src/Admin/API/Reports/Taxes/Stats/DataStore.php
-
-		-
-			message: '#^Parameter \#5 \$data of method Automattic\\WooCommerce\\Admin\\API\\Reports\\DataStore\:\:fill_in_missing_intervals\(\) expects Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass, Automattic\\WooCommerce\\Admin\\API\\Reports\\Taxes\\Stats\\stdClass given\.$#'
-			identifier: argument.type
-			count: 1
-			path: src/Admin/API/Reports/Taxes/Stats/DataStore.php
-
-		-
-			message: '#^Parameter \$data of method Automattic\\WooCommerce\\Admin\\API\\Reports\\Taxes\\Stats\\DataStore\:\:get_noncached_stats_data\(\) has invalid type Automattic\\WooCommerce\\Admin\\API\\Reports\\Taxes\\Stats\\stdClass\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/Taxes/Stats/DataStore.php
-
 		-
 			message: '#^Call to an undefined method WC_Data_Store\:\:get_data\(\)\.$#'
 			identifier: method.notFound
@@ -43419,48 +42675,6 @@ parameters:
 			count: 2
 			path: src/Admin/API/Reports/TimeInterval.php

-		-
-			message: '#^Call to method add\(\) on an unknown class Automattic\\WooCommerce\\Admin\\API\\Reports\\DateTime\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/TimeInterval.php
-
-		-
-			message: '#^Call to method diff\(\) on an unknown class Automattic\\WooCommerce\\Admin\\API\\Reports\\DateTime\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/TimeInterval.php
-
-		-
-			message: '#^Call to method format\(\) on an unknown class Automattic\\WooCommerce\\Admin\\API\\Reports\\DateTime\.$#'
-			identifier: class.notFound
-			count: 35
-			path: src/Admin/API/Reports/TimeInterval.php
-
-		-
-			message: '#^Call to method getTimezone\(\) on an unknown class Automattic\\WooCommerce\\Admin\\API\\Reports\\DateTime\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/TimeInterval.php
-
-		-
-			message: '#^Call to method setTime\(\) on an unknown class Automattic\\WooCommerce\\Admin\\API\\Reports\\DateTime\.$#'
-			identifier: class.notFound
-			count: 2
-			path: src/Admin/API/Reports/TimeInterval.php
-
-		-
-			message: '#^Call to method setTimestamp\(\) on an unknown class Automattic\\WooCommerce\\Admin\\API\\Reports\\DateTime\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/TimeInterval.php
-
-		-
-			message: '#^Call to method sub\(\) on an unknown class Automattic\\WooCommerce\\Admin\\API\\Reports\\DateTime\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/TimeInterval.php
-
 		-
 			message: '#^Cannot call method add\(\) on DateTime\|false\.$#'
 			identifier: method.nonObject
@@ -43474,115 +42688,7 @@ parameters:
 			path: src/Admin/API/Reports/TimeInterval.php

 		-
-			message: '#^Cloning object of an unknown class Automattic\\WooCommerce\\Admin\\API\\Reports\\DateTime\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/TimeInterval.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\TimeInterval\:\:convert_local_datetime_to_gmt\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\DateTime\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/TimeInterval.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\TimeInterval\:\:convert_local_datetime_to_gmt\(\) should return Automattic\\WooCommerce\\Admin\\API\\Reports\\DateTime but returns DateTime\.$#'
-			identifier: return.type
-			count: 1
-			path: src/Admin/API/Reports/TimeInterval.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\TimeInterval\:\:default_after\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\DateTime\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/TimeInterval.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\TimeInterval\:\:default_after\(\) should return Automattic\\WooCommerce\\Admin\\API\\Reports\\DateTime but returns WC_DateTime\.$#'
-			identifier: return.type
-			count: 1
-			path: src/Admin/API/Reports/TimeInterval.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\TimeInterval\:\:default_before\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\DateTime\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/TimeInterval.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\TimeInterval\:\:default_before\(\) should return Automattic\\WooCommerce\\Admin\\API\\Reports\\DateTime but returns WC_DateTime\.$#'
-			identifier: return.type
-			count: 1
-			path: src/Admin/API/Reports/TimeInterval.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\TimeInterval\:\:iterate\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\DateTime\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/TimeInterval.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\TimeInterval\:\:next_day_start\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\DateTime\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/TimeInterval.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\TimeInterval\:\:next_hour_start\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\DateTime\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/TimeInterval.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\TimeInterval\:\:next_hour_start\(\) should return Automattic\\WooCommerce\\Admin\\API\\Reports\\DateTime but returns DateTime\.$#'
-			identifier: return.type
-			count: 1
-			path: src/Admin/API/Reports/TimeInterval.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\TimeInterval\:\:next_month_start\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\DateTime\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/TimeInterval.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\TimeInterval\:\:next_month_start\(\) should return Automattic\\WooCommerce\\Admin\\API\\Reports\\DateTime but returns Automattic\\WooCommerce\\Admin\\API\\Reports\\DateTime\|DateTime\.$#'
-			identifier: return.type
-			count: 1
-			path: src/Admin/API/Reports/TimeInterval.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\TimeInterval\:\:next_quarter_start\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\DateTime\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/TimeInterval.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\TimeInterval\:\:next_quarter_start\(\) should return Automattic\\WooCommerce\\Admin\\API\\Reports\\DateTime but returns DateTime\.$#'
-			identifier: return.type
-			count: 1
-			path: src/Admin/API/Reports/TimeInterval.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\TimeInterval\:\:next_week_start\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\DateTime\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/TimeInterval.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\TimeInterval\:\:next_week_start\(\) should return Automattic\\WooCommerce\\Admin\\API\\Reports\\DateTime but returns DateTime\|false\.$#'
-			identifier: return.type
-			count: 1
-			path: src/Admin/API/Reports/TimeInterval.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\TimeInterval\:\:next_year_start\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\DateTime\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/TimeInterval.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\TimeInterval\:\:next_year_start\(\) should return Automattic\\WooCommerce\\Admin\\API\\Reports\\DateTime but returns DateTime\.$#'
+			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\TimeInterval\:\:next_week_start\(\) should return DateTime but returns DateTime\|false\.$#'
 			identifier: return.type
 			count: 1
 			path: src/Admin/API/Reports/TimeInterval.php
@@ -43635,78 +42741,6 @@ parameters:
 			count: 2
 			path: src/Admin/API/Reports/TimeInterval.php

-		-
-			message: '#^Parameter \$datetime of method Automattic\\WooCommerce\\Admin\\API\\Reports\\TimeInterval\:\:iterate\(\) has invalid type Automattic\\WooCommerce\\Admin\\API\\Reports\\DateTime\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/TimeInterval.php
-
-		-
-			message: '#^Parameter \$datetime of method Automattic\\WooCommerce\\Admin\\API\\Reports\\TimeInterval\:\:next_day_start\(\) has invalid type Automattic\\WooCommerce\\Admin\\API\\Reports\\DateTime\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/TimeInterval.php
-
-		-
-			message: '#^Parameter \$datetime of method Automattic\\WooCommerce\\Admin\\API\\Reports\\TimeInterval\:\:next_hour_start\(\) has invalid type Automattic\\WooCommerce\\Admin\\API\\Reports\\DateTime\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/TimeInterval.php
-
-		-
-			message: '#^Parameter \$datetime of method Automattic\\WooCommerce\\Admin\\API\\Reports\\TimeInterval\:\:next_month_start\(\) has invalid type Automattic\\WooCommerce\\Admin\\API\\Reports\\DateTime\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/TimeInterval.php
-
-		-
-			message: '#^Parameter \$datetime of method Automattic\\WooCommerce\\Admin\\API\\Reports\\TimeInterval\:\:next_quarter_start\(\) has invalid type Automattic\\WooCommerce\\Admin\\API\\Reports\\DateTime\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/TimeInterval.php
-
-		-
-			message: '#^Parameter \$datetime of method Automattic\\WooCommerce\\Admin\\API\\Reports\\TimeInterval\:\:next_week_start\(\) has invalid type Automattic\\WooCommerce\\Admin\\API\\Reports\\DateTime\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/TimeInterval.php
-
-		-
-			message: '#^Parameter \$datetime of method Automattic\\WooCommerce\\Admin\\API\\Reports\\TimeInterval\:\:next_year_start\(\) has invalid type Automattic\\WooCommerce\\Admin\\API\\Reports\\DateTime\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/TimeInterval.php
-
-		-
-			message: '#^Parameter \$datetime of method Automattic\\WooCommerce\\Admin\\API\\Reports\\TimeInterval\:\:quarter\(\) has invalid type Automattic\\WooCommerce\\Admin\\API\\Reports\\DateTime\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/TimeInterval.php
-
-		-
-			message: '#^Parameter \$datetime of method Automattic\\WooCommerce\\Admin\\API\\Reports\\TimeInterval\:\:simple_week_number\(\) has invalid type Automattic\\WooCommerce\\Admin\\API\\Reports\\DateTime\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/TimeInterval.php
-
-		-
-			message: '#^Parameter \$datetime of method Automattic\\WooCommerce\\Admin\\API\\Reports\\TimeInterval\:\:time_interval_id\(\) has invalid type Automattic\\WooCommerce\\Admin\\API\\Reports\\DateTime\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/TimeInterval.php
-
-		-
-			message: '#^Parameter \$datetime of method Automattic\\WooCommerce\\Admin\\API\\Reports\\TimeInterval\:\:week_number\(\) has invalid type Automattic\\WooCommerce\\Admin\\API\\Reports\\DateTime\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/TimeInterval.php
-
-		-
-			message: '#^Parameter \$end_datetime of method Automattic\\WooCommerce\\Admin\\API\\Reports\\TimeInterval\:\:intervals_between\(\) has invalid type Automattic\\WooCommerce\\Admin\\API\\Reports\\DateTime\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/TimeInterval.php
-
 		-
 			message: '#^Parameter \$request of method Automattic\\WooCommerce\\Admin\\API\\Reports\\TimeInterval\:\:rest_validate_between_date_arg\(\) has invalid type Automattic\\WooCommerce\\Admin\\API\\Reports\\WP_REST_Request\.$#'
 			identifier: class.notFound
@@ -43719,12 +42753,6 @@ parameters:
 			count: 1
 			path: src/Admin/API/Reports/TimeInterval.php

-		-
-			message: '#^Parameter \$start_datetime of method Automattic\\WooCommerce\\Admin\\API\\Reports\\TimeInterval\:\:intervals_between\(\) has invalid type Automattic\\WooCommerce\\Admin\\API\\Reports\\DateTime\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/TimeInterval.php
-
 		-
 			message: '#^@param Automattic\\WooCommerce\\Admin\\API\\Reports\\Variations\\WP_REST_Response \$response does not accept actual type of parameter\: WP_REST_Response\.$#'
 			identifier: parameter.phpDocType
@@ -43875,30 +42903,6 @@ parameters:
 			count: 1
 			path: src/Admin/API/Reports/Variations/DataStore.php

-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Variations\\DataStore\:\:get_noncached_data\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\Variations\\WP_Error\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/Variations/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Variations\\DataStore\:\:get_noncached_data\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\Variations\\stdClass\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/Variations/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Variations\\DataStore\:\:get_noncached_data\(\) should return Automattic\\WooCommerce\\Admin\\API\\Reports\\Variations\\stdClass\|Automattic\\WooCommerce\\Admin\\API\\Reports\\Variations\\WP_Error but returns object\{data\: array, total\: int, pages\: int, page_no\: int\}&stdClass\.$#'
-			identifier: return.type
-			count: 2
-			path: src/Admin/API/Reports/Variations/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Variations\\DataStore\:\:get_noncached_data\(\) should return Automattic\\WooCommerce\\Admin\\API\\Reports\\Variations\\stdClass\|Automattic\\WooCommerce\\Admin\\API\\Reports\\Variations\\WP_Error but returns object\{data\: array\<array\|Automattic\\WooCommerce\\Admin\\API\\Reports\\WP_Error\>, total\: int, pages\: int, page_no\: int\}&stdClass\.$#'
-			identifier: return.type
-			count: 1
-			path: src/Admin/API/Reports/Variations/DataStore.php
-
 		-
 			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Variations\\DataStore\:\:get_order_item_by_attribute_subquery\(\) should return string but returns false\.$#'
 			identifier: return.type
@@ -43959,78 +42963,12 @@ parameters:
 			count: 1
 			path: src/Admin/API/Reports/Variations/Stats/Controller.php

-		-
-			message: '#^$#'
-			identifier: class.notFound
-			count: 4
-			path: src/Admin/API/Reports/Variations/Stats/DataStore.php
-
-		-
-			message: '#^Access to property \$intervals on an unknown class Automattic\\WooCommerce\\Admin\\API\\Reports\\Variations\\Stats\\WP_Error\.$#'
-			identifier: class.notFound
-			count: 3
-			path: src/Admin/API/Reports/Variations/Stats/DataStore.php
-
-		-
-			message: '#^Access to property \$intervals on an unknown class Automattic\\WooCommerce\\Admin\\API\\Reports\\Variations\\Stats\\stdClass\.$#'
-			identifier: class.notFound
-			count: 7
-			path: src/Admin/API/Reports/Variations/Stats/DataStore.php
-
-		-
-			message: '#^Access to property \$totals on an unknown class Automattic\\WooCommerce\\Admin\\API\\Reports\\Variations\\Stats\\stdClass\.$#'
-			identifier: class.notFound
-			count: 2
-			path: src/Admin/API/Reports/Variations/Stats/DataStore.php
-
 		-
 			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Variations\\Stats\\DataStore\:\:assign_report_columns\(\) has no return type specified\.$#'
 			identifier: missingType.return
 			count: 1
 			path: src/Admin/API/Reports/Variations/Stats/DataStore.php

-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Variations\\Stats\\DataStore\:\:get_noncached_data\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\WP_Error\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/Variations/Stats/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Variations\\Stats\\DataStore\:\:get_noncached_data\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/Variations/Stats/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Variations\\Stats\\DataStore\:\:get_noncached_data\(\) should return Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass\|Automattic\\WooCommerce\\Admin\\API\\Reports\\WP_Error but returns Automattic\\WooCommerce\\Admin\\API\\Reports\\Variations\\Stats\\stdClass\|Automattic\\WooCommerce\\Admin\\API\\Reports\\Variations\\Stats\\WP_Error\|\(object\{totals\: null, intervals\: array, total\: int, pages\: int, page_no\: int\}&stdClass\)\.$#'
-			identifier: return.type
-			count: 1
-			path: src/Admin/API/Reports/Variations/Stats/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Variations\\Stats\\DataStore\:\:get_noncached_stats_data\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\Variations\\Stats\\WP_Error\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/Variations/Stats/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Variations\\Stats\\DataStore\:\:get_noncached_stats_data\(\) has invalid return type Automattic\\WooCommerce\\Admin\\API\\Reports\\Variations\\Stats\\stdClass\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/Variations/Stats/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Variations\\Stats\\DataStore\:\:get_noncached_stats_data\(\) should return Automattic\\WooCommerce\\Admin\\API\\Reports\\Variations\\Stats\\stdClass\|Automattic\\WooCommerce\\Admin\\API\\Reports\\Variations\\Stats\\WP_Error but returns Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass\.$#'
-			identifier: return.type
-			count: 1
-			path: src/Admin/API/Reports/Variations/Stats/DataStore.php
-
-		-
-			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Variations\\Stats\\DataStore\:\:get_noncached_stats_data\(\) should return Automattic\\WooCommerce\\Admin\\API\\Reports\\Variations\\Stats\\stdClass\|Automattic\\WooCommerce\\Admin\\API\\Reports\\Variations\\Stats\\WP_Error but returns WP_Error\.$#'
-			identifier: return.type
-			count: 2
-			path: src/Admin/API/Reports/Variations/Stats/DataStore.php
-
 		-
 			message: '#^Method Automattic\\WooCommerce\\Admin\\API\\Reports\\Variations\\Stats\\DataStore\:\:initialize_queries\(\) has no return type specified\.$#'
 			identifier: missingType.return
@@ -44043,30 +42981,6 @@ parameters:
 			count: 1
 			path: src/Admin/API/Reports/Variations/Stats/DataStore.php

-		-
-			message: '#^Parameter \#1 \$data of method Automattic\\WooCommerce\\Admin\\API\\Reports\\Segmenter\:\:add_intervals_segments\(\) expects Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass, Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass\|Automattic\\WooCommerce\\Admin\\API\\Reports\\Variations\\Stats\\stdClass given\.$#'
-			identifier: argument.type
-			count: 1
-			path: src/Admin/API/Reports/Variations/Stats/DataStore.php
-
-		-
-			message: '#^Parameter \#3 \$data of method Automattic\\WooCommerce\\Admin\\API\\Reports\\Variations\\Stats\\DataStore\:\:get_noncached_stats_data\(\) expects Automattic\\WooCommerce\\Admin\\API\\Reports\\Variations\\Stats\\stdClass, object\{totals\: null, intervals\: array, total\: int, pages\: int, page_no\: int\}&stdClass given\.$#'
-			identifier: argument.type
-			count: 1
-			path: src/Admin/API/Reports/Variations/Stats/DataStore.php
-
-		-
-			message: '#^Parameter \#5 \$data of method Automattic\\WooCommerce\\Admin\\API\\Reports\\DataStore\:\:fill_in_missing_intervals\(\) expects Automattic\\WooCommerce\\Admin\\API\\Reports\\stdClass, Automattic\\WooCommerce\\Admin\\API\\Reports\\Variations\\Stats\\stdClass given\.$#'
-			identifier: argument.type
-			count: 1
-			path: src/Admin/API/Reports/Variations/Stats/DataStore.php
-
-		-
-			message: '#^Parameter \$data of method Automattic\\WooCommerce\\Admin\\API\\Reports\\Variations\\Stats\\DataStore\:\:get_noncached_stats_data\(\) has invalid type Automattic\\WooCommerce\\Admin\\API\\Reports\\Variations\\Stats\\stdClass\.$#'
-			identifier: class.notFound
-			count: 1
-			path: src/Admin/API/Reports/Variations/Stats/DataStore.php
-
 		-
 			message: '#^Call to an undefined method WC_Data_Store\:\:get_data\(\)\.$#'
 			identifier: method.notFound
diff --git a/plugins/woocommerce/src/Admin/API/Reports/Categories/DataStore.php b/plugins/woocommerce/src/Admin/API/Reports/Categories/DataStore.php
index 6ad221effc9..09c694ecb1e 100644
--- a/plugins/woocommerce/src/Admin/API/Reports/Categories/DataStore.php
+++ b/plugins/woocommerce/src/Admin/API/Reports/Categories/DataStore.php
@@ -235,7 +235,7 @@ class DataStore extends ReportsDataStore implements DataStoreInterface {
 	 * @override ReportsDataStore::get_noncached_data()
 	 *
 	 * @param array $query_args Query parameters.
-	 * @return stdClass|WP_Error Data object `{ totals: *, intervals: array, total: int, pages: int, page_no: int }`, or error.
+	 * @return \stdClass|\WP_Error Data object `{ totals: *, intervals: array, total: int, pages: int, page_no: int }`, or error.
 	 */
 	public function get_noncached_data( $query_args ) {
 		global $wpdb;
diff --git a/plugins/woocommerce/src/Admin/API/Reports/Controller.php b/plugins/woocommerce/src/Admin/API/Reports/Controller.php
index c1cd9808a60..e800d0674cd 100644
--- a/plugins/woocommerce/src/Admin/API/Reports/Controller.php
+++ b/plugins/woocommerce/src/Admin/API/Reports/Controller.php
@@ -146,7 +146,7 @@ class Controller extends GenericController {
 	/**
 	 * Prepare a report object for serialization.
 	 *
-	 * @param stdClass        $report  Report data.
+	 * @param \stdClass       $report  Report data.
 	 * @param WP_REST_Request $request Request object.
 	 * @return WP_REST_Response
 	 */
diff --git a/plugins/woocommerce/src/Admin/API/Reports/Coupons/DataStore.php b/plugins/woocommerce/src/Admin/API/Reports/Coupons/DataStore.php
index dbc3589e0b3..3b6dfcb365c 100644
--- a/plugins/woocommerce/src/Admin/API/Reports/Coupons/DataStore.php
+++ b/plugins/woocommerce/src/Admin/API/Reports/Coupons/DataStore.php
@@ -289,7 +289,7 @@ class DataStore extends ReportsDataStore implements DataStoreInterface {
 	 *
 	 * @see get_data
 	 * @param array $query_args Query parameters.
-	 * @return stdClass|WP_Error Data object `{ totals: *, intervals: array, total: int, pages: int, page_no: int }`, or error.
+	 * @return \stdClass|\WP_Error Data object `{ totals: *, intervals: array, total: int, pages: int, page_no: int }`, or error.
 	 */
 	public function get_noncached_data( $query_args ) {
 		global $wpdb;
diff --git a/plugins/woocommerce/src/Admin/API/Reports/Coupons/Stats/DataStore.php b/plugins/woocommerce/src/Admin/API/Reports/Coupons/Stats/DataStore.php
index 27720d97a35..13252c1efde 100644
--- a/plugins/woocommerce/src/Admin/API/Reports/Coupons/Stats/DataStore.php
+++ b/plugins/woocommerce/src/Admin/API/Reports/Coupons/Stats/DataStore.php
@@ -140,11 +140,11 @@ class DataStore extends CouponsDataStore implements DataStoreInterface {
 	 *
 	 * @see get_data
 	 * @see get_noncached_stats_data
-	 * @param array    $query_args Query parameters.
-	 * @param array    $params            Query limit parameters.
-	 * @param stdClass $data                    Reference to the data object to fill.
-	 * @param int      $expected_interval_count Number of expected intervals.
-	 * @return stdClass|WP_Error Data object `{ totals: *, intervals: array, total: int, pages: int, page_no: int }`, or error.
+	 * @param array     $query_args Query parameters.
+	 * @param array     $params            Query limit parameters.
+	 * @param \stdClass $data                    Reference to the data object to fill.
+	 * @param int       $expected_interval_count Number of expected intervals.
+	 * @return \stdClass|\WP_Error Data object `{ totals: *, intervals: array, total: int, pages: int, page_no: int }`, or error.
 	 */
 	public function get_noncached_stats_data( $query_args, $params, &$data, $expected_interval_count ) {
 		global $wpdb;
diff --git a/plugins/woocommerce/src/Admin/API/Reports/Customers/DataStore.php b/plugins/woocommerce/src/Admin/API/Reports/Customers/DataStore.php
index 32bebfcbe33..7aa2f05ba4f 100644
--- a/plugins/woocommerce/src/Admin/API/Reports/Customers/DataStore.php
+++ b/plugins/woocommerce/src/Admin/API/Reports/Customers/DataStore.php
@@ -615,7 +615,7 @@ class DataStore extends ReportsDataStore implements DataStoreInterface {
 	 *
 	 * @see get_data
 	 * @param array $query_args Query parameters.
-	 * @return stdClass|WP_Error Data object `{ totals: *, intervals: array, total: int, pages: int, page_no: int }`, or error.
+	 * @return \stdClass|\WP_Error Data object `{ totals: *, intervals: array, total: int, pages: int, page_no: int }`, or error.
 	 */
 	public function get_noncached_data( $query_args ) {
 		global $wpdb;
diff --git a/plugins/woocommerce/src/Admin/API/Reports/DataStore.php b/plugins/woocommerce/src/Admin/API/Reports/DataStore.php
index 7f163dde402..4d697079aff 100644
--- a/plugins/woocommerce/src/Admin/API/Reports/DataStore.php
+++ b/plugins/woocommerce/src/Admin/API/Reports/DataStore.php
@@ -286,7 +286,7 @@ class DataStore extends SqlQuery implements DataStoreInterface {
 	 *
 	 * @see get_data
 	 * @param array $query_args Query parameters.
-	 * @return stdClass|WP_Error Data object `{ totals: *, intervals: array, total: int, pages: int, page_no: int }`, or error.
+	 * @return \stdClass|\WP_Error Data object `{ totals: *, intervals: array, total: int, pages: int, page_no: int }`, or error.
 	 */
 	public function get_noncached_data( $query_args ) {
 		/* translators: %s: Method name */
@@ -490,9 +490,9 @@ class DataStore extends SqlQuery implements DataStoreInterface {
 	 *
 	 * They are pre-sorted in SQL, but after adding gaps, they need to be sorted including the added ones.
 	 *
-	 * @param stdClass $data      Data object, must contain an array under $data->intervals.
-	 * @param string   $sort_by   Ordering property.
-	 * @param string   $direction DESC/ASC.
+	 * @param \stdClass $data      Data object, must contain an array under $data->intervals.
+	 * @param string    $sort_by   Ordering property.
+	 * @param string    $direction DESC/ASC.
 	 */
 	protected function sort_intervals( &$data, $sort_by, $direction ) {
 		$this->sort_array( $data->intervals, $sort_by, $direction );
@@ -514,12 +514,12 @@ class DataStore extends SqlQuery implements DataStoreInterface {
 	/**
 	 * Fills in interval gaps from DB with 0-filled objects.
 	 *
-	 * @param array    $db_intervals   Array of all intervals present in the db.
-	 * @param DateTime $start_datetime Start date.
-	 * @param DateTime $end_datetime   End date.
-	 * @param string   $time_interval  Time interval, e.g. day, week, month.
-	 * @param stdClass $data           Data with SQL extracted intervals.
-	 * @return stdClass
+	 * @param array     $db_intervals   Array of all intervals present in the db.
+	 * @param \DateTime $start_datetime Start date.
+	 * @param \DateTime $end_datetime   End date.
+	 * @param string    $time_interval  Time interval, e.g. day, week, month.
+	 * @param \stdClass $data           Data with SQL extracted intervals.
+	 * @return \stdClass
 	 */
 	protected function fill_in_missing_intervals( $db_intervals, $start_datetime, $end_datetime, $time_interval, &$data ) {
 		// @todo This is ugly and messy.
@@ -594,13 +594,13 @@ class DataStore extends SqlQuery implements DataStoreInterface {
 	/**
 	 * Removes extra records from intervals so that only requested number of records get returned.
 	 *
-	 * @param stdClass $data           Data from whose intervals the records get removed.
-	 * @param int      $page_no        Offset requested by the user.
-	 * @param int      $items_per_page Number of records requested by the user.
-	 * @param int      $db_interval_count Database interval count.
-	 * @param int      $expected_interval_count Expected interval count on the output.
-	 * @param string   $order_by Order by field.
-	 * @param string   $order ASC or DESC.
+	 * @param \stdClass $data           Data from whose intervals the records get removed.
+	 * @param int       $page_no        Offset requested by the user.
+	 * @param int       $items_per_page Number of records requested by the user.
+	 * @param int       $db_interval_count Database interval count.
+	 * @param int       $expected_interval_count Expected interval count on the output.
+	 * @param string    $order_by Order by field.
+	 * @param string    $order ASC or DESC.
 	 */
 	protected function remove_extra_records( &$data, $page_no, $items_per_page, $db_interval_count, $expected_interval_count, $order_by, $order ) {
 		if ( 'date' === strtolower( $order_by ) ) {
@@ -698,9 +698,11 @@ class DataStore extends SqlQuery implements DataStoreInterface {
 			$end_iteration   = 0;
 			if ( 'asc' === strtolower( $query_args['order'] ) ) {
 				// ORDER BY date ASC.
+				/** @var \DateTime $new_start_date */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort
 				$new_start_date    = $query_args['after'];
 				$intervals_to_skip = ( $query_args['page'] - 1 ) * $params['per_page'];
-				$latest_end_date   = $query_args['before'];
+				/** @var \DateTime $latest_end_date */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort
+				$latest_end_date = $query_args['before'];
 				for ( $i = 0; $i < $intervals_to_skip; $i++ ) {
 					if ( $new_start_date > $latest_end_date ) {
 						$new_start_date  = $latest_end_date;
@@ -729,8 +731,10 @@ class DataStore extends SqlQuery implements DataStoreInterface {
 				}
 			} else {
 				// ORDER BY date DESC.
-				$new_end_date        = $query_args['before'];
-				$intervals_to_skip   = ( $query_args['page'] - 1 ) * $params['per_page'];
+				/** @var \DateTime $new_end_date */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort
+				$new_end_date      = $query_args['before'];
+				$intervals_to_skip = ( $query_args['page'] - 1 ) * $params['per_page'];
+				/** @var \DateTime $earliest_start_date */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort
 				$earliest_start_date = $query_args['after'];
 				for ( $i = 0; $i < $intervals_to_skip; $i++ ) {
 					if ( $new_end_date < $earliest_start_date ) {
@@ -898,10 +902,10 @@ class DataStore extends SqlQuery implements DataStoreInterface {
 	 *
 	 * E.g. if there are db records for only Tuesday and Thursday this week, the actual week interval is [Mon, Sun], not [Tue, Thu].
 	 *
-	 * @param DateTime $start_datetime Start date.
-	 * @param DateTime $end_datetime End date.
-	 * @param string   $time_interval Time interval, e.g. day, week, month.
-	 * @param array    $intervals Array of intervals extracted from SQL db.
+	 * @param \DateTime $start_datetime Start date.
+	 * @param \DateTime $end_datetime End date.
+	 * @param string    $time_interval Time interval, e.g. day, week, month.
+	 * @param array     $intervals Array of intervals extracted from SQL db.
 	 */
 	protected function update_interval_boundary_dates( $start_datetime, $end_datetime, $time_interval, &$intervals ) {
 		$local_tz = new \DateTimeZone( wc_timezone_string() );
diff --git a/plugins/woocommerce/src/Admin/API/Reports/Downloads/DataStore.php b/plugins/woocommerce/src/Admin/API/Reports/Downloads/DataStore.php
index 9adeebe8e32..f7468cbd4ad 100644
--- a/plugins/woocommerce/src/Admin/API/Reports/Downloads/DataStore.php
+++ b/plugins/woocommerce/src/Admin/API/Reports/Downloads/DataStore.php
@@ -328,7 +328,7 @@ class DataStore extends ReportsDataStore implements DataStoreInterface {
 	 *
 	 * @see get_data
 	 * @param array $query_args Query parameters.
-	 * @return stdClass|WP_Error Data object `{ totals: *, intervals: array, total: int, pages: int, page_no: int }`, or error.
+	 * @return \stdClass|\WP_Error Data object `{ totals: *, intervals: array, total: int, pages: int, page_no: int }`, or error.
 	 */
 	public function get_noncached_data( $query_args ) {
 		global $wpdb;
diff --git a/plugins/woocommerce/src/Admin/API/Reports/Downloads/Stats/DataStore.php b/plugins/woocommerce/src/Admin/API/Reports/Downloads/Stats/DataStore.php
index e82877bdd9b..37b1a591e29 100644
--- a/plugins/woocommerce/src/Admin/API/Reports/Downloads/Stats/DataStore.php
+++ b/plugins/woocommerce/src/Admin/API/Reports/Downloads/Stats/DataStore.php
@@ -81,11 +81,11 @@ class DataStore extends DownloadsDataStore implements DataStoreInterface {
 	 *
 	 * @see get_data
 	 * @see get_noncached_stats_data
-	 * @param array    $query_args Query parameters.
-	 * @param array    $params                  Query limit parameters.
-	 * @param stdClass $data                    Reference to the data object to fill.
-	 * @param int      $expected_interval_count Number of expected intervals.
-	 * @return stdClass|WP_Error Data object `{ totals: *, intervals: array, total: int, pages: int, page_no: int }`, or error.
+	 * @param array     $query_args Query parameters.
+	 * @param array     $params                  Query limit parameters.
+	 * @param \stdClass $data                    Reference to the data object to fill.
+	 * @param int       $expected_interval_count Number of expected intervals.
+	 * @return \stdClass|\WP_Error Data object `{ totals: *, intervals: array, total: int, pages: int, page_no: int }`, or error.
 	 */
 	public function get_noncached_stats_data( $query_args, $params, &$data, $expected_interval_count ) {
 		global $wpdb;
diff --git a/plugins/woocommerce/src/Admin/API/Reports/Orders/DataStore.php b/plugins/woocommerce/src/Admin/API/Reports/Orders/DataStore.php
index 6f4b79bb4cc..ee1d20f4132 100644
--- a/plugins/woocommerce/src/Admin/API/Reports/Orders/DataStore.php
+++ b/plugins/woocommerce/src/Admin/API/Reports/Orders/DataStore.php
@@ -301,7 +301,7 @@ class DataStore extends ReportsDataStore implements DataStoreInterface {
 	 *
 	 * @see get_data
 	 * @param array $query_args Query parameters.
-	 * @return stdClass|WP_Error Data object `{ totals: *, intervals: array, total: int, pages: int, page_no: int }`, or error.
+	 * @return \stdClass|\WP_Error Data object `{ totals: *, intervals: array, total: int, pages: int, page_no: int }`, or error.
 	 */
 	public function get_noncached_data( $query_args ) {
 		global $wpdb;
diff --git a/plugins/woocommerce/src/Admin/API/Reports/Orders/Stats/DataStore.php b/plugins/woocommerce/src/Admin/API/Reports/Orders/Stats/DataStore.php
index 22be771b8b2..f5bbe34ae30 100644
--- a/plugins/woocommerce/src/Admin/API/Reports/Orders/Stats/DataStore.php
+++ b/plugins/woocommerce/src/Admin/API/Reports/Orders/Stats/DataStore.php
@@ -338,7 +338,7 @@ class DataStore extends ReportsDataStore implements DataStoreInterface {
 	 * @param array    $params                  Query limit parameters.
 	 * @param stdClass $data                    Reference to the data object to fill.
 	 * @param int      $expected_interval_count Number of expected intervals.
-	 * @return stdClass|WP_Error Data object `{ totals: *, intervals: array, total: int, pages: int, page_no: int }`, or error.
+	 * @return stdClass|\WP_Error Data object `{ totals: *, intervals: array, total: int, pages: int, page_no: int }`, or error.
 	 */
 	public function get_noncached_stats_data( $query_args, $params, &$data, $expected_interval_count ) {
 		global $wpdb;
diff --git a/plugins/woocommerce/src/Admin/API/Reports/Products/DataStore.php b/plugins/woocommerce/src/Admin/API/Reports/Products/DataStore.php
index 711eaa29f8e..4b6b00e2ef7 100644
--- a/plugins/woocommerce/src/Admin/API/Reports/Products/DataStore.php
+++ b/plugins/woocommerce/src/Admin/API/Reports/Products/DataStore.php
@@ -441,7 +441,7 @@ class DataStore extends ReportsDataStore implements DataStoreInterface {
 	 *
 	 * @see get_data
 	 * @param array $query_args Query parameters.
-	 * @return stdClass|WP_Error Data object `{ totals: *, intervals: array, total: int, pages: int, page_no: int }`, or error.
+	 * @return \stdClass|\WP_Error Data object `{ totals: *, intervals: array, total: int, pages: int, page_no: int }`, or error.
 	 */
 	public function get_noncached_data( $query_args ) {
 		global $wpdb;
diff --git a/plugins/woocommerce/src/Admin/API/Reports/Products/Stats/DataStore.php b/plugins/woocommerce/src/Admin/API/Reports/Products/Stats/DataStore.php
index 93b27b8300b..244f3918e96 100644
--- a/plugins/woocommerce/src/Admin/API/Reports/Products/Stats/DataStore.php
+++ b/plugins/woocommerce/src/Admin/API/Reports/Products/Stats/DataStore.php
@@ -152,11 +152,11 @@ class DataStore extends ProductsDataStore implements DataStoreInterface {
 	 *
 	 * @see get_data
 	 * @see get_noncached_stats_data
-	 * @param array    $query_args Query parameters.
-	 * @param array    $params                  Query limit parameters.
-	 * @param stdClass $data                    Reference to the data object to fill.
-	 * @param int      $expected_interval_count Number of expected intervals.
-	 * @return stdClass|WP_Error Data object `{ totals: *, intervals: array, total: int, pages: int, page_no: int }`, or error.
+	 * @param array     $query_args Query parameters.
+	 * @param array     $params                  Query limit parameters.
+	 * @param \stdClass $data                    Reference to the data object to fill.
+	 * @param int       $expected_interval_count Number of expected intervals.
+	 * @return \stdClass|\WP_Error Data object `{ totals: *, intervals: array, total: int, pages: int, page_no: int }`, or error.
 	 */
 	public function get_noncached_stats_data( $query_args, $params, &$data, $expected_interval_count ) {
 		global $wpdb;
diff --git a/plugins/woocommerce/src/Admin/API/Reports/Segmenter.php b/plugins/woocommerce/src/Admin/API/Reports/Segmenter.php
index c8315abe119..bdf76b581bb 100644
--- a/plugins/woocommerce/src/Admin/API/Reports/Segmenter.php
+++ b/plugins/woocommerce/src/Admin/API/Reports/Segmenter.php
@@ -553,7 +553,7 @@ class Segmenter {
 	/**
 	 * Adds missing segments to intervals, modifies $data.
 	 *
-	 * @param stdClass $data Response data.
+	 * @param \stdClass $data Response data.
 	 */
 	protected function fill_in_missing_interval_segments( &$data ) {
 		foreach ( $data->intervals as $order_id => $interval_data ) {
@@ -729,9 +729,9 @@ class Segmenter {
 	/**
 	 * Adds an array of segments to data->intervals object.
 	 *
-	 * @param stdClass $data Data object representing the REST response.
-	 * @param array    $intervals_query Intervals SQL query parameters.
-	 * @param string   $table_name Name of the SQL table that is the main order stats table.
+	 * @param \stdClass $data Data object representing the REST response.
+	 * @param array     $intervals_query Intervals SQL query parameters.
+	 * @param string    $table_name Name of the SQL table that is the main order stats table.
 	 */
 	public function add_intervals_segments( &$data, $intervals_query, $table_name ) {
 		$intervals_segments = $this->get_segments( 'intervals', $intervals_query, $table_name );
diff --git a/plugins/woocommerce/src/Admin/API/Reports/StatsDataStoreTrait.php b/plugins/woocommerce/src/Admin/API/Reports/StatsDataStoreTrait.php
index f05204336aa..6ba3da99da3 100644
--- a/plugins/woocommerce/src/Admin/API/Reports/StatsDataStoreTrait.php
+++ b/plugins/woocommerce/src/Admin/API/Reports/StatsDataStoreTrait.php
@@ -90,7 +90,7 @@ trait StatsDataStoreTrait {
 	 *
 	 * @see get_data
 	 * @param array $query_args Query parameters.
-	 * @return stdClass|WP_Error Data object, or error.
+	 * @return \stdClass|\WP_Error Data object, or error.
 	 */
 	public function get_noncached_data( $query_args ) {
 		$params                  = $this->get_limit_params( $query_args );
diff --git a/plugins/woocommerce/src/Admin/API/Reports/Taxes/DataStore.php b/plugins/woocommerce/src/Admin/API/Reports/Taxes/DataStore.php
index 879afb61c7f..6bac6ac807f 100644
--- a/plugins/woocommerce/src/Admin/API/Reports/Taxes/DataStore.php
+++ b/plugins/woocommerce/src/Admin/API/Reports/Taxes/DataStore.php
@@ -493,7 +493,7 @@ class DataStore extends ReportsDataStore implements DataStoreInterface {
 	 *
 	 * @see get_data
 	 * @param array $query_args Query parameters.
-	 * @return stdClass|WP_Error Data object `{ totals: *, intervals: array, total: int, pages: int, page_no: int }`, or error.
+	 * @return \stdClass|\WP_Error Data object `{ totals: *, intervals: array, total: int, pages: int, page_no: int }`, or error.
 	 */
 	public function get_noncached_data( $query_args ) {
 		global $wpdb;
diff --git a/plugins/woocommerce/src/Admin/API/Reports/Taxes/Stats/DataStore.php b/plugins/woocommerce/src/Admin/API/Reports/Taxes/Stats/DataStore.php
index dc164dcce2a..123ee18eb87 100644
--- a/plugins/woocommerce/src/Admin/API/Reports/Taxes/Stats/DataStore.php
+++ b/plugins/woocommerce/src/Admin/API/Reports/Taxes/Stats/DataStore.php
@@ -196,11 +196,11 @@ class DataStore extends ReportsDataStore implements DataStoreInterface {
 	 *
 	 * @see get_data
 	 * @see get_noncached_stats_data
-	 * @param array    $query_args Query parameters.
-	 * @param array    $params                  Query limit parameters.
-	 * @param stdClass $data                    Reference to the data object to fill.
-	 * @param int      $expected_interval_count Number of expected intervals.
-	 * @return stdClass|WP_Error Data object `{ totals: *, intervals: array, total: int, pages: int, page_no: int }`, or error.
+	 * @param array     $query_args Query parameters.
+	 * @param array     $params                  Query limit parameters.
+	 * @param \stdClass $data                    Reference to the data object to fill.
+	 * @param int       $expected_interval_count Number of expected intervals.
+	 * @return \stdClass|\WP_Error Data object `{ totals: *, intervals: array, total: int, pages: int, page_no: int }`, or error.
 	 */
 	public function get_noncached_stats_data( $query_args, $params, &$data, $expected_interval_count ) {
 		global $wpdb;
diff --git a/plugins/woocommerce/src/Admin/API/Reports/TimeInterval.php b/plugins/woocommerce/src/Admin/API/Reports/TimeInterval.php
index 641a2875ad0..9786d425030 100644
--- a/plugins/woocommerce/src/Admin/API/Reports/TimeInterval.php
+++ b/plugins/woocommerce/src/Admin/API/Reports/TimeInterval.php
@@ -30,7 +30,7 @@ class TimeInterval {
 	 * Converts local datetime to GMT/UTC time.
 	 *
 	 * @param string $datetime_string String representation of local datetime.
-	 * @return DateTime
+	 * @return \DateTime
 	 */
 	public static function convert_local_datetime_to_gmt( $datetime_string ) {
 		$datetime = new \DateTime( $datetime_string, new \DateTimeZone( wc_timezone_string() ) );
@@ -41,7 +41,7 @@ class TimeInterval {
 	/**
 	 * Returns default 'before' parameter for the reports.
 	 *
-	 * @return DateTime
+	 * @return \DateTime
 	 */
 	public static function default_before() {
 		$datetime = new \WC_DateTime();
@@ -57,7 +57,7 @@ class TimeInterval {
 	/**
 	 * Returns default 'after' parameter for the reports.
 	 *
-	 * @return DateTime
+	 * @return \DateTime
 	 */
 	public static function default_after() {
 		$now       = time();
@@ -111,8 +111,8 @@ class TimeInterval {
 	/**
 	 * Returns quarter for the DateTime.
 	 *
-	 * @param DateTime $datetime Local date & time.
-	 * @return int|null
+	 * @param \DateTime $datetime Local date & time.
+	 * @return int
 	 */
 	public static function quarter( $datetime ) {
 		switch ( (int) $datetime->format( 'm' ) ) {
@@ -134,7 +134,6 @@ class TimeInterval {
 				return 4;

 		}
-		return null;
 	}

 	/**
@@ -143,8 +142,8 @@ class TimeInterval {
 	 * The first week of the year is considered to be the week containing January 1.
 	 * The second week starts on the next $first_day_of_week.
 	 *
-	 * @param DateTime $datetime          Local date for which the week number is to be calculated.
-	 * @param int      $first_day_of_week 0 for Sunday to 6 for Saturday.
+	 * @param \DateTime $datetime          Local date for which the week number is to be calculated.
+	 * @param int       $first_day_of_week 0 for Sunday to 6 for Saturday.
 	 * @return int
 	 */
 	public static function simple_week_number( $datetime, $first_day_of_week ) {
@@ -161,8 +160,8 @@ class TimeInterval {
 	 *
 	 * @see TimeInterval::simple_week_number()
 	 *
-	 * @param DateTime $datetime          Local date for which the week number is to be calculated.
-	 * @param int      $first_day_of_week 0 for Sunday to 6 for Saturday.
+	 * @param \DateTime $datetime          Local date for which the week number is to be calculated.
+	 * @param int       $first_day_of_week 0 for Sunday to 6 for Saturday.
 	 * @return int
 	 */
 	public static function week_number( $datetime, $first_day_of_week ) {
@@ -177,8 +176,8 @@ class TimeInterval {
 	/**
 	 * Returns time interval id for the DateTime.
 	 *
-	 * @param string   $time_interval Time interval type (week, day, etc).
-	 * @param DateTime $datetime      Date & time.
+	 * @param string    $time_interval Time interval type (week, day, etc).
+	 * @param \DateTime $datetime      Date & time.
 	 * @return string
 	 */
 	public static function time_interval_id( $time_interval, $datetime ) {
@@ -208,9 +207,9 @@ class TimeInterval {
 	/**
 	 * Calculates number of time intervals between two dates, closed interval on both sides.
 	 *
-	 * @param DateTime $start_datetime Start date & time.
-	 * @param DateTime $end_datetime End date & time.
-	 * @param string   $interval Time interval increment, e.g. hour, day, week.
+	 * @param \DateTime $start_datetime Start date & time.
+	 * @param \DateTime $end_datetime End date & time.
+	 * @param string    $interval Time interval increment, e.g. hour, day, week.
 	 *
 	 * @return int
 	 */
@@ -272,9 +271,9 @@ class TimeInterval {
 	/**
 	 * Returns a new DateTime object representing the next hour start/previous hour end if reversed.
 	 *
-	 * @param DateTime $datetime Date and time.
-	 * @param bool     $reversed Going backwards in time instead of forward.
-	 * @return DateTime
+	 * @param \DateTime $datetime Date and time.
+	 * @param bool      $reversed Going backwards in time instead of forward.
+	 * @return \DateTime
 	 */
 	public static function next_hour_start( $datetime, $reversed = false ) {
 		$hour_increment         = $reversed ? 0 : 1;
@@ -295,9 +294,9 @@ class TimeInterval {
 	/**
 	 * Returns a new DateTime object representing the next day start, or previous day end if reversed.
 	 *
-	 * @param DateTime $datetime Date and time.
-	 * @param bool     $reversed Going backwards in time instead of forward.
-	 * @return DateTime
+	 * @param \DateTime $datetime Date and time.
+	 * @param bool      $reversed Going backwards in time instead of forward.
+	 * @return \DateTime
 	 */
 	public static function next_day_start( $datetime, $reversed = false ) {
 		$oneday       = new \DateInterval( 'P1D' );
@@ -321,9 +320,9 @@ class TimeInterval {
 	 * The previous week end is the last day of the previous week at 23:59:59.
 	 * The start day is determined by the "start_of_week" wp_option.
 	 *
-	 * @param DateTime $datetime Date and time.
-	 * @param bool     $reversed Going backwards in time instead of forward.
-	 * @return DateTime
+	 * @param \DateTime $datetime Date and time.
+	 * @param bool      $reversed Going backwards in time instead of forward.
+	 * @return \DateTime
 	 */
 	public static function next_week_start( $datetime, $reversed = false ) {
 		$seven_days = new \DateInterval( 'P7D' );
@@ -348,9 +347,9 @@ class TimeInterval {
 	/**
 	 * Returns a new DateTime object representing the next month start, or previous month end if reversed.
 	 *
-	 * @param DateTime $datetime Date and time.
-	 * @param bool     $reversed Going backwards in time instead of forward.
-	 * @return DateTime
+	 * @param \DateTime $datetime Date and time.
+	 * @param bool      $reversed Going backwards in time instead of forward.
+	 * @return \DateTime
 	 */
 	public static function next_month_start( $datetime, $reversed = false ) {
 		$month_increment = 1;
@@ -378,9 +377,9 @@ class TimeInterval {
 	/**
 	 * Returns a new DateTime object representing the next quarter start, or previous quarter end if reversed.
 	 *
-	 * @param DateTime $datetime Date and time.
-	 * @param bool     $reversed Going backwards in time instead of forward.
-	 * @return DateTime
+	 * @param \DateTime $datetime Date and time.
+	 * @param bool      $reversed Going backwards in time instead of forward.
+	 * @return \DateTime
 	 */
 	public static function next_quarter_start( $datetime, $reversed = false ) {
 		$year  = $datetime->format( 'Y' );
@@ -438,9 +437,9 @@ class TimeInterval {
 	/**
 	 * Return a new DateTime object representing the next year start, or previous year end if reversed.
 	 *
-	 * @param DateTime $datetime Date and time.
-	 * @param bool     $reversed Going backwards in time instead of forward.
-	 * @return DateTime
+	 * @param \DateTime $datetime Date and time.
+	 * @param bool      $reversed Going backwards in time instead of forward.
+	 * @return \DateTime
 	 */
 	public static function next_year_start( $datetime, $reversed = false ) {
 		$year_increment = 1;
@@ -466,10 +465,10 @@ class TimeInterval {
 	 *
 	 * E.g. for current DateTime, beginning of next day, week, quarter, etc.
 	 *
-	 * @param DateTime $datetime      Date and time.
-	 * @param string   $time_interval Time interval, e.g. week, day, hour.
-	 * @param bool     $reversed Going backwards in time instead of forward.
-	 * @return DateTime
+	 * @param \DateTime $datetime      Date and time.
+	 * @param string    $time_interval Time interval, e.g. week, day, hour.
+	 * @param bool      $reversed Going backwards in time instead of forward.
+	 * @return \DateTime
 	 */
 	public static function iterate( $datetime, $time_interval, $reversed = false ) {
 		return call_user_func( array( __CLASS__, "next_{$time_interval}_start" ), $datetime, $reversed );
@@ -644,7 +643,7 @@ class TimeInterval {
 	 * modified in place by the date calculations.
 	 *
 	 * @param string         $timeframe Timeframe to use.  One of: last_week|last_month|last_quarter|last_6_months|last_year.
-	 * @param \DateTime|null $current_date DateTime of current date to compare.
+	 * @param \DateTime|null $current_date \DateTime of current date to compare.
 	 * @return array|false Array of start and end dates, or false for an unknown timeframe.
 	 */
 	public static function get_timeframe_dates( $timeframe, $current_date = null ) {
diff --git a/plugins/woocommerce/src/Admin/API/Reports/Variations/DataStore.php b/plugins/woocommerce/src/Admin/API/Reports/Variations/DataStore.php
index 8175f83c5d5..6a3de2d6e11 100644
--- a/plugins/woocommerce/src/Admin/API/Reports/Variations/DataStore.php
+++ b/plugins/woocommerce/src/Admin/API/Reports/Variations/DataStore.php
@@ -416,7 +416,7 @@ class DataStore extends ReportsDataStore implements DataStoreInterface {
 	 *
 	 * @see get_data
 	 * @param array $query_args Query parameters.
-	 * @return stdClass|WP_Error Data object `{ totals: *, intervals: array, total: int, pages: int, page_no: int }`, or error.
+	 * @return \stdClass|\WP_Error Data object `{ totals: *, intervals: array, total: int, pages: int, page_no: int }`, or error.
 	 */
 	public function get_noncached_data( $query_args ) {
 		global $wpdb;
diff --git a/plugins/woocommerce/src/Admin/API/Reports/Variations/Stats/DataStore.php b/plugins/woocommerce/src/Admin/API/Reports/Variations/Stats/DataStore.php
index d277f341ccd..7dd8ebc6080 100644
--- a/plugins/woocommerce/src/Admin/API/Reports/Variations/Stats/DataStore.php
+++ b/plugins/woocommerce/src/Admin/API/Reports/Variations/Stats/DataStore.php
@@ -166,11 +166,11 @@ class DataStore extends VariationsDataStore implements DataStoreInterface {
 	 *
 	 * @see get_data
 	 * @see get_noncached_stats_data
-	 * @param array    $query_args Query parameters.
-	 * @param array    $params                  Query limit parameters.
-	 * @param stdClass $data                    Reference to the data object to fill.
-	 * @param int      $expected_interval_count Number of expected intervals.
-	 * @return stdClass|WP_Error Data object `{ totals: *, intervals: array, total: int, pages: int, page_no: int }`, or error.
+	 * @param array     $query_args Query parameters.
+	 * @param array     $params                  Query limit parameters.
+	 * @param \stdClass $data                    Reference to the data object to fill.
+	 * @param int       $expected_interval_count Number of expected intervals.
+	 * @return \stdClass|\WP_Error Data object `{ totals: *, intervals: array, total: int, pages: int, page_no: int }`, or error.
 	 */
 	public function get_noncached_stats_data( $query_args, $params, &$data, $expected_interval_count ) {
 		global $wpdb;