Lucas Werkmeister (WMDE) has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/399384 )

Change subject: Reuse blank/fresh metadata objects
......................................................................

Reuse blank/fresh metadata objects

All our metadata objects are immutable, so we can reuse a single
blank/fresh instance per class instead of instantiating new ones for
every invocation.

Change-Id: I9de5131aa0fd13f8cf95ce4106ea9ddbac219099
---
M src/ConstraintCheck/Cache/CachingMetadata.php
M src/ConstraintCheck/Cache/DependencyMetadata.php
M src/ConstraintCheck/Cache/Metadata.php
3 files changed, 15 insertions(+), 3 deletions(-)


  git pull 
ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/WikibaseQualityConstraints
 refs/changes/84/399384/1

diff --git a/src/ConstraintCheck/Cache/CachingMetadata.php 
b/src/ConstraintCheck/Cache/CachingMetadata.php
index 18217be..ed3443b 100644
--- a/src/ConstraintCheck/Cache/CachingMetadata.php
+++ b/src/ConstraintCheck/Cache/CachingMetadata.php
@@ -22,7 +22,11 @@
         * @return self Indication that a value is fresh, i. e. not cached.
         */
        public static function fresh() {
-               return new self;
+               static $fresh = null;
+               if ( $fresh === null ) {
+                       $fresh = new self;
+               }
+               return $fresh;
        }
 
        /**
diff --git a/src/ConstraintCheck/Cache/DependencyMetadata.php 
b/src/ConstraintCheck/Cache/DependencyMetadata.php
index fc30e2d..b39a260 100644
--- a/src/ConstraintCheck/Cache/DependencyMetadata.php
+++ b/src/ConstraintCheck/Cache/DependencyMetadata.php
@@ -22,7 +22,11 @@
         * @return self Indication that a value does not depend on anything 
else.
         */
        public static function blank() {
-               return new self;
+               static $blank = null;
+               if ( $blank === null ) {
+                       $blank = new self;
+               }
+               return $blank;
        }
 
        /**
diff --git a/src/ConstraintCheck/Cache/Metadata.php 
b/src/ConstraintCheck/Cache/Metadata.php
index c9ff9a3..3941902 100644
--- a/src/ConstraintCheck/Cache/Metadata.php
+++ b/src/ConstraintCheck/Cache/Metadata.php
@@ -26,7 +26,11 @@
         * @return self Empty collection.
         */
        public static function blank() {
-               return new self;
+               static $blank = null;
+               if ( $blank === null ) {
+                       $blank = new self;
+               }
+               return $blank;
        }
 
        public static function ofCachingMetadata( CachingMetadata 
$cachingMetadata ) {

-- 
To view, visit https://gerrit.wikimedia.org/r/399384
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I9de5131aa0fd13f8cf95ce4106ea9ddbac219099
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/WikibaseQualityConstraints
Gerrit-Branch: master
Gerrit-Owner: Lucas Werkmeister (WMDE) <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to