package Ġio . gitlab . art urb os ch . de te kt . core . config Ċ Ċ import Ġio . github . de te kt . tool ing . api . Max Issues Reached Ċ import Ġio . github . de te kt . tool ing . api . spec . Rules Spec Ċ import Ġio . gitlab . art urb os ch . de te kt . api . Config Ċ import Ġio . gitlab . art urb os ch . de te kt . core . reporting . BUILD Ċ Ċ internal Ġclass ĠMax Issue Check ( ĊĠĠĠ Ġprivate Ġval Ġrules Spec : ĠRules Spec , ĊĠĠĠ Ġprivate Ġval Ġconfig : ĠConfig Ċ ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġpolicy : ĠRules Spec . Max Issue Policy Ġ= Ġrun Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( rules Spec . max Issue Policy Ġ== ĠRules Spec . Max Issue Policy . Non Specified ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġconfigured Max Issues Ġ= Ġconfig . sub Config ( BUILD ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. value OrNull < Int >( MAX _ ISS UES _ KEY ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( configured Max Issues ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull Ġ-> Ġrules Spec . max Issue Policy ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 Ġ-> ĠRules Spec . Max Issue Policy . None Allowed ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġin Ġ 1 .. Int . MAX _ VALUE Ġ-> ĠRules Spec . Max Issue Policy . Allow Amount ( configured Max Issues ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠRules Spec . Max Issue Policy . Allow Any ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrules Spec . max Issue Policy ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġme ets Policy ( numberOf Issues : ĠInt ): ĠBoolean Ġ= Ġwhen Ġ( policy ) Ġ{ ĊĠĠĠĠĠĠĠ ĠRules Spec . Max Issue Policy . Allow Any Ġ-> Ġtrue ĊĠĠĠĠĠĠĠ ĠRules Spec . Max Issue Policy . None Allowed , ĠRules Spec . Max Issue Policy . Non Specified Ġ-> ĠnumberOf Issues Ġ== Ġ 0 ĊĠĠĠĠĠĠĠ Ġis ĠRules Spec . Max Issue Policy . Allow Amount Ġ-> ĠnumberOf Issues Ġ<= Ġpolicy . amount ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcheck ( numberOf Issues : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! me ets Policy ( numberOf Issues )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠMax Issues Reached (" Analysis Ġfailed Ġwith Ġ$ numberOf Issues Ġweighted Ġissues .") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ