Cleanup Preprocessor_DOM::preprocessToObj wfProfileOut()s
authorPlatonides <platonides@gmail.com>
Wed, 5 Jun 2013 01:07:42 +0000 (03:07 +0200)
committerReedy <reedy@wikimedia.org>
Sat, 21 Sep 2013 02:32:02 +0000 (02:32 +0000)
Simplify the multiple if levels used for profiling out.

Change-Id: Id0530207f99daca49a6a76ce256476b677a4108f

includes/parser/Preprocessor_DOM.php

index dde0609..3138f48 100644 (file)
@@ -183,21 +183,21 @@ class Preprocessor_DOM implements Preprocessor {
                        $xml = UtfNormal::cleanUp( $xml );
                        // 1 << 19 == XML_PARSE_HUGE, needed so newer versions of libxml2 don't barf when the XML is >256 levels deep
                        $result = $dom->loadXML( $xml, 1 << 19 );
-                       if ( !$result ) {
-                               wfProfileOut( __METHOD__ . '-loadXML' );
-                               if ( $cacheable ) {
-                                       wfProfileOut( __METHOD__ . '-cacheable' );
-                               }
-                               wfProfileOut( __METHOD__ );
-                               throw new MWException( __METHOD__ . ' generated invalid XML' );
-                       }
                }
-               $obj = new PPNode_DOM( $dom->documentElement );
+               if ( $result ) {
+                       $obj = new PPNode_DOM( $dom->documentElement );
+               }
                wfProfileOut( __METHOD__ . '-loadXML' );
+
                if ( $cacheable ) {
                        wfProfileOut( __METHOD__ . '-cacheable' );
                }
+
                wfProfileOut( __METHOD__ );
+
+               if ( !$result ) {
+                       throw new MWException( __METHOD__ . ' generated invalid XML' );
+               }
                return $obj;
        }