Merge "Move SectionProfileCallback to its own file"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Sun, 14 Apr 2019 21:53:00 +0000 (21:53 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Sun, 14 Apr 2019 21:53:00 +0000 (21:53 +0000)
.phpcs.xml
autoload.php
includes/profiler/SectionProfileCallback.php [new file with mode: 0644]
includes/profiler/SectionProfiler.php

index 50635c0..aa120e8 100644 (file)
                <exclude-pattern>*/includes/parser/Preprocessor_DOM\.php</exclude-pattern>
                <exclude-pattern>*/includes/parser/Preprocessor_Hash\.php</exclude-pattern>
                <exclude-pattern>*/includes/parser/Preprocessor\.php</exclude-pattern>
-               <exclude-pattern>*/includes/profiler/SectionProfiler\.php</exclude-pattern>
                <exclude-pattern>*/includes/utils/AutoloadGenerator\.php</exclude-pattern>
                <exclude-pattern>*/maintenance/dumpIterator\.php</exclude-pattern>
                <exclude-pattern>*/maintenance/Maintenance\.php</exclude-pattern>
index 4b6682e..d06060e 100644 (file)
@@ -1314,7 +1314,7 @@ $wgAutoloadLocalClasses = [
        'SearchSuggestion' => __DIR__ . '/includes/search/SearchSuggestion.php',
        'SearchSuggestionSet' => __DIR__ . '/includes/search/SearchSuggestionSet.php',
        'SearchUpdate' => __DIR__ . '/includes/deferred/SearchUpdate.php',
-       'SectionProfileCallback' => __DIR__ . '/includes/profiler/SectionProfiler.php',
+       'SectionProfileCallback' => __DIR__ . '/includes/profiler/SectionProfileCallback.php',
        'SectionProfiler' => __DIR__ . '/includes/profiler/SectionProfiler.php',
        'SevenZipStream' => __DIR__ . '/maintenance/7zip.inc',
        'ShiConverter' => __DIR__ . '/languages/classes/LanguageShi.php',
diff --git a/includes/profiler/SectionProfileCallback.php b/includes/profiler/SectionProfileCallback.php
new file mode 100644 (file)
index 0000000..4c25c50
--- /dev/null
@@ -0,0 +1,48 @@
+<?php
+/**
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ * @ingroup Profiler
+ */
+use Wikimedia\ScopedCallback;
+
+/**
+ * Subclass ScopedCallback to avoid call_user_func_array(), which is slow.
+ *
+ * @internal For use by SectionProfiler
+ * @since 1.25
+ */
+class SectionProfileCallback extends ScopedCallback {
+       /** @var SectionProfiler */
+       protected $profiler;
+       /** @var string */
+       protected $section;
+
+       /**
+        * @param SectionProfiler $profiler
+        * @param string $section
+        */
+       public function __construct( SectionProfiler $profiler, $section ) {
+               parent::__construct( null );
+               $this->profiler = $profiler;
+               $this->section = $section;
+       }
+
+       function __destruct() {
+               $this->profiler->profileOutInternal( $this->section );
+       }
+}
index b00401d..c27ab4f 100644 (file)
@@ -496,29 +496,3 @@ class SectionProfiler {
                }
        }
 }
-
-/**
- * Subclass ScopedCallback to avoid call_user_func_array(), which is slow
- *
- * This class should not be used outside of SectionProfiler
- */
-class SectionProfileCallback extends ScopedCallback {
-       /** @var SectionProfiler */
-       protected $profiler;
-       /** @var string */
-       protected $section;
-
-       /**
-        * @param SectionProfiler $profiler
-        * @param string $section
-        */
-       public function __construct( SectionProfiler $profiler, $section ) {
-               parent::__construct( null );
-               $this->profiler = $profiler;
-               $this->section = $section;
-       }
-
-       function __destruct() {
-               $this->profiler->profileOutInternal( $this->section );
-       }
-}