<?xml version="1.0" encoding="UTF-8"?>
<coverage generated="1783502450">
  <project timestamp="1783502450">
    <file name="/workspace/src/extensions/GlobalWatchlist/includes/GlobalWatchlistGuidedTourHooks.php">
      <class name="MediaWiki\Extension\GlobalWatchlist\GlobalWatchlistGuidedTourHooks" namespace="global">
        <metrics complexity="4" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="35" coveredstatements="35" elements="37" coveredelements="37"/>
      </class>
      <line num="38" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="41" type="stmt" count="4"/>
      <line num="46" type="method" name="onResourceLoaderRegisterModules" visibility="public" complexity="3" crap="3" count="4"/>
      <line num="47" type="stmt" count="4"/>
      <line num="48" type="stmt" count="4"/>
      <line num="49" type="stmt" count="4"/>
      <line num="51" type="stmt" count="3"/>
      <line num="58" type="stmt" count="1"/>
      <line num="59" type="stmt" count="1"/>
      <line num="60" type="stmt" count="1"/>
      <line num="61" type="stmt" count="1"/>
      <line num="62" type="stmt" count="1"/>
      <line num="63" type="stmt" count="1"/>
      <line num="64" type="stmt" count="1"/>
      <line num="65" type="stmt" count="1"/>
      <line num="66" type="stmt" count="1"/>
      <line num="67" type="stmt" count="1"/>
      <line num="68" type="stmt" count="1"/>
      <line num="69" type="stmt" count="1"/>
      <line num="70" type="stmt" count="1"/>
      <line num="71" type="stmt" count="1"/>
      <line num="72" type="stmt" count="1"/>
      <line num="73" type="stmt" count="1"/>
      <line num="74" type="stmt" count="1"/>
      <line num="75" type="stmt" count="1"/>
      <line num="76" type="stmt" count="1"/>
      <line num="77" type="stmt" count="1"/>
      <line num="78" type="stmt" count="1"/>
      <line num="79" type="stmt" count="1"/>
      <line num="80" type="stmt" count="1"/>
      <line num="81" type="stmt" count="1"/>
      <line num="82" type="stmt" count="1"/>
      <line num="83" type="stmt" count="1"/>
      <line num="84" type="stmt" count="1"/>
      <line num="85" type="stmt" count="1"/>
      <line num="86" type="stmt" count="1"/>
      <line num="87" type="stmt" count="1"/>
      <metrics loc="91" ncloc="60" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="35" coveredstatements="35" elements="37" coveredelements="37"/>
    </file>
    <file name="/workspace/src/extensions/GlobalWatchlist/includes/GlobalWatchlistHooks.php">
      <class name="MediaWiki\Extension\GlobalWatchlist\GlobalWatchlistHooks" namespace="global">
        <metrics complexity="7" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="24" coveredstatements="24" elements="29" coveredelements="29"/>
      </class>
      <line num="48" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="5"/>
      <line num="52" type="stmt" count="5"/>
      <line num="60" type="method" name="onApiOptions" visibility="public" complexity="2" crap="2" count="1"/>
      <line num="61" type="stmt" count="1"/>
      <line num="62" type="stmt" count="1"/>
      <line num="70" type="method" name="onGetPreferences" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="71" type="stmt" count="1"/>
      <line num="72" type="stmt" count="1"/>
      <line num="73" type="stmt" count="1"/>
      <line num="75" type="stmt" count="1"/>
      <line num="76" type="stmt" count="1"/>
      <line num="77" type="stmt" count="1"/>
      <line num="78" type="stmt" count="1"/>
      <line num="79" type="stmt" count="1"/>
      <line num="89" type="method" name="onLoginFormValidErrorMessages" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="90" type="stmt" count="1"/>
      <line num="91" type="stmt" count="1"/>
      <line num="100" type="method" name="onSidebarBeforeOutput" visibility="public" complexity="2" crap="2" count="2"/>
      <line num="101" type="stmt" count="2"/>
      <line num="102" type="stmt" count="1"/>
      <line num="105" type="stmt" count="1"/>
      <line num="106" type="stmt" count="1"/>
      <line num="107" type="stmt" count="1"/>
      <line num="109" type="stmt" count="1"/>
      <line num="110" type="stmt" count="1"/>
      <line num="111" type="stmt" count="1"/>
      <line num="112" type="stmt" count="1"/>
      <line num="113" type="stmt" count="1"/>
      <line num="114" type="stmt" count="1"/>
      <metrics loc="118" ncloc="71" classes="1" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="24" coveredstatements="24" elements="29" coveredelements="29"/>
    </file>
    <file name="/workspace/src/extensions/GlobalWatchlist/includes/ServiceWiring.php">
      <metrics loc="25" ncloc="20" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
    </file>
    <file name="/workspace/src/extensions/GlobalWatchlist/includes/SettingsFormValidator.php">
      <class name="MediaWiki\Extension\GlobalWatchlist\SettingsFormValidator" namespace="global">
        <metrics complexity="18" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="38" coveredstatements="38" elements="43" coveredelements="43"/>
      </class>
      <line num="42" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="7"/>
      <line num="47" type="stmt" count="7"/>
      <line num="61" type="method" name="validateAnonBot" visibility="public" complexity="3" crap="3" count="1"/>
      <line num="62" type="stmt" count="1"/>
      <line num="63" type="stmt" count="1"/>
      <line num="65" type="stmt" count="1"/>
      <line num="67" type="stmt" count="1"/>
      <line num="82" type="method" name="validateAnonMinor" visibility="public" complexity="3" crap="3" count="1"/>
      <line num="83" type="stmt" count="1"/>
      <line num="84" type="stmt" count="1"/>
      <line num="86" type="stmt" count="1"/>
      <line num="88" type="stmt" count="1"/>
      <line num="105" type="method" name="validateSitesChosen" visibility="public" complexity="9" crap="9" count="4"/>
      <line num="106" type="stmt" count="4"/>
      <line num="107" type="stmt" count="4"/>
      <line num="108" type="stmt" count="4"/>
      <line num="112" type="stmt" count="4"/>
      <line num="113" type="stmt" count="1"/>
      <line num="118" type="stmt" count="4"/>
      <line num="121" type="stmt" count="4"/>
      <line num="122" type="stmt" count="1"/>
      <line num="123" type="stmt" count="1"/>
      <line num="124" type="stmt" count="1"/>
      <line num="128" type="stmt" count="4"/>
      <line num="129" type="stmt" count="4"/>
      <line num="131" type="stmt" count="1"/>
      <line num="132" type="stmt" count="1"/>
      <line num="133" type="stmt" count="1"/>
      <line num="136" type="stmt" count="4"/>
      <line num="139" type="stmt" count="4"/>
      <line num="140" type="stmt" count="4"/>
      <line num="141" type="stmt" count="1"/>
      <line num="142" type="stmt" count="1"/>
      <line num="143" type="stmt" count="1"/>
      <line num="146" type="stmt" count="4"/>
      <line num="147" type="stmt" count="1"/>
      <line num="148" type="stmt" count="1"/>
      <line num="149" type="stmt" count="1"/>
      <line num="152" type="stmt" count="4"/>
      <line num="167" type="method" name="requireShowingOneType" visibility="public" complexity="2" crap="2" count="1"/>
      <line num="168" type="stmt" count="1"/>
      <line num="169" type="stmt" count="1"/>
      <line num="171" type="stmt" count="1"/>
      <metrics loc="175" ncloc="87" classes="1" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="38" coveredstatements="38" elements="43" coveredelements="43"/>
    </file>
    <file name="/workspace/src/extensions/GlobalWatchlist/includes/SettingsManager.php">
      <class name="MediaWiki\Extension\GlobalWatchlist\SettingsManager" namespace="global">
        <metrics complexity="5" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="25" coveredstatements="25" elements="29" coveredelements="29"/>
      </class>
      <line num="61" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="4"/>
      <line num="66" type="stmt" count="4"/>
      <line num="71" type="method" name="saveUserOptions" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="72" type="stmt" count="1"/>
      <line num="80" type="stmt" count="1"/>
      <line num="82" type="stmt" count="1"/>
      <line num="91" type="method" name="logSettingsChange" visibility="private" complexity="2" crap="2" count="3"/>
      <line num="92" type="stmt" count="3"/>
      <line num="93" type="stmt" count="3"/>
      <line num="94" type="stmt" count="3"/>
      <line num="95" type="stmt" count="3"/>
      <line num="96" type="stmt" count="3"/>
      <line num="100" type="stmt" count="3"/>
      <line num="101" type="stmt" count="2"/>
      <line num="103" type="stmt" count="1"/>
      <line num="110" type="method" name="saveOptionsInternal" visibility="private" complexity="1" crap="1" count="2"/>
      <line num="111" type="stmt" count="2"/>
      <line num="112" type="stmt" count="2"/>
      <line num="113" type="stmt" count="2"/>
      <line num="114" type="stmt" count="2"/>
      <line num="115" type="stmt" count="2"/>
      <line num="116" type="stmt" count="2"/>
      <line num="117" type="stmt" count="2"/>
      <line num="119" type="stmt" count="2"/>
      <line num="120" type="stmt" count="2"/>
      <line num="121" type="stmt" count="2"/>
      <line num="122" type="stmt" count="2"/>
      <line num="123" type="stmt" count="2"/>
      <line num="125" type="stmt" count="2"/>
      <metrics loc="129" ncloc="71" classes="1" methods="4" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="25" coveredstatements="25" elements="29" coveredelements="29"/>
    </file>
    <file name="/workspace/src/extensions/GlobalWatchlist/includes/SpecialGlobalWatchlist.php">
      <class name="MediaWiki\Extension\GlobalWatchlist\SpecialGlobalWatchlist" namespace="global">
        <metrics complexity="5" methods="5" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="20" coveredstatements="19" elements="25" coveredelements="23"/>
      </class>
      <line num="39" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="3"/>
      <line num="42" type="stmt" count="3"/>
      <line num="46" type="method" name="getRestriction" visibility="public" complexity="1" crap="2" count="0"/>
      <line num="47" type="stmt" count="0"/>
      <line num="53" type="method" name="execute" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="54" type="stmt" count="2"/>
      <line num="56" type="stmt" count="2"/>
      <line num="58" type="stmt" count="2"/>
      <line num="60" type="stmt" count="1"/>
      <line num="62" type="stmt" count="1"/>
      <line num="63" type="stmt" count="1"/>
      <line num="65" type="stmt" count="1"/>
      <line num="66" type="stmt" count="1"/>
      <line num="67" type="stmt" count="1"/>
      <line num="72" type="stmt" count="1"/>
      <line num="73" type="stmt" count="1"/>
      <line num="74" type="stmt" count="1"/>
      <line num="75" type="stmt" count="1"/>
      <line num="76" type="stmt" count="1"/>
      <line num="77" type="stmt" count="1"/>
      <line num="79" type="stmt" count="1"/>
      <line num="82" type="method" name="getGroupName" visibility="protected" complexity="1" crap="1" count="1"/>
      <line num="83" type="stmt" count="1"/>
      <line num="89" type="method" name="isListed" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="90" type="stmt" count="1"/>
      <metrics loc="94" ncloc="57" classes="1" methods="5" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="20" coveredstatements="19" elements="25" coveredelements="23"/>
    </file>
    <file name="/workspace/src/extensions/GlobalWatchlist/includes/SpecialGlobalWatchlistSettings.php">
      <class name="MediaWiki\Extension\GlobalWatchlist\SpecialGlobalWatchlistSettings" namespace="global">
        <metrics complexity="27" methods="14" coveredmethods="14" conditionals="0" coveredconditionals="0" statements="192" coveredstatements="192" elements="206" coveredelements="206"/>
      </class>
      <line num="46" type="method" name="__construct" visibility="public" complexity="1" crap="1" count="14"/>
      <line num="52" type="stmt" count="14"/>
      <line num="53" type="stmt" count="14"/>
      <line num="57" type="method" name="getRestriction" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="58" type="stmt" count="1"/>
      <line num="64" type="method" name="execute" visibility="public" complexity="1" crap="1" count="2"/>
      <line num="65" type="stmt" count="2"/>
      <line num="67" type="stmt" count="2"/>
      <line num="69" type="stmt" count="1"/>
      <line num="70" type="stmt" count="1"/>
      <line num="71" type="stmt" count="1"/>
      <line num="72" type="stmt" count="1"/>
      <line num="74" type="stmt" count="1"/>
      <line num="80" type="method" name="getFormFields" visibility="protected" complexity="3" crap="3" count="4"/>
      <line num="81" type="stmt" count="4"/>
      <line num="82" type="stmt" count="4"/>
      <line num="83" type="stmt" count="4"/>
      <line num="84" type="stmt" count="4"/>
      <line num="85" type="stmt" count="4"/>
      <line num="88" type="stmt" count="4"/>
      <line num="89" type="stmt" count="4"/>
      <line num="90" type="stmt" count="4"/>
      <line num="91" type="stmt" count="4"/>
      <line num="92" type="stmt" count="4"/>
      <line num="93" type="stmt" count="4"/>
      <line num="94" type="stmt" count="4"/>
      <line num="95" type="stmt" count="4"/>
      <line num="96" type="stmt" count="4"/>
      <line num="97" type="stmt" count="4"/>
      <line num="98" type="stmt" count="4"/>
      <line num="99" type="stmt" count="4"/>
      <line num="100" type="stmt" count="4"/>
      <line num="102" type="stmt" count="4"/>
      <line num="103" type="stmt" count="2"/>
      <line num="104" type="stmt" count="2"/>
      <line num="107" type="stmt" count="2"/>
      <line num="108" type="stmt" count="2"/>
      <line num="109" type="stmt" count="1"/>
      <line num="112" type="stmt" count="1"/>
      <line num="113" type="stmt" count="1"/>
      <line num="114" type="stmt" count="1"/>
      <line num="116" type="stmt" count="1"/>
      <line num="120" type="stmt" count="4"/>
      <line num="121" type="stmt" count="4"/>
      <line num="122" type="stmt" count="4"/>
      <line num="123" type="stmt" count="4"/>
      <line num="124" type="stmt" count="4"/>
      <line num="126" type="stmt" count="4"/>
      <line num="135" type="method" name="maybeLoadTour" visibility="private" complexity="3" crap="3" count="6"/>
      <line num="137" type="stmt" count="6"/>
      <line num="138" type="stmt" count="6"/>
      <line num="140" type="stmt" count="2"/>
      <line num="141" type="stmt" count="2"/>
      <line num="142" type="stmt" count="2"/>
      <line num="191" type="method" name="getDisplayFormat" visibility="protected" complexity="1" crap="1" count="2"/>
      <line num="192" type="stmt" count="2"/>
      <line num="198" type="method" name="getMessagePrefix" visibility="protected" complexity="1" crap="1" count="2"/>
      <line num="199" type="stmt" count="2"/>
      <line num="205" type="method" name="alterForm" visibility="protected" complexity="1" crap="1" count="2"/>
      <line num="206" type="stmt" count="2"/>
      <line num="207" type="stmt" count="2"/>
      <line num="208" type="stmt" count="2"/>
      <line num="212" type="stmt" count="2"/>
      <line num="213" type="stmt" count="2"/>
      <line num="214" type="stmt" count="2"/>
      <line num="220" type="method" name="getActualFormFields" visibility="private" complexity="5" crap="5" count="5"/>
      <line num="224" type="stmt" count="5"/>
      <line num="238" type="stmt" count="5"/>
      <line num="239" type="stmt" count="5"/>
      <line num="240" type="stmt" count="5"/>
      <line num="241" type="stmt" count="5"/>
      <line num="242" type="stmt" count="5"/>
      <line num="243" type="stmt" count="5"/>
      <line num="246" type="stmt" count="5"/>
      <line num="247" type="stmt" count="5"/>
      <line num="248" type="stmt" count="5"/>
      <line num="249" type="stmt" count="5"/>
      <line num="250" type="stmt" count="5"/>
      <line num="251" type="stmt" count="5"/>
      <line num="252" type="stmt" count="5"/>
      <line num="253" type="stmt" count="5"/>
      <line num="254" type="stmt" count="5"/>
      <line num="255" type="stmt" count="5"/>
      <line num="256" type="stmt" count="5"/>
      <line num="257" type="stmt" count="5"/>
      <line num="258" type="stmt" count="5"/>
      <line num="259" type="stmt" count="5"/>
      <line num="261" type="stmt" count="5"/>
      <line num="262" type="stmt" count="5"/>
      <line num="263" type="stmt" count="5"/>
      <line num="264" type="stmt" count="5"/>
      <line num="265" type="stmt" count="5"/>
      <line num="266" type="stmt" count="5"/>
      <line num="267" type="stmt" count="5"/>
      <line num="268" type="stmt" count="5"/>
      <line num="269" type="stmt" count="5"/>
      <line num="272" type="stmt" count="5"/>
      <line num="273" type="stmt" count="5"/>
      <line num="274" type="stmt" count="5"/>
      <line num="275" type="stmt" count="5"/>
      <line num="276" type="stmt" count="5"/>
      <line num="277" type="stmt" count="5"/>
      <line num="278" type="stmt" count="5"/>
      <line num="279" type="stmt" count="5"/>
      <line num="280" type="stmt" count="5"/>
      <line num="281" type="stmt" count="5"/>
      <line num="282" type="stmt" count="5"/>
      <line num="283" type="stmt" count="5"/>
      <line num="284" type="stmt" count="5"/>
      <line num="285" type="stmt" count="5"/>
      <line num="286" type="stmt" count="5"/>
      <line num="287" type="stmt" count="5"/>
      <line num="288" type="stmt" count="5"/>
      <line num="289" type="stmt" count="5"/>
      <line num="290" type="stmt" count="5"/>
      <line num="291" type="stmt" count="5"/>
      <line num="292" type="stmt" count="5"/>
      <line num="293" type="stmt" count="5"/>
      <line num="294" type="stmt" count="5"/>
      <line num="295" type="stmt" count="5"/>
      <line num="296" type="stmt" count="5"/>
      <line num="297" type="stmt" count="5"/>
      <line num="298" type="stmt" count="5"/>
      <line num="299" type="stmt" count="5"/>
      <line num="300" type="stmt" count="5"/>
      <line num="301" type="stmt" count="5"/>
      <line num="302" type="stmt" count="5"/>
      <line num="303" type="stmt" count="5"/>
      <line num="304" type="stmt" count="5"/>
      <line num="305" type="stmt" count="5"/>
      <line num="306" type="stmt" count="5"/>
      <line num="309" type="stmt" count="5"/>
      <line num="310" type="stmt" count="5"/>
      <line num="311" type="stmt" count="5"/>
      <line num="312" type="stmt" count="5"/>
      <line num="313" type="stmt" count="5"/>
      <line num="314" type="stmt" count="5"/>
      <line num="315" type="stmt" count="5"/>
      <line num="316" type="stmt" count="5"/>
      <line num="317" type="stmt" count="5"/>
      <line num="318" type="stmt" count="5"/>
      <line num="319" type="stmt" count="5"/>
      <line num="320" type="stmt" count="5"/>
      <line num="322" type="stmt" count="5"/>
      <line num="323" type="stmt" count="5"/>
      <line num="324" type="stmt" count="5"/>
      <line num="326" type="stmt" count="5"/>
      <line num="327" type="stmt" count="5"/>
      <line num="329" type="stmt" count="5"/>
      <line num="330" type="stmt" count="1"/>
      <line num="332" type="stmt" count="5"/>
      <line num="333" type="stmt" count="5"/>
      <line num="334" type="stmt" count="5"/>
      <line num="335" type="stmt" count="5"/>
      <line num="336" type="stmt" count="5"/>
      <line num="337" type="stmt" count="5"/>
      <line num="338" type="stmt" count="5"/>
      <line num="339" type="stmt" count="5"/>
      <line num="340" type="stmt" count="5"/>
      <line num="341" type="stmt" count="5"/>
      <line num="342" type="stmt" count="5"/>
      <line num="344" type="stmt" count="5"/>
      <line num="352" type="method" name="onSubmit" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="353" type="stmt" count="1"/>
      <line num="354" type="stmt" count="1"/>
      <line num="355" type="stmt" count="1"/>
      <line num="356" type="stmt" count="1"/>
      <line num="357" type="stmt" count="1"/>
      <line num="358" type="stmt" count="1"/>
      <line num="360" type="stmt" count="1"/>
      <line num="361" type="stmt" count="1"/>
      <line num="363" type="stmt" count="1"/>
      <line num="364" type="stmt" count="1"/>
      <line num="365" type="stmt" count="1"/>
      <line num="366" type="stmt" count="1"/>
      <line num="370" type="stmt" count="1"/>
      <line num="371" type="stmt" count="1"/>
      <line num="372" type="stmt" count="1"/>
      <line num="373" type="stmt" count="1"/>
      <line num="374" type="stmt" count="1"/>
      <line num="375" type="stmt" count="1"/>
      <line num="376" type="stmt" count="1"/>
      <line num="377" type="stmt" count="1"/>
      <line num="379" type="stmt" count="1"/>
      <line num="380" type="stmt" count="1"/>
      <line num="381" type="stmt" count="1"/>
      <line num="382" type="stmt" count="1"/>
      <line num="383" type="stmt" count="1"/>
      <line num="384" type="stmt" count="1"/>
      <line num="385" type="stmt" count="1"/>
      <line num="386" type="stmt" count="1"/>
      <line num="387" type="stmt" count="1"/>
      <line num="388" type="stmt" count="1"/>
      <line num="390" type="stmt" count="1"/>
      <line num="391" type="stmt" count="1"/>
      <line num="392" type="stmt" count="1"/>
      <line num="393" type="stmt" count="1"/>
      <line num="394" type="stmt" count="1"/>
      <line num="400" type="method" name="onSuccess" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="401" type="stmt" count="1"/>
      <line num="404" type="method" name="doesWrites" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="405" type="stmt" count="1"/>
      <line num="408" type="method" name="getGroupName" visibility="protected" complexity="1" crap="1" count="1"/>
      <line num="409" type="stmt" count="1"/>
      <line num="415" type="method" name="isListed" visibility="public" complexity="1" crap="1" count="1"/>
      <line num="416" type="stmt" count="1"/>
      <metrics loc="420" ncloc="322" classes="1" methods="14" coveredmethods="14" conditionals="0" coveredconditionals="0" statements="192" coveredstatements="192" elements="206" coveredelements="206"/>
    </file>
    <metrics files="7" loc="1052" ncloc="688" classes="6" methods="35" coveredmethods="34" conditionals="0" coveredconditionals="0" statements="334" coveredstatements="333" elements="369" coveredelements="367"/>
  </project>
</coverage>
