{"$schema":"https://json.schemastore.org/sarif-2.1.0.json","version":"2.1.0","runs":[{"tool":{"driver":{"name":"codehealth","informationUri":"https://codehealth.canine.dev","rules":[{"id":"D1","name":"Cyclomatic Complexity","shortDescription":{"text":"Cyclomatic Complexity"},"helpUri":"https://codehealth.canine.dev/dimensions/D1"},{"id":"D2","name":"Cognitive Complexity","shortDescription":{"text":"Cognitive Complexity"},"helpUri":"https://codehealth.canine.dev/dimensions/D2"},{"id":"D3","name":"God Classes","shortDescription":{"text":"God Classes"},"helpUri":"https://codehealth.canine.dev/dimensions/D3"},{"id":"D4","name":"Code Duplication","shortDescription":{"text":"Code Duplication"},"helpUri":"https://codehealth.canine.dev/dimensions/D4"},{"id":"D13","name":"Secret Scanning","shortDescription":{"text":"Secret Scanning"},"helpUri":"https://codehealth.canine.dev/dimensions/D13","relationships":[{"target":{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]},{"target":{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]}],"properties":{"cwe":["CWE-798","CWE-259"]}},{"id":"D15","name":"Churn \u00D7 Complexity Hotspots","shortDescription":{"text":"Churn \u00D7 Complexity Hotspots"},"helpUri":"https://codehealth.canine.dev/dimensions/D15"},{"id":"D16","name":"Bus Factor","shortDescription":{"text":"Bus Factor"},"helpUri":"https://codehealth.canine.dev/dimensions/D16"},{"id":"D21","name":"Naming Consistency","shortDescription":{"text":"Naming Consistency"},"helpUri":"https://codehealth.canine.dev/dimensions/D21"},{"id":"D28","name":"Secrets (history)","shortDescription":{"text":"Secrets (history)"},"helpUri":"https://codehealth.canine.dev/dimensions/D28","relationships":[{"target":{"id":"CWE-798","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]},{"target":{"id":"CWE-259","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]}],"properties":{"cwe":["CWE-798","CWE-259"]}},{"id":"D29","name":"Static Analysis (SAST)","shortDescription":{"text":"Static Analysis (SAST)"},"helpUri":"https://codehealth.canine.dev/dimensions/D29","relationships":[{"target":{"id":"CWE-79","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]},{"target":{"id":"CWE-89","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]},{"target":{"id":"CWE-78","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]},{"target":{"id":"CWE-94","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]},{"target":{"id":"CWE-77","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]}],"properties":{"cwe":["CWE-79","CWE-89","CWE-78","CWE-94","CWE-77"]}},{"id":"D34","name":"Knowledge Freshness","shortDescription":{"text":"Knowledge Freshness"},"helpUri":"https://codehealth.canine.dev/dimensions/D34"},{"id":"D35","name":"Change Coupling","shortDescription":{"text":"Change Coupling"},"helpUri":"https://codehealth.canine.dev/dimensions/D35"}]}},"results":[{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorAuthRegisterController.handleRequest (cyclomatic 88): PhabricatorAuthRegisterController.handleRequest has cyclomatic complexity 88 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/controller/PhabricatorAuthRegisterController.php"},"region":{"startLine":10}}}],"partialFingerprints":{"codehealthFindingId/v1":"496bbcf1c730841baf45b19ceb85021b46af6f3c2f1f35b0a02905bdbbe7727a"}},{"ruleId":"D1","level":"warning","message":{"text":"DifferentialChangesetParser.render (cyclomatic 65): DifferentialChangesetParser.render has cyclomatic complexity 65 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/parser/DifferentialChangesetParser.php"},"region":{"startLine":749}}}],"partialFingerprints":{"codehealthFindingId/v1":"e7796f942805bf64e5e32f28e03c961b79093f4402e71858b4ed89df1e4ce7e1"}},{"ruleId":"D1","level":"warning","message":{"text":"PhutilSearchQueryCompiler.tokenizeQuery (cyclomatic 62): PhutilSearchQueryCompiler.tokenizeQuery has cyclomatic complexity 62 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/search/compiler/PhutilSearchQueryCompiler.php"},"region":{"startLine":104}}}],"partialFingerprints":{"codehealthFindingId/v1":"b3d49ccc43e6b74d8fc3b39f008a61f97d9c40cddc1d6d6978c98732cf247bd6"}},{"ruleId":"D1","level":"warning","message":{"text":"HarbormasterBuildLogRenderController.handleRequest (cyclomatic 60): HarbormasterBuildLogRenderController.handleRequest has cyclomatic complexity 60 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/harbormaster/controller/HarbormasterBuildLogRenderController.php"},"region":{"startLine":10}}}],"partialFingerprints":{"codehealthFindingId/v1":"552dae395bb799c0ced60fab71aa5fcc2604ab2af7dd6027b31bdcff4b6aeedf"}},{"ruleId":"D1","level":"warning","message":{"text":"DifferentialRevisionViewController.handleRequest (cyclomatic 57): DifferentialRevisionViewController.handleRequest has cyclomatic complexity 57 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/controller/DifferentialRevisionViewController.php"},"region":{"startLine":43}}}],"partialFingerprints":{"codehealthFindingId/v1":"e02c3d4f370892426a9b956dc2e44413b26c4efa62d898bca84f3310436367a8"}},{"ruleId":"D1","level":"warning","message":{"text":"DifferentialChangesetHTMLRenderer.renderChangeTypeHeader (cyclomatic 57): DifferentialChangesetHTMLRenderer.renderChangeTypeHeader has cyclomatic complexity 57 (threshold 15). To reduce it, keep the dispatch but shrink the arms: move each non-trivial case body into its own named function (or onto the value being matched) so the dispatch reads one line per case, and group related cases into a sub-dispatch. Where every arm is uniform \u2014 the same kind of value, with no behaviour of its own \u2014 a table keyed by the case is the shorter form; wherever the arms carry different data or different behaviour, keep them as cases, because collapsing those trades an explicit, reviewable set of cases for nothing."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/render/DifferentialChangesetHTMLRenderer.php"},"region":{"startLine":21}}}],"partialFingerprints":{"codehealthFindingId/v1":"9340ac0aa517cf7ba28650960c6a8524959e00e98535e7da6656608469842db6"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorRepositorySvnCommitChangeParserWorker.parseCommitChanges (cyclomatic 54): PhabricatorRepositorySvnCommitChangeParserWorker.parseCommitChanges has cyclomatic complexity 54 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/worker/commitchangeparser/PhabricatorRepositorySvnCommitChangeParserWorker.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"0db9ef1fa6c5b13a186d38705e4764237e265dfad42c53c7d2aaed8897fe5d14"}},{"ruleId":"D1","level":"warning","message":{"text":"DifferentialChangesetTwoUpRenderer.renderTextChange (cyclomatic 52): DifferentialChangesetTwoUpRenderer.renderTextChange has cyclomatic complexity 52 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/render/DifferentialChangesetTwoUpRenderer.php"},"region":{"startLine":31}}}],"partialFingerprints":{"codehealthFindingId/v1":"0411d95c4d54e6f8463527ada6ff9827739f7ed663103f385b5df0a8c00dbbe5"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorCalendarImportEngine.importEventDocument (cyclomatic 51): PhabricatorCalendarImportEngine.importEventDocument has cyclomatic complexity 51 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/import/PhabricatorCalendarImportEngine.php"},"region":{"startLine":55}}}],"partialFingerprints":{"codehealthFindingId/v1":"828ad281652e77dc0f46f5e0fa60a58304a2e3def8c2e6b2d1bce8e8ecef088a"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorApplicationSearchController.processSearchRequest (cyclomatic 51): PhabricatorApplicationSearchController.processSearchRequest has cyclomatic complexity 51 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/search/controller/PhabricatorApplicationSearchController.php"},"region":{"startLine":95}}}],"partialFingerprints":{"codehealthFindingId/v1":"200038089323d4251a8aced8f25e8f4ab312ff7d802d4501a09500adf7c24be1"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorApplicationTransactionEditor.applyTransactions (cyclomatic 50): PhabricatorApplicationTransactionEditor.applyTransactions has cyclomatic complexity 50 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php"},"region":{"startLine":1175}}}],"partialFingerprints":{"codehealthFindingId/v1":"d1b6401912b52d6b027d00cd13cd5361f43ff7367775ff13b24c85cd2ca98cca"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorRepositoryMercurialCommitChangeParserWorker.parseCommitChanges (cyclomatic 49): PhabricatorRepositoryMercurialCommitChangeParserWorker.parseCommitChanges has cyclomatic complexity 49 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/worker/commitchangeparser/PhabricatorRepositoryMercurialCommitChangeParserWorker.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"60137da48d136a562533ebce4621525630993d8007a297a0b4d8e844dcb78e88"}},{"ruleId":"D1","level":"warning","message":{"text":"DiffusionCommitQuery.buildWhereClauseParts (cyclomatic 48): DiffusionCommitQuery.buildWhereClauseParts has cyclomatic complexity 48 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/query/DiffusionCommitQuery.php"},"region":{"startLine":534}}}],"partialFingerprints":{"codehealthFindingId/v1":"b3668404ffd30de4ff516b521a9e7e037c91a5336ff5f29075f895a56683dbf7"}},{"ruleId":"D1","level":"warning","message":{"text":"DiffusionCommitController.handleRequest (cyclomatic 47): DiffusionCommitController.handleRequest has cyclomatic complexity 47 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/controller/DiffusionCommitController.php"},"region":{"startLine":17}}}],"partialFingerprints":{"codehealthFindingId/v1":"9bb2c9207b14365572ab6e9f190d35b60b8b64e989dfa1f954e30f24f7959711"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorProfileMenuEngine.buildResponse (cyclomatic 47): PhabricatorProfileMenuEngine.buildResponse has cyclomatic complexity 47 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/search/engine/PhabricatorProfileMenuEngine.php"},"region":{"startLine":102}}}],"partialFingerprints":{"codehealthFindingId/v1":"49b6489b5947ff8cf9080d5acdeb122c46b10e64903269ea8409f1965096eb71"}},{"ruleId":"D1","level":"warning","message":{"text":"PHUIDiffInlineCommentDetailView.render (cyclomatic 46): PHUIDiffInlineCommentDetailView.render has cyclomatic complexity 46 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/diff/view/PHUIDiffInlineCommentDetailView.php"},"region":{"startLine":78}}}],"partialFingerprints":{"codehealthFindingId/v1":"7f0db53b5d3502ff821ba2c7a266358bcfdca61e2561675a4787bbbd194e71e1"}},{"ruleId":"D1","level":"warning","message":{"text":"PHUIObjectItemView.getTagContent (cyclomatic 46): PHUIObjectItemView.getTagContent has cyclomatic complexity 46 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/phui/PHUIObjectItemView.php"},"region":{"startLine":383}}}],"partialFingerprints":{"codehealthFindingId/v1":"cf0060cb5cc4cbfc567acdf8ba03361f5e02c9965c44240a2cdefff39cb1ddc7"}},{"ruleId":"D1","level":"warning","message":{"text":"HeraldAdapter.doesConditionMatch (cyclomatic 43): HeraldAdapter.doesConditionMatch has cyclomatic complexity 43 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/herald/adapter/HeraldAdapter.php"},"region":{"startLine":444}}}],"partialFingerprints":{"codehealthFindingId/v1":"4745a55a2bb895c887a5fde321db26296f3e59427d00aee60ac61532af6dc400"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorConfigSchemaSpec.getDetailsForDataType (cyclomatic 42): PhabricatorConfigSchemaSpec.getDetailsForDataType has cyclomatic complexity 42 (threshold 15). To reduce it, keep the dispatch but shrink the arms: move each non-trivial case body into its own named function (or onto the value being matched) so the dispatch reads one line per case, and group related cases into a sub-dispatch. Where every arm is uniform \u2014 the same kind of value, with no behaviour of its own \u2014 a table keyed by the case is the shorter form; wherever the arms carry different data or different behaviour, keep them as cases, because collapsing those trades an explicit, reviewable set of cases for nothing."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/schema/PhabricatorConfigSchemaSpec.php"},"region":{"startLine":269}}}],"partialFingerprints":{"codehealthFindingId/v1":"521bfbc4c87ae085323c3151bff64e49c62ffb6cd757dbf811834b711945997b"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorInlineCommentAdjustmentEngine.execute (cyclomatic 42): PhabricatorInlineCommentAdjustmentEngine.execute has cyclomatic complexity 42 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/diff/engine/PhabricatorInlineCommentAdjustmentEngine.php"},"region":{"startLine":60}}}],"partialFingerprints":{"codehealthFindingId/v1":"3a56ec5101cf0054e55c5f3e0603c642f08c0be2374946c38fbf42981bc921bd"}},{"ruleId":"D1","level":"warning","message":{"text":"DiffusionServeController.serveRequest (cyclomatic 41): DiffusionServeController.serveRequest has cyclomatic complexity 41 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/controller/DiffusionServeController.php"},"region":{"startLine":176}}}],"partialFingerprints":{"codehealthFindingId/v1":"91677eba71924b42724efbae82985d7c3e2316167a6e2486a01ee9f10ecc19f5"}},{"ruleId":"D1","level":"warning","message":{"text":"AphrontTableView.render (cyclomatic 41): AphrontTableView.render has cyclomatic complexity 41 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/control/AphrontTableView.php"},"region":{"startLine":131}}}],"partialFingerprints":{"codehealthFindingId/v1":"67322e3304943c21603466a37e7ef652d28dcc077dae385dda142463aef10fb7"}},{"ruleId":"D1","level":"warning","message":{"text":"DiffusionURIEditor.validateTransaction (cyclomatic 40): DiffusionURIEditor.validateTransaction has cyclomatic complexity 40 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/editor/DiffusionURIEditor.php"},"region":{"startLine":156}}}],"partialFingerprints":{"codehealthFindingId/v1":"efb228bf9b65a96cea5fe14594d4bb8a570f26529751343ae93db6519e2ab50c"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorManiphestTaskFactEngine.newDatapointsForObject (cyclomatic 39): PhabricatorManiphestTaskFactEngine.newDatapointsForObject has cyclomatic complexity 39 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/fact/engine/PhabricatorManiphestTaskFactEngine.php"},"region":{"startLine":86}}}],"partialFingerprints":{"codehealthFindingId/v1":"ba2b960202fd734d6bffbac3a65ce3abe8dd718a8b6fe875a4ee79b81d766de2"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorRepositoryManagementReparseWorkflow.execute (cyclomatic 39): PhabricatorRepositoryManagementReparseWorkflow.execute has cyclomatic complexity 39 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/management/PhabricatorRepositoryManagementReparseWorkflow.php"},"region":{"startLine":81}}}],"partialFingerprints":{"codehealthFindingId/v1":"f0342e30300fe794165bfd1ee3d72d729dc88040c8eebef05f8cdac093b3d2da"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorEditEngine.buildEditResponse (cyclomatic 39): PhabricatorEditEngine.buildEditResponse has cyclomatic complexity 39 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/editengine/PhabricatorEditEngine.php"},"region":{"startLine":1033}}}],"partialFingerprints":{"codehealthFindingId/v1":"0cd08a3a709c17c1cb954dca57fbdde31e667511e3729b871fcabf66143045bd"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorWorkerManagementWorkflow.loadTasks (cyclomatic 39): PhabricatorWorkerManagementWorkflow.loadTasks has cyclomatic complexity 39 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/daemon/workers/management/PhabricatorWorkerManagementWorkflow.php"},"region":{"startLine":69}}}],"partialFingerprints":{"codehealthFindingId/v1":"156be2c5596a98c23e78c77ea6238149368c4ad293c8702e011e3b0dc9a0fc7b"}},{"ruleId":"D1","level":"warning","message":{"text":"DifferentialChangesetViewController.handleRequest (cyclomatic 38): DifferentialChangesetViewController.handleRequest has cyclomatic complexity 38 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/controller/DifferentialChangesetViewController.php"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"9b103934a82df27b0ee442be04989c1a3eac3b1ab8543d463ef5a7c5e22df7ca"}},{"ruleId":"D1","level":"warning","message":{"text":"DiffusionRepositoryBasicsManagementPanel.buildRepositoryStatus (cyclomatic 38): DiffusionRepositoryBasicsManagementPanel.buildRepositoryStatus has cyclomatic complexity 38 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/management/DiffusionRepositoryBasicsManagementPanel.php"},"region":{"startLine":336}}}],"partialFingerprints":{"codehealthFindingId/v1":"32122bc24302dc69f4c822317d110f5a3e3500f2601c0a4d6da129e4d7bb0fdd"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorFilesManagementIntegrityWorkflow.execute (cyclomatic 38): PhabricatorFilesManagementIntegrityWorkflow.execute has cyclomatic complexity 38 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/files/management/PhabricatorFilesManagementIntegrityWorkflow.php"},"region":{"startLine":53}}}],"partialFingerprints":{"codehealthFindingId/v1":"594ad0078b06b55e0dbf5892585610472a5e5a4b1959f28edad40e4b574df898"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorSearchManagementIndexWorkflow.execute (cyclomatic 38): PhabricatorSearchManagementIndexWorkflow.execute has cyclomatic complexity 38 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/search/management/PhabricatorSearchManagementIndexWorkflow.php"},"region":{"startLine":74}}}],"partialFingerprints":{"codehealthFindingId/v1":"77115473eb126bcc21426a7c6a12a7fc39d4a15310e2d316ddc1f5ff410e959c"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorController.willBeginExecution (cyclomatic 37): PhabricatorController.willBeginExecution has cyclomatic complexity 37 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/base/controller/PhabricatorController.php"},"region":{"startLine":64}}}],"partialFingerprints":{"codehealthFindingId/v1":"0f07de954206d675014ac4204cd593347a4c62fcbe475b9b2070d2759ed112a1"}},{"ruleId":"D1","level":"warning","message":{"text":"PhutilCalendarRecurrenceRule.newDaysSet (cyclomatic 35): PhutilCalendarRecurrenceRule.newDaysSet has cyclomatic complexity 35 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/parser/data/PhutilCalendarRecurrenceRule.php"},"region":{"startLine":1178}}}],"partialFingerprints":{"codehealthFindingId/v1":"ee35555277ae5a0eec6bdd68abec3ac93007dc2594ffcfc6c6c837d381df2482"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorEditEngineConfigurationQuery.loadPage (cyclomatic 35): PhabricatorEditEngineConfigurationQuery.loadPage has cyclomatic complexity 35 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/query/PhabricatorEditEngineConfigurationQuery.php"},"region":{"startLine":71}}}],"partialFingerprints":{"codehealthFindingId/v1":"e7de71ac190db92ebbf8a383562c811a3ec70e20d2d8f5f38009a67f6529405c"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorConduitAPIController.authenticateUser (cyclomatic 34): PhabricatorConduitAPIController.authenticateUser has cyclomatic complexity 34 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/conduit/controller/PhabricatorConduitAPIController.php"},"region":{"startLine":167}}}],"partialFingerprints":{"codehealthFindingId/v1":"8f97b9f1437064d684eac8f395ee457795bab29f97c73e36702a0cc34bc7ed7c"}},{"ruleId":"D1","level":"warning","message":{"text":"DifferentialChangesetOneUpRenderer.renderDocumentEngineBlocks (cyclomatic 34): DifferentialChangesetOneUpRenderer.renderDocumentEngineBlocks has cyclomatic complexity 34 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/render/DifferentialChangesetOneUpRenderer.php"},"region":{"startLine":270}}}],"partialFingerprints":{"codehealthFindingId/v1":"f18a735cef36cead99ad8134c7b4a35f22e1e5133eca2c752b5f1c58279f660d"}},{"ruleId":"D1","level":"warning","message":{"text":"ConpherenceThreadSearchEngine.loadContextMessages (cyclomatic 33): ConpherenceThreadSearchEngine.loadContextMessages has cyclomatic complexity 33 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/conpherence/query/ConpherenceThreadSearchEngine.php"},"region":{"startLine":233}}}],"partialFingerprints":{"codehealthFindingId/v1":"83a8f84aee0db9cc3c16e986820525bddb24b26dd3ecb4332149d5bc47c20aa4"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorFactObjectController.handleRequest (cyclomatic 33): PhabricatorFactObjectController.handleRequest has cyclomatic complexity 33 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/fact/controller/PhabricatorFactObjectController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"16eb78b01d48ceeff59d833dee6326a437f2d607fd78929f19ccdc8ae360bb25"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorInlineCommentController.processRequest (cyclomatic 33): PhabricatorInlineCommentController.processRequest has cyclomatic complexity 33 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/diff/PhabricatorInlineCommentController.php"},"region":{"startLine":93}}}],"partialFingerprints":{"codehealthFindingId/v1":"023be7ddf08ebc87ff97c249c4867abed24e4161bbf5e3ca509ec3f38cfca703"}},{"ruleId":"D1","level":"warning","message":{"text":"ConpherenceUpdateController.handleRequest (cyclomatic 32): ConpherenceUpdateController.handleRequest has cyclomatic complexity 32 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/conpherence/controller/ConpherenceUpdateController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"d2bae04c26b5c91db742ee24ef8209592a0520406162304f551dbf8bef64769d"}},{"ruleId":"D1","level":"warning","message":{"text":"PhortunePaymentMethodCreateController.handleRequest (cyclomatic 32): PhortunePaymentMethodCreateController.handleRequest has cyclomatic complexity 32 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phortune/controller/paymentmethod/PhortunePaymentMethodCreateController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"34db68807278708eb7507131f0d88a94172b27c69f4756ecbcbc34688a3a7f66"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorProjectBoardViewController.handleRequest (cyclomatic 32): PhabricatorProjectBoardViewController.handleRequest has cyclomatic complexity 32 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/controller/PhabricatorProjectBoardViewController.php"},"region":{"startLine":10}}}],"partialFingerprints":{"codehealthFindingId/v1":"02f4d38ab66e5be2bc1c99f2741147de16303ab63c1a909838572a835c29953c"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorProjectColumnBulkMoveController.handleRequest (cyclomatic 32): PhabricatorProjectColumnBulkMoveController.handleRequest has cyclomatic complexity 32 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/controller/PhabricatorProjectColumnBulkMoveController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"64bfb114a54ed5aaf54344861809c4b97895d2259b5dfbc44de554e92f1387f8"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorRepositoryManagementThawWorkflow.execute (cyclomatic 32): PhabricatorRepositoryManagementThawWorkflow.execute has cyclomatic complexity 32 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/management/PhabricatorRepositoryManagementThawWorkflow.php"},"region":{"startLine":49}}}],"partialFingerprints":{"codehealthFindingId/v1":"b733876ba937deceee3cb8ca166dcf4cceb10ab99aa44196745e92d8d9167d11"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorEditEngine.buildResponse (cyclomatic 32): PhabricatorEditEngine.buildResponse has cyclomatic complexity 32 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/editengine/PhabricatorEditEngine.php"},"region":{"startLine":882}}}],"partialFingerprints":{"codehealthFindingId/v1":"0310610c7e397dc90364f0aa3563ede623285b8395c06fca2d2e928d80a78b63"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorEditEngine.buildCommentResponse (cyclomatic 32): PhabricatorEditEngine.buildCommentResponse has cyclomatic complexity 32 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/editengine/PhabricatorEditEngine.php"},"region":{"startLine":1875}}}],"partialFingerprints":{"codehealthFindingId/v1":"3e48fbe4f52466b9b3a1b121fec05037169ac1b07fb0cecabde905426a49572e"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorAuthManagementStripWorkflow.execute (cyclomatic 31): PhabricatorAuthManagementStripWorkflow.execute has cyclomatic complexity 31 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/management/PhabricatorAuthManagementStripWorkflow.php"},"region":{"startLine":54}}}],"partialFingerprints":{"codehealthFindingId/v1":"15bd9a8c55ab4c2e727aa7b4d682faae17c7184c4c461d4eb768214d83fae2cc"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorRepositoryQuery.willFilterPage (cyclomatic 31): PhabricatorRepositoryQuery.willFilterPage has cyclomatic complexity 31 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/query/PhabricatorRepositoryQuery.php"},"region":{"startLine":236}}}],"partialFingerprints":{"codehealthFindingId/v1":"841d63a3cde64b23fc2cf71d6e9bc2aea0343cb1764fc41b8f4dfd3daf721ad4"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorAphlictManagementWorkflow.parseLaunchArguments (cyclomatic 30): PhabricatorAphlictManagementWorkflow.parseLaunchArguments has cyclomatic complexity 30 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/aphlict/management/PhabricatorAphlictManagementWorkflow.php"},"region":{"startLine":27}}}],"partialFingerprints":{"codehealthFindingId/v1":"7904aa2a271d1010153c3dc6f4e7abe1630cd1e20dc31b30e5dad0b855e169f8"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorAuthSessionEngine.newHighSecurityToken (cyclomatic 30): PhabricatorAuthSessionEngine.newHighSecurityToken has cyclomatic complexity 30 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/engine/PhabricatorAuthSessionEngine.php"},"region":{"startLine":446}}}],"partialFingerprints":{"codehealthFindingId/v1":"d9828e7f8c09bd9b30beeb9eecdecb103c939df24298ea17d279c3e94f1ab358"}},{"ruleId":"D1","level":"warning","message":{"text":"DifferentialChangesetEngine.detectCopiedCode (cyclomatic 30): DifferentialChangesetEngine.detectCopiedCode has cyclomatic complexity 30 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/engine/DifferentialChangesetEngine.php"},"region":{"startLine":162}}}],"partialFingerprints":{"codehealthFindingId/v1":"99405d1a60286210a1554223088c27df4d56fd201efc130ca539380b7517f76d"}},{"ruleId":"D1","level":"warning","message":{"text":"DiffusionCommitHookEngine.findMercurialChangegroupRefUpdates (cyclomatic 30): DiffusionCommitHookEngine.findMercurialChangegroupRefUpdates has cyclomatic complexity 30 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/engine/DiffusionCommitHookEngine.php"},"region":{"startLine":743}}}],"partialFingerprints":{"codehealthFindingId/v1":"e645b32fd45d0d4d147f6e76127231e05cb04b707ca2b8e33b1b8e86347f293d"}},{"ruleId":"D1","level":"warning","message":{"text":"HeraldAdapter.willSaveCondition (cyclomatic 30): HeraldAdapter.willSaveCondition has cyclomatic complexity 30 (threshold 15). To reduce it, keep the dispatch but shrink the arms: move each non-trivial case body into its own named function (or onto the value being matched) so the dispatch reads one line per case, and group related cases into a sub-dispatch. Where every arm is uniform \u2014 the same kind of value, with no behaviour of its own \u2014 a table keyed by the case is the shorter form; wherever the arms carry different data or different behaviour, keep them as cases, because collapsing those trades an explicit, reviewable set of cases for nothing."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/herald/adapter/HeraldAdapter.php"},"region":{"startLine":613}}}],"partialFingerprints":{"codehealthFindingId/v1":"e7d9ddceb3e5bb9bf26b2d974317bd70b079c26bd284c603fb19b81b70a4c7e4"}},{"ruleId":"D1","level":"warning","message":{"text":"LegalpadDocumentSignController.handleRequest (cyclomatic 30): LegalpadDocumentSignController.handleRequest has cyclomatic complexity 30 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/legalpad/controller/LegalpadDocumentSignController.php"},"region":{"startLine":24}}}],"partialFingerprints":{"codehealthFindingId/v1":"dce4b0edf85ade5b9dc34a11f58fef882301ee72f04e2e673832e23ed9c6f811"}},{"ruleId":"D1","level":"warning","message":{"text":"ManiphestReportController.renderBurn (cyclomatic 30): ManiphestReportController.renderBurn has cyclomatic complexity 30 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/maniphest/controller/ManiphestReportController.php"},"region":{"startLine":74}}}],"partialFingerprints":{"codehealthFindingId/v1":"85c7851f43bdd706f14c8b62f1c12eb6bc1c19cca5de073051e0f652d2d41fff"}},{"ruleId":"D1","level":"warning","message":{"text":"ManiphestReportController.renderOpenTasks (cyclomatic 30): ManiphestReportController.renderOpenTasks has cyclomatic complexity 30 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/maniphest/controller/ManiphestReportController.php"},"region":{"startLine":487}}}],"partialFingerprints":{"codehealthFindingId/v1":"48bbfc896c70e4da440976c683614fab2cbb291569bb7a8db0a7c9a7f53d913d"}},{"ruleId":"D1","level":"warning","message":{"text":"ManiphestTransactionEditor.buildMoveTransaction (cyclomatic 30): ManiphestTransactionEditor.buildMoveTransaction has cyclomatic complexity 30 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/maniphest/editor/ManiphestTransactionEditor.php"},"region":{"startLine":438}}}],"partialFingerprints":{"codehealthFindingId/v1":"54a731fa37699b6c18cbc8e11485cb4396f93e7c676659a04b7c2f88635d219d"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorApplicationQuery.loadPage (cyclomatic 30): PhabricatorApplicationQuery.loadPage has cyclomatic complexity 30 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/meta/query/PhabricatorApplicationQuery.php"},"region":{"startLine":71}}}],"partialFingerprints":{"codehealthFindingId/v1":"1c70cd3ab01ccb2abea805c6d3b26006501582aa94fd5ddae54ef858c346ebbd"}},{"ruleId":"D1","level":"warning","message":{"text":"PhortunePayPalPaymentProvider.processControllerRequest (cyclomatic 30): PhortunePayPalPaymentProvider.processControllerRequest has cyclomatic complexity 30 (threshold 15). To reduce it, keep the dispatch but shrink the arms: move each non-trivial case body into its own named function (or onto the value being matched) so the dispatch reads one line per case, and group related cases into a sub-dispatch. Where every arm is uniform \u2014 the same kind of value, with no behaviour of its own \u2014 a table keyed by the case is the shorter form; wherever the arms carry different data or different behaviour, keep them as cases, because collapsing those trades an explicit, reviewable set of cases for nothing."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phortune/provider/PhortunePayPalPaymentProvider.php"},"region":{"startLine":287}}}],"partialFingerprints":{"codehealthFindingId/v1":"19a5a203d0d29c2e0fbd4f6daf38666598fdf9d9beefb540b6786380bb41cddf"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorCursorPagedPolicyAwareQuery.buildFerretWhereClause (cyclomatic 30): PhabricatorCursorPagedPolicyAwareQuery.buildFerretWhereClause has cyclomatic complexity 30 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/query/policy/PhabricatorCursorPagedPolicyAwareQuery.php"},"region":{"startLine":2208}}}],"partialFingerprints":{"codehealthFindingId/v1":"aca6907235de02803f1f26560e00897b948a71612d28f7b6b4d6b03d19324889"}},{"ruleId":"D1","level":"warning","message":{"text":"PHUIHeaderView.getTagContent (cyclomatic 30): PHUIHeaderView.getTagContent has cyclomatic complexity 30 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/phui/PHUIHeaderView.php"},"region":{"startLine":190}}}],"partialFingerprints":{"codehealthFindingId/v1":"c5eacdfcaf78a7e844080f63602450bf5a8e95786d18095b44879642ef6a63cd"}},{"ruleId":"D1","level":"warning","message":{"text":"_update (cyclomatic 30): _update has cyclomatic complexity 30 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function so the top-level body reads as a short sequence of named decisions."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"webroot/rsrc/js/phuix/PHUIXAutocomplete.js"},"region":{"startLine":428}}}],"partialFingerprints":{"codehealthFindingId/v1":"7d3103e9d5513fde32bf2ef613f5a7374ec1c1ebd944bab3ae3c24c920f6d36d"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorCalendarEventQuery.willFilterPage (cyclomatic 29): PhabricatorCalendarEventQuery.willFilterPage has cyclomatic complexity 29 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/query/PhabricatorCalendarEventQuery.php"},"region":{"startLine":515}}}],"partialFingerprints":{"codehealthFindingId/v1":"5eaf4da9d7f6414eaffea2340f14e2e7f7d368e694b69b9bb9ab3351dcd4db00"}},{"ruleId":"D1","level":"warning","message":{"text":"DiffusionBrowseQueryConduitAPIMethod.getGitResult (cyclomatic 29): DiffusionBrowseQueryConduitAPIMethod.getGitResult has cyclomatic complexity 29 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/conduit/DiffusionBrowseQueryConduitAPIMethod.php"},"region":{"startLine":35}}}],"partialFingerprints":{"codehealthFindingId/v1":"0c51db66cf198dae0f9b22811662917e714e464a807af76406f1f3d160795af7"}},{"ruleId":"D1","level":"warning","message":{"text":"PassphraseCredentialEditController.handleRequest (cyclomatic 29): PassphraseCredentialEditController.handleRequest has cyclomatic complexity 29 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/passphrase/controller/PassphraseCredentialEditController.php"},"region":{"startLine":5}}}],"partialFingerprints":{"codehealthFindingId/v1":"7081ce373f9830bcc8355d8473ba62f05c9cc0761c4ca309abf7e6e7bafb9bcc"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorProjectQuery.buildWhereClauseParts (cyclomatic 29): PhabricatorProjectQuery.buildWhereClauseParts has cyclomatic complexity 29 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/query/PhabricatorProjectQuery.php"},"region":{"startLine":457}}}],"partialFingerprints":{"codehealthFindingId/v1":"b5ecbd2f34c5f732d10a28f59141dbb168aaecd949f16276dfd454105ba72456"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorApplicationTransactionView.renderEvent (cyclomatic 29): PhabricatorApplicationTransactionView.renderEvent has cyclomatic complexity 29 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/view/PhabricatorApplicationTransactionView.php"},"region":{"startLine":422}}}],"partialFingerprints":{"codehealthFindingId/v1":"a9612d8ceb2987ce50dc7dd04248b605a65c4a88ff5c79003b873f5eb5ec0a60"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorTypeaheadModularDatasourceController.handleRequest (cyclomatic 29): PhabricatorTypeaheadModularDatasourceController.handleRequest has cyclomatic complexity 29 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/typeahead/controller/PhabricatorTypeaheadModularDatasourceController.php"},"region":{"startLine":10}}}],"partialFingerprints":{"codehealthFindingId/v1":"839e2906f010ed98c572149c5eeebfb835adfe909fd8f4f2ceb301ed616c1ba0"}},{"ruleId":"D1","level":"warning","message":{"text":"assist (cyclomatic 29): assist has cyclomatic complexity 29 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function so the top-level body reads as a short sequence of named decisions."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"webroot/rsrc/js/core/behavior-phabricator-remarkup-assist.js"},"region":{"startLine":188}}}],"partialFingerprints":{"codehealthFindingId/v1":"74431c7d7bca2e1f7d2e89994424a3a629075943d1a4b185ba0d595b023602c0"}},{"ruleId":"D1","level":"warning","message":{"text":"PhutilSpriteSheet.generate (cyclomatic 28): PhutilSpriteSheet.generate has cyclomatic complexity 28 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/aphront/sprite/PhutilSpriteSheet.php"},"region":{"startLine":57}}}],"partialFingerprints":{"codehealthFindingId/v1":"f7df44a609a9d8069d49ae71971ec49f567eaaee7de589da3f99cb5a46c47d64"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorCalendarNotificationEngine.sendNotifications (cyclomatic 28): PhabricatorCalendarNotificationEngine.sendNotifications has cyclomatic complexity 28 (threshold 15). To reduce it, break up the iteration: give each loop body a named function, and split a multi-phase loop into one function per phase so no single body carries the whole pipeline."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/notifications/PhabricatorCalendarNotificationEngine.php"},"region":{"startLine":73}}}],"partialFingerprints":{"codehealthFindingId/v1":"630a1e0b64133970aeff9419f6664f4e8b5487e598b6a33670b805c672d0d856"}},{"ruleId":"D1","level":"warning","message":{"text":"DoorkeeperAsanaFeedWorker.publishFeedStory (cyclomatic 28): DoorkeeperAsanaFeedWorker.publishFeedStory has cyclomatic complexity 28 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/doorkeeper/worker/DoorkeeperAsanaFeedWorker.php"},"region":{"startLine":27}}}],"partialFingerprints":{"codehealthFindingId/v1":"10390f2dc4aedb6424df43cd97f492756ebcdd8613be13ba3d3e12e2bd7fc3ad"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorMailManagementShowOutboundWorkflow.execute (cyclomatic 28): PhabricatorMailManagementShowOutboundWorkflow.execute has cyclomatic complexity 28 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/metamta/management/PhabricatorMailManagementShowOutboundWorkflow.php"},"region":{"startLine":29}}}],"partialFingerprints":{"codehealthFindingId/v1":"3fd406b8d230878d6a3e6b9a7b8f7b373d57cfee6845f1607a9b51343639db94"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorPeopleNewController.handleRequest (cyclomatic 28): PhabricatorPeopleNewController.handleRequest has cyclomatic complexity 28 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/people/controller/PhabricatorPeopleNewController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"671984bb0df5dbcf95d3c74fd72eda5dc0900afa9a913dfca44c6b0d147648e3"}},{"ruleId":"D1","level":"warning","message":{"text":"PhrictionDocumentController.handleRequest (cyclomatic 28): PhrictionDocumentController.handleRequest has cyclomatic complexity 28 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phriction/controller/PhrictionDocumentController.php"},"region":{"startLine":13}}}],"partialFingerprints":{"codehealthFindingId/v1":"204a2cbb967bad783b3cafa19c4686f604e3260303883c2d3cdd68aaeae80b6f"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorBoardLayoutEngine.layoutBoard (cyclomatic 28): PhabricatorBoardLayoutEngine.layoutBoard has cyclomatic complexity 28 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/engine/PhabricatorBoardLayoutEngine.php"},"region":{"startLine":419}}}],"partialFingerprints":{"codehealthFindingId/v1":"bea0b781cd605f198cee6347442c0474908bc15b3e60df31b9300b277658e5d5"}},{"ruleId":"D1","level":"warning","message":{"text":"PhutilRemarkupListBlockRule.renderTree (cyclomatic 28): PhutilRemarkupListBlockRule.renderTree has cyclomatic complexity 28 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/markup/blockrule/PhutilRemarkupListBlockRule.php"},"region":{"startLine":428}}}],"partialFingerprints":{"codehealthFindingId/v1":"13058080b1b016453d0e230f255dbc56499715b9a5b8ad7c69ccba3d44ca8e9f"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorPolicyAwareQuery.execute (cyclomatic 28): PhabricatorPolicyAwareQuery.execute has cyclomatic complexity 28 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/query/policy/PhabricatorPolicyAwareQuery.php"},"region":{"startLine":204}}}],"partialFingerprints":{"codehealthFindingId/v1":"9f083a81c402603db5b4d09d4f947684038c06928a43bcc0b45ef6c5a8388269"}},{"ruleId":"D1","level":"warning","message":{"text":"PHUITimelineEventView.render (cyclomatic 28): PHUITimelineEventView.render has cyclomatic complexity 28 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/phui/PHUITimelineEventView.php"},"region":{"startLine":318}}}],"partialFingerprints":{"codehealthFindingId/v1":"e9222c7c013876915ca806c6f3bdd00bcef13d3661845299a71c3e0d26bfb1a2"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorAuditManagementDeleteWorkflow.execute (cyclomatic 27): PhabricatorAuditManagementDeleteWorkflow.execute has cyclomatic complexity 27 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/audit/management/PhabricatorAuditManagementDeleteWorkflow.php"},"region":{"startLine":62}}}],"partialFingerprints":{"codehealthFindingId/v1":"b7d7ef271a07796c7d6c255c1b253e7bbf51a3dab14ef7378367816f57731310"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorAuthStartController.handleRequest (cyclomatic 27): PhabricatorAuthStartController.handleRequest has cyclomatic complexity 27 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/controller/PhabricatorAuthStartController.php"},"region":{"startLine":10}}}],"partialFingerprints":{"codehealthFindingId/v1":"cfddd38e282510ac6dacae254f88725b6c8820c23ba27816d6e84f64394771d6"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorAuthEditController.handleRequest (cyclomatic 27): PhabricatorAuthEditController.handleRequest has cyclomatic complexity 27 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/controller/config/PhabricatorAuthEditController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"124a3c4e73d343051e3468ad29c1f6b4e0aff7165ab9a7c327d738d31fe56899"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorWebServerSetupCheck.executeChecks (cyclomatic 27): PhabricatorWebServerSetupCheck.executeChecks has cyclomatic complexity 27 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/check/PhabricatorWebServerSetupCheck.php"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"7d0436624774521ded11640abab9a122cf854c9f0bb0358f250479caa796ea30"}},{"ruleId":"D1","level":"warning","message":{"text":"DifferentialChangesetOneUpRenderer.renderPrimitives (cyclomatic 27): DifferentialChangesetOneUpRenderer.renderPrimitives has cyclomatic complexity 27 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/render/DifferentialChangesetOneUpRenderer.php"},"region":{"startLine":47}}}],"partialFingerprints":{"codehealthFindingId/v1":"d214036b1db43c315895cc8ad50df6ba11f5447e6eae64b28cf4b2497421a8b6"}},{"ruleId":"D1","level":"warning","message":{"text":"HarbormasterBuildEngine.updateBuildSteps (cyclomatic 27): HarbormasterBuildEngine.updateBuildSteps has cyclomatic complexity 27 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/harbormaster/engine/HarbormasterBuildEngine.php"},"region":{"startLine":165}}}],"partialFingerprints":{"codehealthFindingId/v1":"a5485d54c541504a752e567e573f0634ed718d7bb2c4766ebfb1827c645aac11"}},{"ruleId":"D1","level":"warning","message":{"text":"PhutilXHPASTSyntaxHighlighterFuture.applyXHPHighlight (cyclomatic 27): PhutilXHPASTSyntaxHighlighterFuture.applyXHPHighlight has cyclomatic complexity 27 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/markup/syntax/highlighter/xhpast/PhutilXHPASTSyntaxHighlighterFuture.php"},"region":{"startLine":31}}}],"partialFingerprints":{"codehealthFindingId/v1":"65039428f8e7258a5b1ef4da4be0dc87f49a8d33ee5086dc29237b80f1cbd13b"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorCalendarEventQuery.loadPage (cyclomatic 26): PhabricatorCalendarEventQuery.loadPage has cyclomatic complexity 26 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/query/PhabricatorCalendarEventQuery.php"},"region":{"startLine":161}}}],"partialFingerprints":{"codehealthFindingId/v1":"30a674e010818fa4e5d6ff8a2dd424e2846f489064e39cf6b894a78056b0379f"}},{"ruleId":"D1","level":"warning","message":{"text":"DifferentialHunkParser.parseHunksForHighlightMasks (cyclomatic 26): DifferentialHunkParser.parseHunksForHighlightMasks has cyclomatic complexity 26 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/parser/DifferentialHunkParser.php"},"region":{"startLine":566}}}],"partialFingerprints":{"codehealthFindingId/v1":"80b113a92935f225c1114ea5f9ad6f92a3e5637baa426a4a0a2bdc4ef3877379"}},{"ruleId":"D1","level":"warning","message":{"text":"DifferentialReviewersView.render (cyclomatic 26): DifferentialReviewersView.render has cyclomatic complexity 26 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/view/DifferentialReviewersView.php"},"region":{"startLine":26}}}],"partialFingerprints":{"codehealthFindingId/v1":"eec1d5feeb763a0ec96f9e8045b3497680b3776fd5d1c3cb21682ea514f0b2d1"}},{"ruleId":"D1","level":"warning","message":{"text":"DiffusionCommitController.buildPropertyListView (cyclomatic 26): DiffusionCommitController.buildPropertyListView has cyclomatic complexity 26 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/controller/DiffusionCommitController.php"},"region":{"startLine":524}}}],"partialFingerprints":{"codehealthFindingId/v1":"875e8a9275c93ac6e511f5a70359e43debd9a9f7686126846713ac410d7f8ce6"}},{"ruleId":"D1","level":"warning","message":{"text":"DivinerAtomController.handleRequest (cyclomatic 26): DivinerAtomController.handleRequest has cyclomatic complexity 26 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diviner/controller/DivinerAtomController.php"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"830878b4bbb7708694a32caa3d66524722137f8d455793750eab0e9f02de1c7b"}},{"ruleId":"D1","level":"warning","message":{"text":"MultimeterSampleController.handleRequest (cyclomatic 26): MultimeterSampleController.handleRequest has cyclomatic complexity 26 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/multimeter/controller/MultimeterSampleController.php"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"513cbe64038f5090b18677526ea618e6ede1273a0336494089080735b3e3fc2a"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorObjectListQuery.execute (cyclomatic 26): PhabricatorObjectListQuery.execute has cyclomatic complexity 26 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phid/query/PhabricatorObjectListQuery.php"},"region":{"startLine":56}}}],"partialFingerprints":{"codehealthFindingId/v1":"ba10f837c6a050a87f45207c39a171ab86265f2a10b4ba332a5284da159869c9"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorApplicationTransactionEditor.getTransactionOldValue (cyclomatic 26): PhabricatorApplicationTransactionEditor.getTransactionOldValue has cyclomatic complexity 26 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php"},"region":{"startLine":490}}}],"partialFingerprints":{"codehealthFindingId/v1":"3576b00d06218467c498ec17f47e3bc326882c4c96e0e4e22d1ae69eca4f6000"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorDifferenceEngine.applyIntralineDiff (cyclomatic 26): PhabricatorDifferenceEngine.applyIntralineDiff has cyclomatic complexity 26 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/diff/PhabricatorDifferenceEngine.php"},"region":{"startLine":172}}}],"partialFingerprints":{"codehealthFindingId/v1":"983ad5d3268779dd1c9659c8a40f8543a22d4b99fe80d9199f7b558c3a367d6d"}},{"ruleId":"D1","level":"warning","message":{"text":"PHUIDiffTableOfContentsListView.render (cyclomatic 26): PHUIDiffTableOfContentsListView.render has cyclomatic complexity 26 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/diff/view/PHUIDiffTableOfContentsListView.php"},"region":{"startLine":53}}}],"partialFingerprints":{"codehealthFindingId/v1":"0b2bf4fd4509c42fe951e7d68c30fa6940166720c1154cc6ff118fc38a246064"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorCursorPagedPolicyAwareQuery.buildSpacesWhereClause (cyclomatic 26): PhabricatorCursorPagedPolicyAwareQuery.buildSpacesWhereClause has cyclomatic complexity 26 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/query/policy/PhabricatorCursorPagedPolicyAwareQuery.php"},"region":{"startLine":3139}}}],"partialFingerprints":{"codehealthFindingId/v1":"8d40f152ab3f600a6c6f7f5b7e55871d720e734d1c96b97d66df3ac4144f0672"}},{"ruleId":"D1","level":"warning","message":{"text":"updateCard (cyclomatic 26): updateCard has cyclomatic complexity 26 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function so the top-level body reads as a short sequence of named decisions."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"webroot/rsrc/js/application/projects/WorkboardBoard.js"},"region":{"startLine":601}}}],"partialFingerprints":{"codehealthFindingId/v1":"c171987abec574c541f672db29bb4e6bb69543fcb6ba3f6798b0523898519868"}},{"ruleId":"D1","level":"warning","message":{"text":"Text_Figlet.loadFont (cyclomatic 25): Text_Figlet.loadFont has cyclomatic complexity 25 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"externals/pear-figlet/Text/Figlet.php"},"region":{"startLine":111}}}],"partialFingerprints":{"codehealthFindingId/v1":"27ba28166613850f424fbbc4b149e59199f866afef54dabf6bf1d25c851cafc9"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorAuthManagementRevokeWorkflow.execute (cyclomatic 25): PhabricatorAuthManagementRevokeWorkflow.execute has cyclomatic complexity 25 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/management/PhabricatorAuthManagementRevokeWorkflow.php"},"region":{"startLine":50}}}],"partialFingerprints":{"codehealthFindingId/v1":"ab93e4a678bd9736eb8d0139e9b0292dcd876fd609dfb9afaf07c80334ac24aa"}},{"ruleId":"D1","level":"warning","message":{"text":"PhutilCalendarRecurrenceSet.getEventsBetween (cyclomatic 25): PhutilCalendarRecurrenceSet.getEventsBetween has cyclomatic complexity 25 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/parser/data/PhutilCalendarRecurrenceSet.php"},"region":{"startLine":23}}}],"partialFingerprints":{"codehealthFindingId/v1":"1ab6cc811738e0dc4239e4776eb29461f65cc76b2857ce9c84f0fea35d3a3e46"}},{"ruleId":"D1","level":"warning","message":{"text":"DifferentialHunkParser.makeContextDiff (cyclomatic 25): DifferentialHunkParser.makeContextDiff has cyclomatic complexity 25 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/parser/DifferentialHunkParser.php"},"region":{"startLine":665}}}],"partialFingerprints":{"codehealthFindingId/v1":"8a81b7ab340eea376601636d784f4bbf51900eccc7a029bf6e35008bea6112c4"}},{"ruleId":"D1","level":"warning","message":{"text":"DivinerAtomQuery.willFilterPage (cyclomatic 25): DivinerAtomQuery.willFilterPage has cyclomatic complexity 25 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diviner/query/DivinerAtomQuery.php"},"region":{"startLine":139}}}],"partialFingerprints":{"codehealthFindingId/v1":"f1266a4f6a7a499252dc9c51a80d5e7a30d43dc551a4c0ad85990cbe1731f8eb"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorFeedStory.loadAllFromRows (cyclomatic 25): PhabricatorFeedStory.loadAllFromRows has cyclomatic complexity 25 (threshold 15). To reduce it, break up the iteration: give each loop body a named function, and split a multi-phase loop into one function per phase so no single body carries the whole pipeline."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/feed/story/PhabricatorFeedStory.php"},"region":{"startLine":41}}}],"partialFingerprints":{"codehealthFindingId/v1":"c3f36c0d4da0254210cf4e392412f57e3f814c52b587d2532b42fb0c1e17e95a"}},{"ruleId":"D1","level":"warning","message":{"text":"PholioMockEditController.handleRequest (cyclomatic 25): PholioMockEditController.handleRequest has cyclomatic complexity 25 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/pholio/controller/PholioMockEditController.php"},"region":{"startLine":5}}}],"partialFingerprints":{"codehealthFindingId/v1":"cc2c32b217b5633136f358828846b81c1b13a2b6d3681596705c37be48def6c8"}},{"ruleId":"D1","level":"warning","message":{"text":"PhrictionRemarkupRule.didMarkupText (cyclomatic 25): PhrictionRemarkupRule.didMarkupText has cyclomatic complexity 25 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phriction/markup/PhrictionRemarkupRule.php"},"region":{"startLine":86}}}],"partialFingerprints":{"codehealthFindingId/v1":"6a13e837a871bf895b36737afa422e1fecae24b414222b919cc845a502125d24"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorPolicyEditController.handleRequest (cyclomatic 25): PhabricatorPolicyEditController.handleRequest has cyclomatic complexity 25 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/policy/controller/PhabricatorPolicyEditController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"05e6c062a8f6251c0b86c9e449ca312db13b08917fadec4ae38b85f5d717ba52"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorPolicyFilter.apply (cyclomatic 25): PhabricatorPolicyFilter.apply has cyclomatic complexity 25 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/policy/filter/PhabricatorPolicyFilter.php"},"region":{"startLine":156}}}],"partialFingerprints":{"codehealthFindingId/v1":"9fc961e95c43d71cb15fd6d2d28f19b6b1ac4e372ced1c1ae2adc195ba79a651"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorRepositoryQuery.buildWhereClauseParts (cyclomatic 25): PhabricatorRepositoryQuery.buildWhereClauseParts has cyclomatic complexity 25 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/query/PhabricatorRepositoryQuery.php"},"region":{"startLine":533}}}],"partialFingerprints":{"codehealthFindingId/v1":"7b236289bd2af7e3a5413ad40b428092d76a861cbe1251f9defd168aa525aa74"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorFerretFulltextEngineExtension.indexFulltextObject (cyclomatic 25): PhabricatorFerretFulltextEngineExtension.indexFulltextObject has cyclomatic complexity 25 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/search/engineextension/PhabricatorFerretFulltextEngineExtension.php"},"region":{"startLine":19}}}],"partialFingerprints":{"codehealthFindingId/v1":"0a245f71fb0932990574f675d3b640b97d0596840ac69be6309227bdea008b05"}},{"ruleId":"D1","level":"warning","message":{"text":"PHUIDiffGraphView.renderRawGraph (cyclomatic 25): PHUIDiffGraphView.renderRawGraph has cyclomatic complexity 25 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/diff/view/PHUIDiffGraphView.php"},"region":{"startLine":36}}}],"partialFingerprints":{"codehealthFindingId/v1":"ac0a768bd29cd6fc4fdaafada150c45ca85852ef201a953db6b0acd315956c73"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorCursorPagedPolicyAwareQuery.buildFerretJoinClause (cyclomatic 25): PhabricatorCursorPagedPolicyAwareQuery.buildFerretJoinClause has cyclomatic complexity 25 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/query/policy/PhabricatorCursorPagedPolicyAwareQuery.php"},"region":{"startLine":1995}}}],"partialFingerprints":{"codehealthFindingId/v1":"268b405b65d03cf57da83c08b1f7175f41ef6d61fadb1c6114b189776486f67c"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorActionView.render (cyclomatic 25): PhabricatorActionView.render has cyclomatic complexity 25 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/layout/PhabricatorActionView.php"},"region":{"startLine":198}}}],"partialFingerprints":{"codehealthFindingId/v1":"0e15816a53f6892724ce1f9db1e567ddcbb75d9a1f7ff34f7e51a50f25cc83e1"}},{"ruleId":"D1","level":"warning","message":{"text":"DifferentialQueryConduitAPIMethod.execute (cyclomatic 24): DifferentialQueryConduitAPIMethod.execute has cyclomatic complexity 24 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/conduit/DifferentialQueryConduitAPIMethod.php"},"region":{"startLine":65}}}],"partialFingerprints":{"codehealthFindingId/v1":"3cb410e18ab9097641196f69cc5a6c8de45436064ccd7dc96057c4ae75a7d659"}},{"ruleId":"D1","level":"warning","message":{"text":"DiffusionBrowseQueryConduitAPIMethod.getSVNResult (cyclomatic 24): DiffusionBrowseQueryConduitAPIMethod.getSVNResult has cyclomatic complexity 24 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/conduit/DiffusionBrowseQueryConduitAPIMethod.php"},"region":{"startLine":363}}}],"partialFingerprints":{"codehealthFindingId/v1":"0d46ea333405167868931493e30f08976968c2f449fc9dfbd78b6ab76e9e25f9"}},{"ruleId":"D1","level":"warning","message":{"text":"DiffusionCommitQuery.didFilterPage (cyclomatic 24): DiffusionCommitQuery.didFilterPage has cyclomatic complexity 24 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/query/DiffusionCommitQuery.php"},"region":{"startLine":361}}}],"partialFingerprints":{"codehealthFindingId/v1":"a4c0c67dac327c6ef99d7ceb69c1a2c5026b4a21acaf89b6f9e5ec1a7c364d3d"}},{"ruleId":"D1","level":"warning","message":{"text":"HarbormasterBuildViewController.handleRequest (cyclomatic 24): HarbormasterBuildViewController.handleRequest has cyclomatic complexity 24 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/harbormaster/controller/HarbormasterBuildViewController.php"},"region":{"startLine":10}}}],"partialFingerprints":{"codehealthFindingId/v1":"3ed08f806f78dd5262e34b61bca1e3a8a2cb7f424a6be6333fe0ef6ea7bdb2d4"}},{"ruleId":"D1","level":"warning","message":{"text":"HeraldEngine.getRuleMatchResult (cyclomatic 24): HeraldEngine.getRuleMatchResult has cyclomatic complexity 24 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/herald/engine/HeraldEngine.php"},"region":{"startLine":379}}}],"partialFingerprints":{"codehealthFindingId/v1":"0929fe38132eed3072ccec8ccd634ff057a427e4d81d68fd418077e0f1959447"}},{"ruleId":"D1","level":"warning","message":{"text":"ManiphestTaskQuery.buildWhereClauseParts (cyclomatic 24): ManiphestTaskQuery.buildWhereClauseParts has cyclomatic complexity 24 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/maniphest/query/ManiphestTaskQuery.php"},"region":{"startLine":354}}}],"partialFingerprints":{"codehealthFindingId/v1":"b69b796239710b146f27ac0708b7e2664b4969a9348e14c66f885427ba024e45"}},{"ruleId":"D1","level":"warning","message":{"text":"ManiphestTaskSearchEngine.buildQueryFromParameters (cyclomatic 24): ManiphestTaskSearchEngine.buildQueryFromParameters has cyclomatic complexity 24 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/maniphest/query/ManiphestTaskSearchEngine.php"},"region":{"startLine":190}}}],"partialFingerprints":{"codehealthFindingId/v1":"5a8728c599b704240bb870bb1b9c3f703637cb88b23c0f0eb1c331df137e3d99"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorMetaMTAMailViewController.buildDeliveryProperties (cyclomatic 24): PhabricatorMetaMTAMailViewController.buildDeliveryProperties has cyclomatic complexity 24 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/metamta/controller/PhabricatorMetaMTAMailViewController.php"},"region":{"startLine":216}}}],"partialFingerprints":{"codehealthFindingId/v1":"203cd3b56289473372be40bd57897117bf2a7e3aa2afae888d8136b8ca89cbaf"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorMailEmailEngine.newMessage (cyclomatic 24): PhabricatorMailEmailEngine.newMessage has cyclomatic complexity 24 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/metamta/engine/PhabricatorMailEmailEngine.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"386bfe137b3f767936e659a336d9d1a6366703d02b9a394093b327748f298adf"}},{"ruleId":"D1","level":"warning","message":{"text":"PassphraseQueryConduitAPIMethod.execute (cyclomatic 24): PassphraseQueryConduitAPIMethod.execute has cyclomatic complexity 24 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/passphrase/conduit/PassphraseQueryConduitAPIMethod.php"},"region":{"startLine":31}}}],"partialFingerprints":{"codehealthFindingId/v1":"8d06265249888c300f7b4df9341d117b540052da27eb0496e622b095ee2acf93"}},{"ruleId":"D1","level":"warning","message":{"text":"PhrictionEditController.handleRequest (cyclomatic 24): PhrictionEditController.handleRequest has cyclomatic complexity 24 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phriction/controller/PhrictionEditController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"5c563def76d465095a5b58e44309070d1da282421356b9251d33c12528c3617a"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorPolicyFilter.checkCapability (cyclomatic 24): PhabricatorPolicyFilter.checkCapability has cyclomatic complexity 24 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/policy/filter/PhabricatorPolicyFilter.php"},"region":{"startLine":499}}}],"partialFingerprints":{"codehealthFindingId/v1":"decd79f4701f2aea32d5fa755d56583e1978875a027d39cc485a827024d7f734"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorProjectQuery.willFilterPage (cyclomatic 24): PhabricatorProjectQuery.willFilterPage has cyclomatic complexity 24 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/query/PhabricatorProjectQuery.php"},"region":{"startLine":239}}}],"partialFingerprints":{"codehealthFindingId/v1":"72a5716c3184cf34018a5d491baa73b9d26befa4ec54bd2b0d063dcaa99e2032"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorProjectSearchEngine.buildQueryFromParameters (cyclomatic 24): PhabricatorProjectSearchEngine.buildQueryFromParameters has cyclomatic complexity 24 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/query/PhabricatorProjectSearchEngine.php"},"region":{"startLine":130}}}],"partialFingerprints":{"codehealthFindingId/v1":"5570097cfedffbed91ac81349209ca906eb1cd5c6dc5fa2304fdf3210830e631"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorRepositoryPullLocalDaemon.run (cyclomatic 24): PhabricatorRepositoryPullLocalDaemon.run has cyclomatic complexity 24 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/daemon/PhabricatorRepositoryPullLocalDaemon.php"},"region":{"startLine":38}}}],"partialFingerprints":{"codehealthFindingId/v1":"10e3172728296d2eee0101b533a591ba4c381aa1eb023af45e8dc4cfae43b6d4"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorDatabaseRefParser.newRefs (cyclomatic 24): PhabricatorDatabaseRefParser.newRefs has cyclomatic complexity 24 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/cluster/PhabricatorDatabaseRefParser.php"},"region":{"startLine":37}}}],"partialFingerprints":{"codehealthFindingId/v1":"3fcb975312b49eda7771a9c8985b3c6c75c749dfa8e4b02675c039bf78577535"}},{"ruleId":"D1","level":"warning","message":{"text":"_onjumpkey (cyclomatic 24): _onjumpkey has cyclomatic complexity 24 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function so the top-level body reads as a short sequence of named decisions."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"webroot/rsrc/js/application/diff/DiffChangesetList.js"},"region":{"startLine":650}}}],"partialFingerprints":{"codehealthFindingId/v1":"2820215f3b1f33f45f23883936d46bddd6ef67c1e897a2ae013dc84bee44d25f"}},{"ruleId":"D1","level":"warning","message":{"text":"AphrontMultipartParser.continueParse (cyclomatic 23): AphrontMultipartParser.continueParse has cyclomatic complexity 23 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/aphront/multipartparser/AphrontMultipartParser.php"},"region":{"startLine":62}}}],"partialFingerprints":{"codehealthFindingId/v1":"893eda9c79a9f99524dc3a6b396a69e610995e09a9031401543be967624cc0a0"}},{"ruleId":"D1","level":"warning","message":{"text":"PhutilICSParser.unescapeFieldValue (cyclomatic 23): PhutilICSParser.unescapeFieldValue has cyclomatic complexity 23 (threshold 15). To reduce it, keep the dispatch but shrink the arms: move each non-trivial case body into its own named function (or onto the value being matched) so the dispatch reads one line per case, and group related cases into a sub-dispatch. Where every arm is uniform \u2014 the same kind of value, with no behaviour of its own \u2014 a table keyed by the case is the shorter form; wherever the arms carry different data or different behaviour, keep them as cases, because collapsing those trades an explicit, reviewable set of cases for nothing."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/parser/ics/PhutilICSParser.php"},"region":{"startLine":386}}}],"partialFingerprints":{"codehealthFindingId/v1":"cd35ad54f2f6868499a81af87394f5d1b1d62c0f955277cf635cdbfc6c2c1067"}},{"ruleId":"D1","level":"warning","message":{"text":"DifferentialTransactionEditor.didApplyHeraldRules (cyclomatic 23): DifferentialTransactionEditor.didApplyHeraldRules has cyclomatic complexity 23 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/editor/DifferentialTransactionEditor.php"},"region":{"startLine":1034}}}],"partialFingerprints":{"codehealthFindingId/v1":"5acb415a9dd1d5100a10ebe1404397bee3700827609dec102650ed87c4b2139f"}},{"ruleId":"D1","level":"warning","message":{"text":"DifferentialChangesetTwoUpRenderer.renderDocumentEngineBlocks (cyclomatic 23): DifferentialChangesetTwoUpRenderer.renderDocumentEngineBlocks has cyclomatic complexity 23 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/render/DifferentialChangesetTwoUpRenderer.php"},"region":{"startLine":367}}}],"partialFingerprints":{"codehealthFindingId/v1":"2a30d45255706707709cf5126031134e12434ba1179d06ebf229b76e3ecc9258"}},{"ruleId":"D1","level":"warning","message":{"text":"DiffusionLowLevelResolveRefsQuery.resolveGitRefs (cyclomatic 23): DiffusionLowLevelResolveRefsQuery.resolveGitRefs has cyclomatic complexity 23 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/query/lowlevel/DiffusionLowLevelResolveRefsQuery.php"},"region":{"startLine":60}}}],"partialFingerprints":{"codehealthFindingId/v1":"667e781508fd0d0f5f9cdbaa626ad3bae68d94ac5a179bede5b7582459b96ad3"}},{"ruleId":"D1","level":"warning","message":{"text":"DivinerAtomController.renderFullSignature (cyclomatic 23): DivinerAtomController.renderFullSignature has cyclomatic complexity 23 (threshold 15). To reduce it, keep the dispatch but shrink the arms: move each non-trivial case body into its own named function (or onto the value being matched) so the dispatch reads one line per case, and group related cases into a sub-dispatch. Where every arm is uniform \u2014 the same kind of value, with no behaviour of its own \u2014 a table keyed by the case is the shorter form; wherever the arms carry different data or different behaviour, keep them as cases, because collapsing those trades an explicit, reviewable set of cases for nothing."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diviner/controller/DivinerAtomController.php"},"region":{"startLine":472}}}],"partialFingerprints":{"codehealthFindingId/v1":"0ef9bccce1e05535ccf8c6e0b3e6fcbc4223b0c2a56c2543449ad9c8aeda441e"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorFileViewController.buildPropertyViews (cyclomatic 23): PhabricatorFileViewController.buildPropertyViews has cyclomatic complexity 23 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/files/controller/PhabricatorFileViewController.php"},"region":{"startLine":218}}}],"partialFingerprints":{"codehealthFindingId/v1":"3097306393691701e47b24f8e2c41e152cab3b98282ed22d5ae585cb16956843"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorEmbedFileRemarkupRule.renderImageFile (cyclomatic 23): PhabricatorEmbedFileRemarkupRule.renderImageFile has cyclomatic complexity 23 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/files/markup/PhabricatorEmbedFileRemarkupRule.php"},"region":{"startLine":129}}}],"partialFingerprints":{"codehealthFindingId/v1":"967a368db21b951f4968be329edb6985f5ff5e8b3e3e505e1a240241532b899d"}},{"ruleId":"D1","level":"warning","message":{"text":"HeraldRuleQuery.willFilterPage (cyclomatic 23): HeraldRuleQuery.willFilterPage has cyclomatic complexity 23 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/herald/query/HeraldRuleQuery.php"},"region":{"startLine":89}}}],"partialFingerprints":{"codehealthFindingId/v1":"b4b3ecee06341621ef0a2dd3d0239a35931eaf7852cb21b3131aee877f82af22"}},{"ruleId":"D1","level":"warning","message":{"text":"ManiphestTaskDetailController.newChangesView (cyclomatic 23): ManiphestTaskDetailController.newChangesView has cyclomatic complexity 23 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/maniphest/controller/ManiphestTaskDetailController.php"},"region":{"startLine":545}}}],"partialFingerprints":{"codehealthFindingId/v1":"f7e61caadab6521a5a2026d2a63fb454bb7ec6b742fd9fd047de3d142dd791b4"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorPeopleProfilePictureController.handleRequest (cyclomatic 23): PhabricatorPeopleProfilePictureController.handleRequest has cyclomatic complexity 23 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/people/controller/PhabricatorPeopleProfilePictureController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"2165f05a6e7ea1ef059417f3a51bef2a10191b4d8a41be7417da3225b5fe7c36"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorProjectDatasource.loadResults (cyclomatic 23): PhabricatorProjectDatasource.loadResults has cyclomatic complexity 23 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/typeahead/PhabricatorProjectDatasource.php"},"region":{"startLine":18}}}],"partialFingerprints":{"codehealthFindingId/v1":"a97545141f9def8607353f503c3e9c7bd4350f55411ce0045c182e041d352bb7"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorRepositoryGitCommitChangeParserWorker.parseCommitChanges (cyclomatic 23): PhabricatorRepositoryGitCommitChangeParserWorker.parseCommitChanges has cyclomatic complexity 23 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/worker/commitchangeparser/PhabricatorRepositoryGitCommitChangeParserWorker.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"b77f68cd95bddab6a3d4fa43cfc6a54abf37009554966f414c4a6910bd9f8689"}},{"ruleId":"D1","level":"warning","message":{"text":"TransactionSearchConduitAPIMethod.execute (cyclomatic 23): TransactionSearchConduitAPIMethod.execute has cyclomatic complexity 23 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/conduit/TransactionSearchConduitAPIMethod.php"},"region":{"startLine":102}}}],"partialFingerprints":{"codehealthFindingId/v1":"bd67b245b2c8f847e7e7d74f91f4eddb8b86065c00e3de02c2aa9506219d9ff0"}},{"ruleId":"D1","level":"warning","message":{"text":"PhutilRemarkupCodeBlockRule.markupText (cyclomatic 23): PhutilRemarkupCodeBlockRule.markupText has cyclomatic complexity 23 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/markup/blockrule/PhutilRemarkupCodeBlockRule.php"},"region":{"startLine":46}}}],"partialFingerprints":{"codehealthFindingId/v1":"7926f7e185ecdf46f9f7627d1ee1fbc6ba1b1ec9eeea9f8b0a247efaf25f469b"}},{"ruleId":"D1","level":"warning","message":{"text":"AphrontDialogView.render (cyclomatic 23): AphrontDialogView.render has cyclomatic complexity 23 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/AphrontDialogView.php"},"region":{"startLine":255}}}],"partialFingerprints":{"codehealthFindingId/v1":"a37b3b0f4149a6b6968230dd3b3087913374a01146f9c1c63a99c963d67e4a20"}},{"ruleId":"D1","level":"warning","message":{"text":"(anonymous) (cyclomatic 23): (anonymous) has cyclomatic complexity 23 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function so the top-level body reads as a short sequence of named decisions."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"webroot/rsrc/js/application/diffusion/behavior-commit-graph.js"},"region":{"startLine":8}}}],"partialFingerprints":{"codehealthFindingId/v1":"02190277f72c068fc419d06e24d657e82b10de49fb9afe80a1c9fe46445caf95"}},{"ruleId":"D1","level":"warning","message":{"text":"Porter.step2 (cyclomatic 22): Porter.step2 has cyclomatic complexity 22 (threshold 15). To reduce it, name the conditions: bind each compound test to a well-named local or a small predicate function, so the body reads as a sequence of named decisions rather than a chain of operators."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"externals/porter-stemmer/src/Porter.php"},"region":{"startLine":146}}}],"partialFingerprints":{"codehealthFindingId/v1":"6ba0879df704d0f634cfc5f59149b091ffa9cc0aae7573087a5141644759b8fa"}},{"ruleId":"D1","level":"warning","message":{"text":"xhprof_lib.xhprof_aggregate_runs (cyclomatic 22): xhprof_lib.xhprof_aggregate_runs has cyclomatic complexity 22 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"externals/xhprof/xhprof_lib.php"},"region":{"startLine":244}}}],"partialFingerprints":{"codehealthFindingId/v1":"41433eb6bd2514176cfa2fccd552a373ef660fb25ccceb962a526afaf7dec3bc"}},{"ruleId":"D1","level":"warning","message":{"text":"CelerityResourceController.serveResource (cyclomatic 22): CelerityResourceController.serveResource has cyclomatic complexity 22 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/celerity/controller/CelerityResourceController.php"},"region":{"startLine":27}}}],"partialFingerprints":{"codehealthFindingId/v1":"48c2a360eedce4f0b6f658aa9889832054f76978575056fb4911b548f4ac9a3d"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorConfigEditController.handleRequest (cyclomatic 22): PhabricatorConfigEditController.handleRequest has cyclomatic complexity 22 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/controller/settings/PhabricatorConfigEditController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"c5ae068b1028f798a063b15602ffd22714367013e69fdfdcba71cdb115f46bbf"}},{"ruleId":"D1","level":"warning","message":{"text":"DifferentialChangesetParser.replaceTabsWithSpaces (cyclomatic 22): DifferentialChangesetParser.replaceTabsWithSpaces has cyclomatic complexity 22 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/parser/DifferentialChangesetParser.php"},"region":{"startLine":1615}}}],"partialFingerprints":{"codehealthFindingId/v1":"6eae00cdf71fa370730e99568b8d4445ba25da71929c9adcbfc6dd229073fcc7"}},{"ruleId":"D1","level":"warning","message":{"text":"DifferentialRevisionQuery.buildWhereClause (cyclomatic 22): DifferentialRevisionQuery.buildWhereClause has cyclomatic complexity 22 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/query/DifferentialRevisionQuery.php"},"region":{"startLine":630}}}],"partialFingerprints":{"codehealthFindingId/v1":"18f4dce78320c193b5121fe4c34cd04b2c32df598b2ec16973a2d03254607dc4"}},{"ruleId":"D1","level":"warning","message":{"text":"DifferentialRevisionReviewersTransaction.renderReviewerEditTitle (cyclomatic 22): DifferentialRevisionReviewersTransaction.renderReviewerEditTitle has cyclomatic complexity 22 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/xaction/DifferentialRevisionReviewersTransaction.php"},"region":{"startLine":165}}}],"partialFingerprints":{"codehealthFindingId/v1":"e5957f28a89e081ed7807c1ef106d4561d6bddf224156b172813e1cf0eae799f"}},{"ruleId":"D1","level":"warning","message":{"text":"DivinerAtomQuery.buildWhereClause (cyclomatic 22): DivinerAtomQuery.buildWhereClause has cyclomatic complexity 22 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diviner/query/DivinerAtomQuery.php"},"region":{"startLine":302}}}],"partialFingerprints":{"codehealthFindingId/v1":"8d037eea0385ea5c076678a0b6bf503dc7f01d898aa90d8e78d5b0d1708a9863"}},{"ruleId":"D1","level":"warning","message":{"text":"ManiphestConduitAPIMethod.applyRequest (cyclomatic 22): ManiphestConduitAPIMethod.applyRequest has cyclomatic complexity 22 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/maniphest/conduit/ManiphestConduitAPIMethod.php"},"region":{"startLine":53}}}],"partialFingerprints":{"codehealthFindingId/v1":"ed932c86c5296bbeeda2f6280fde2405a117fa211ca73a29528ea4bc46b73980"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorMailManagementSendTestWorkflow.execute (cyclomatic 22): PhabricatorMailManagementSendTestWorkflow.execute has cyclomatic complexity 22 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/metamta/management/PhabricatorMailManagementSendTestWorkflow.php"},"region":{"startLine":72}}}],"partialFingerprints":{"codehealthFindingId/v1":"c5e1cfe6e77c6743ffcf5be2c001c8a4d9c0a79adac6b8389dc5f7a5d68a94b9"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorPeopleInviteSendController.handleRequest (cyclomatic 22): PhabricatorPeopleInviteSendController.handleRequest has cyclomatic complexity 22 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/people/controller/PhabricatorPeopleInviteSendController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"3d8d5178e3c0a36d37f9be41e364dd3d4ac329e336c51a8458d046545563b103"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorApplicationSearchEngine.buildConduitResponse (cyclomatic 22): PhabricatorApplicationSearchEngine.buildConduitResponse has cyclomatic complexity 22 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/search/engine/PhabricatorApplicationSearchEngine.php"},"region":{"startLine":1134}}}],"partialFingerprints":{"codehealthFindingId/v1":"bb4e223a6d198c280488d979bac817f68ee5a05cfa464c9a1ec53ee2b5e831d0"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorSlowvoteEditController.handleRequest (cyclomatic 22): PhabricatorSlowvoteEditController.handleRequest has cyclomatic complexity 22 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/slowvote/controller/PhabricatorSlowvoteEditController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"04213312d6d8e71b31a38e7ed7a988845fda6cf7dd02512045250c68080d8205"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorApplicationTransactionEditor.getTransactionNewValue (cyclomatic 22): PhabricatorApplicationTransactionEditor.getTransactionNewValue has cyclomatic complexity 22 (threshold 15). To reduce it, keep the dispatch but shrink the arms: move each non-trivial case body into its own named function (or onto the value being matched) so the dispatch reads one line per case, and group related cases into a sub-dispatch. Where every arm is uniform \u2014 the same kind of value, with no behaviour of its own \u2014 a table keyed by the case is the shorter form; wherever the arms carry different data or different behaviour, keep them as cases, because collapsing those trades an explicit, reviewable set of cases for nothing."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php"},"region":{"startLine":588}}}],"partialFingerprints":{"codehealthFindingId/v1":"72c1eb68f79216ae7cba9c3974f7f58eef634f92183760b026dc6ab923bf76a9"}},{"ruleId":"D1","level":"warning","message":{"text":"PhutilRemarkupListBlockRule.markupText (cyclomatic 22): PhutilRemarkupListBlockRule.markupText has cyclomatic complexity 22 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/markup/blockrule/PhutilRemarkupListBlockRule.php"},"region":{"startLine":88}}}],"partialFingerprints":{"codehealthFindingId/v1":"b2e0bbfe02805a0097712049cfcf02347cc043937ed714d5377f8d9722798563"}},{"ruleId":"D1","level":"warning","message":{"text":"Porter.step4 (cyclomatic 21): Porter.step4 has cyclomatic complexity 21 (threshold 15). To reduce it, keep the dispatch but shrink the arms: move each non-trivial case body into its own named function (or onto the value being matched) so the dispatch reads one line per case, and group related cases into a sub-dispatch. Where every arm is uniform \u2014 the same kind of value, with no behaviour of its own \u2014 a table keyed by the case is the shorter form; wherever the arms carry different data or different behaviour, keep them as cases, because collapsing those trades an explicit, reviewable set of cases for nothing."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"externals/porter-stemmer/src/Porter.php"},"region":{"startLine":240}}}],"partialFingerprints":{"codehealthFindingId/v1":"e9928fc6e43eca325709fd6b7b33b6abf9d30a623325fee50f857df3709a873b"}},{"ruleId":"D1","level":"warning","message":{"text":"PhutilCalendarRecurrenceRule.newYearMap (cyclomatic 21): PhutilCalendarRecurrenceRule.newYearMap has cyclomatic complexity 21 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/parser/data/PhutilCalendarRecurrenceRule.php"},"region":{"startLine":1349}}}],"partialFingerprints":{"codehealthFindingId/v1":"4e88bc7e4b0d04113e5dfdc24a7e4c73041b5c31249764b5903eb5918f713df1"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorConfigClusterRepositoriesController.buildClusterRepositoryStatus (cyclomatic 21): PhabricatorConfigClusterRepositoriesController.buildClusterRepositoryStatus has cyclomatic complexity 21 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/controller/services/PhabricatorConfigClusterRepositoriesController.php"},"region":{"startLine":46}}}],"partialFingerprints":{"codehealthFindingId/v1":"bfa09cfe441bec63919ba5db3b2c2607304b7bdb9ff0a28146de3445923b94ab"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorDashboardPanelTabsController.handleRequest (cyclomatic 21): PhabricatorDashboardPanelTabsController.handleRequest has cyclomatic complexity 21 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/dashboard/controller/panel/PhabricatorDashboardPanelTabsController.php"},"region":{"startLine":17}}}],"partialFingerprints":{"codehealthFindingId/v1":"955d7cc65faac7bf2b8a1bf235ad431eafd984aadfa0501cba3a765adf8c3915"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorDashboardTabsPanelType.renderPanelContent (cyclomatic 21): PhabricatorDashboardTabsPanelType.renderPanelContent has cyclomatic complexity 21 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/dashboard/paneltype/PhabricatorDashboardTabsPanelType.php"},"region":{"startLine":46}}}],"partialFingerprints":{"codehealthFindingId/v1":"52ddbc29be92a777de616856bb812b6cb67e5adc4ca28256dce99c0765a0c90d"}},{"ruleId":"D1","level":"warning","message":{"text":"DifferentialTransactionEditor.expandTransaction (cyclomatic 21): DifferentialTransactionEditor.expandTransaction has cyclomatic complexity 21 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/editor/DifferentialTransactionEditor.php"},"region":{"startLine":152}}}],"partialFingerprints":{"codehealthFindingId/v1":"b87ffe536259a7358a9c1117411df376a63fd9b586db336a3e2a1b128c1d4a5a"}},{"ruleId":"D1","level":"warning","message":{"text":"DifferentialTransactionEditor.updateReviewStatus (cyclomatic 21): DifferentialTransactionEditor.updateReviewStatus has cyclomatic complexity 21 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/editor/DifferentialTransactionEditor.php"},"region":{"startLine":403}}}],"partialFingerprints":{"codehealthFindingId/v1":"d5e2e2b5c053e8c09cdfca77703b3d5e01db615d9d83ac91148f13bd9c7b673c"}},{"ruleId":"D1","level":"warning","message":{"text":"DiffusionSymbolController.handleRequest (cyclomatic 21): DiffusionSymbolController.handleRequest has cyclomatic complexity 21 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/controller/DiffusionSymbolController.php"},"region":{"startLine":5}}}],"partialFingerprints":{"codehealthFindingId/v1":"0cfabb7c3ef15770c79eb9ca4067a293c9245d2fe86eb28a5f5d6fc5342c718b"}},{"ruleId":"D1","level":"warning","message":{"text":"DiffusionGitUploadPackWireProtocol.willReadBytes (cyclomatic 21): DiffusionGitUploadPackWireProtocol.willReadBytes has cyclomatic complexity 21 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/protocol/DiffusionGitUploadPackWireProtocol.php"},"region":{"startLine":16}}}],"partialFingerprints":{"codehealthFindingId/v1":"74b1311f08b333c9474aaeeae92f990ad957bcbc46ea55170a1c02f9f71a54cf"}},{"ruleId":"D1","level":"warning","message":{"text":"DiffusionMercurialWireClientSSHProtocolChannel.decodeStream (cyclomatic 21): DiffusionMercurialWireClientSSHProtocolChannel.decodeStream has cyclomatic complexity 21 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/ssh/DiffusionMercurialWireClientSSHProtocolChannel.php"},"region":{"startLine":79}}}],"partialFingerprints":{"codehealthFindingId/v1":"2438fdd200adbf5ea4ee22d263ae7a7fcc62003e63eb76798fd476825d7cdbac"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorFileQuery.buildWhereClauseParts (cyclomatic 21): PhabricatorFileQuery.buildWhereClauseParts has cyclomatic complexity 21 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/files/query/PhabricatorFileQuery.php"},"region":{"startLine":396}}}],"partialFingerprints":{"codehealthFindingId/v1":"c6c7c89224fccaf0b447c793730fafee728f9d81e2c78e54b1a2b528e3c78a96"}},{"ruleId":"D1","level":"warning","message":{"text":"HeraldAction.loadStandardTargets (cyclomatic 21): HeraldAction.loadStandardTargets has cyclomatic complexity 21 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/herald/action/HeraldAction.php"},"region":{"startLine":206}}}],"partialFingerprints":{"codehealthFindingId/v1":"cc86dcc3fbadb6265b7570bbd58ac9fa32407a416ac7e26bbb2185b637fcbe19"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorMentionRemarkupRule.didMarkupText (cyclomatic 21): PhabricatorMentionRemarkupRule.didMarkupText has cyclomatic complexity 21 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/people/markup/PhabricatorMentionRemarkupRule.php"},"region":{"startLine":57}}}],"partialFingerprints":{"codehealthFindingId/v1":"fdbf676e5da0c400d7da16a30b29fd872dad11ea41228e871744974b628bc843"}},{"ruleId":"D1","level":"warning","message":{"text":"PhrictionDocumentQuery.buildWhereClauseParts (cyclomatic 21): PhrictionDocumentQuery.buildWhereClauseParts has cyclomatic complexity 21 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phriction/query/PhrictionDocumentQuery.php"},"region":{"startLine":199}}}],"partialFingerprints":{"codehealthFindingId/v1":"361d80c1e483b4f984a187cad5251a2f3a9b794e3e97d543fe7260b2dbe00bb5"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorRepositoryPullEngine.pullRepositoryWithLock (cyclomatic 21): PhabricatorRepositoryPullEngine.pullRepositoryWithLock has cyclomatic complexity 21 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/engine/PhabricatorRepositoryPullEngine.php"},"region":{"startLine":51}}}],"partialFingerprints":{"codehealthFindingId/v1":"0e832a9dd6c09cc9c94d38e085c9ae6b347d4e84002bee8f0d567b82d0961102"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorSearchHovercardController.handleRequest (cyclomatic 21): PhabricatorSearchHovercardController.handleRequest has cyclomatic complexity 21 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/search/controller/PhabricatorSearchHovercardController.php"},"region":{"startLine":10}}}],"partialFingerprints":{"codehealthFindingId/v1":"6fabe085bc6209e58e7e7cabb80bbf5202a7135346c5c22d47c2fe4dc76285a2"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorProfileMenuEngine.buildItemConfigureContent (cyclomatic 21): PhabricatorProfileMenuEngine.buildItemConfigureContent has cyclomatic complexity 21 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/search/engine/PhabricatorProfileMenuEngine.php"},"region":{"startLine":683}}}],"partialFingerprints":{"codehealthFindingId/v1":"4f9cdf9737a8302281a9cab490b6f29c77b227e384ce0dcb6f276fb189271276"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorSearchResultView.emboldenQuery (cyclomatic 21): PhabricatorSearchResultView.emboldenQuery has cyclomatic complexity 21 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/search/view/PhabricatorSearchResultView.php"},"region":{"startLine":59}}}],"partialFingerprints":{"codehealthFindingId/v1":"b9a126080ac5e771a5625537059e1693cdaf81389ec037b09e86bba0814ff8fb"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorSubscriptionsHeraldAction.applySubscribe (cyclomatic 21): PhabricatorSubscriptionsHeraldAction.applySubscribe has cyclomatic complexity 21 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/subscriptions/herald/PhabricatorSubscriptionsHeraldAction.php"},"region":{"startLine":19}}}],"partialFingerprints":{"codehealthFindingId/v1":"db270c42d32fbd401f3817bbcce4bb7482c285f2f77cafe6a59bc17ede66d514"}},{"ruleId":"D1","level":"warning","message":{"text":"PHUIDiffTableOfContentsListView.newComponentView (cyclomatic 21): PHUIDiffTableOfContentsListView.newComponentView has cyclomatic complexity 21 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/diff/view/PHUIDiffTableOfContentsListView.php"},"region":{"startLine":387}}}],"partialFingerprints":{"codehealthFindingId/v1":"aba4f7af3216997dc6c7eb851a40366c76ca0fe893eb6946c213c8ecc06a6d45"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorCursorPagedPolicyAwareQuery.buildPagingClauseFromMultipleColumns (cyclomatic 21): PhabricatorCursorPagedPolicyAwareQuery.buildPagingClauseFromMultipleColumns has cyclomatic complexity 21 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/query/policy/PhabricatorCursorPagedPolicyAwareQuery.php"},"region":{"startLine":727}}}],"partialFingerprints":{"codehealthFindingId/v1":"4f623c4de67f0f114cf6eb58cbb41da6f65cab104114b1c8789a7b9517e01dab"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorStandardPageView.willRenderPage (cyclomatic 21): PhabricatorStandardPageView.willRenderPage has cyclomatic complexity 21 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/page/PhabricatorStandardPageView.php"},"region":{"startLine":199}}}],"partialFingerprints":{"codehealthFindingId/v1":"de45b900c38fe9586cde4677b50807e2086800808b97d072c9c079578c7dabf2"}},{"ruleId":"D1","level":"warning","message":{"text":"redraw (cyclomatic 21): redraw has cyclomatic complexity 21 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function so the top-level body reads as a short sequence of named decisions."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"webroot/rsrc/js/application/diff/DiffTreeView.js"},"region":{"startLine":87}}}],"partialFingerprints":{"codehealthFindingId/v1":"13c6a6c3c81c7be62b1b4aff0996ea267141bbea8b556d7bbbc87c71a842f573"}},{"ruleId":"D1","level":"warning","message":{"text":"Text_Figlet.lineEcho (cyclomatic 20): Text_Figlet.lineEcho has cyclomatic complexity 20 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"externals/pear-figlet/Text/Figlet.php"},"region":{"startLine":269}}}],"partialFingerprints":{"codehealthFindingId/v1":"6c750813d0e9a7287b18a166ee9d46b9a2f2f8f3ca0754b3abd8096c85cfa14c"}},{"ruleId":"D1","level":"warning","message":{"text":"Text_Figlet._rep (cyclomatic 20): Text_Figlet._rep has cyclomatic complexity 20 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"externals/pear-figlet/Text/Figlet.php"},"region":{"startLine":390}}}],"partialFingerprints":{"codehealthFindingId/v1":"b1e7c537f5d1d80fe2170b0671ab2af21e4ccb978bce60c0726921e63d2d8e70"}},{"ruleId":"D1","level":"warning","message":{"text":"PHPMailerLite.WrapText (cyclomatic 20): PHPMailerLite.WrapText has cyclomatic complexity 20 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"externals/phpmailer/class.phpmailer-lite.php"},"region":{"startLine":785}}}],"partialFingerprints":{"codehealthFindingId/v1":"6fe8f2ea51e4bc3c9fa092685f0724c04ee9ba3143f8452ffa7f73824ad083ce"}},{"ruleId":"D1","level":"warning","message":{"text":"PHPMailer.WrapText (cyclomatic 20): PHPMailer.WrapText has cyclomatic complexity 20 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"externals/phpmailer/class.phpmailer.php"},"region":{"startLine":916}}}],"partialFingerprints":{"codehealthFindingId/v1":"905cff47d36039b8d6a781932b0b90de9b0e4090f40077450efa60b8cbe2217f"}},{"ruleId":"D1","level":"warning","message":{"text":"Porter.step1ab (cyclomatic 20): Porter.step1ab has cyclomatic complexity 20 (threshold 15). To reduce it, name the conditions: bind each compound test to a well-named local or a small predicate function, so the body reads as a sequence of named decisions rather than a chain of operators."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"externals/porter-stemmer/src/Porter.php"},"region":{"startLine":83}}}],"partialFingerprints":{"codehealthFindingId/v1":"cb426968e08bb88120e898aa80d6d7a676664fcab620a8ccb2bbb6ea740013c3"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorAuthOneTimeLoginController.handleRequest (cyclomatic 20): PhabricatorAuthOneTimeLoginController.handleRequest has cyclomatic complexity 20 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/controller/PhabricatorAuthOneTimeLoginController.php"},"region":{"startLine":10}}}],"partialFingerprints":{"codehealthFindingId/v1":"f61de40801e36b0f33d70d279509010b05aae3290794eab9aef4468886d5c6fc"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorEmailLoginController.handleRequest (cyclomatic 20): PhabricatorEmailLoginController.handleRequest has cyclomatic complexity 20 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/controller/PhabricatorEmailLoginController.php"},"region":{"startLine":10}}}],"partialFingerprints":{"codehealthFindingId/v1":"67dc934e1087c44fea9f4d99791fc45cd3edb6e81c16d805488c84cf13731ab2"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorAuthInviteAction.newActionListFromAddresses (cyclomatic 20): PhabricatorAuthInviteAction.newActionListFromAddresses has cyclomatic complexity 20 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/data/PhabricatorAuthInviteAction.php"},"region":{"startLine":94}}}],"partialFingerprints":{"codehealthFindingId/v1":"828e0ab944020d383711909c910b27a1abd3d1a91c4530218360571d8d086941"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorAuthPasswordEngine.checkNewPassword (cyclomatic 20): PhabricatorAuthPasswordEngine.checkNewPassword has cyclomatic complexity 20 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/engine/PhabricatorAuthPasswordEngine.php"},"region":{"startLine":57}}}],"partialFingerprints":{"codehealthFindingId/v1":"5be162abb96511f8491bfc7dcc1a81a63a35237c0e8d8e6d3c9f7c577f062293"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorCalendarEventCancelController.handleRequest (cyclomatic 20): PhabricatorCalendarEventCancelController.handleRequest has cyclomatic complexity 20 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/controller/PhabricatorCalendarEventCancelController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"bb21cb0e8073d73510147e9e222db58064d1f032c8e4dd86ae7e793a09015d46"}},{"ruleId":"D1","level":"warning","message":{"text":"PhutilCalendarRecurrenceRule.advanceCursorState (cyclomatic 20): PhutilCalendarRecurrenceRule.advanceCursorState has cyclomatic complexity 20 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function so the top-level body reads as a short sequence of named decisions."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/parser/data/PhutilCalendarRecurrenceRule.php"},"region":{"startLine":1685}}}],"partialFingerprints":{"codehealthFindingId/v1":"890d0417e61d76ce8d92a122bdf320002921d4302efa9e1539974ac033bf195b"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorCalendarEventQuery.buildWhereClauseParts (cyclomatic 20): PhabricatorCalendarEventQuery.buildWhereClauseParts has cyclomatic complexity 20 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/query/PhabricatorCalendarEventQuery.php"},"region":{"startLine":357}}}],"partialFingerprints":{"codehealthFindingId/v1":"e9710dca08895e4859b1cca8c5598636ffc2a1bb898f8eb9abeb9fa8c1a4e78c"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorConduitAPIController.handleRequest (cyclomatic 20): PhabricatorConduitAPIController.handleRequest has cyclomatic complexity 20 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/conduit/controller/PhabricatorConduitAPIController.php"},"region":{"startLine":10}}}],"partialFingerprints":{"codehealthFindingId/v1":"f2e58694b6ed135a596e67c9043c2a768e6cb6be314e1b08280dc888f184fb5b"}},{"ruleId":"D1","level":"warning","message":{"text":"DarkConsoleServicesPlugin.generateData (cyclomatic 20): DarkConsoleServicesPlugin.generateData has cyclomatic complexity 20 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/console/plugin/DarkConsoleServicesPlugin.php"},"region":{"startLine":47}}}],"partialFingerprints":{"codehealthFindingId/v1":"399a14cb67b451499c9c8984a783076c231202ce86279693ba3f0a885f5c650f"}},{"ruleId":"D1","level":"warning","message":{"text":"DifferentialGetCommitMessageConduitAPIMethod.execute (cyclomatic 20): DifferentialGetCommitMessageConduitAPIMethod.execute has cyclomatic complexity 20 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/conduit/DifferentialGetCommitMessageConduitAPIMethod.php"},"region":{"startLine":34}}}],"partialFingerprints":{"codehealthFindingId/v1":"256f3ea300acfb1eef2ed4b3e058720ea70aed7f87d5fd8bf644ca072a1945b3"}},{"ruleId":"D1","level":"warning","message":{"text":"DifferentialTransactionEditor.buildMailBody (cyclomatic 20): DifferentialTransactionEditor.buildMailBody has cyclomatic complexity 20 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/editor/DifferentialTransactionEditor.php"},"region":{"startLine":662}}}],"partialFingerprints":{"codehealthFindingId/v1":"ee6cd98b2efd3b43529ff75159de86d4d734886661719839f61e79a77902d262"}},{"ruleId":"D1","level":"warning","message":{"text":"DiffusionController.buildCrumbList (cyclomatic 20): DiffusionController.buildCrumbList has cyclomatic complexity 20 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/controller/DiffusionController.php"},"region":{"startLine":128}}}],"partialFingerprints":{"codehealthFindingId/v1":"7c420f5a97be91379f9061d154ce749878226a7f0a33edaaa90b754136ec9d35"}},{"ruleId":"D1","level":"warning","message":{"text":"DiffusionLowLevelResolveRefsQuery.resolveMercurialRefs (cyclomatic 20): DiffusionLowLevelResolveRefsQuery.resolveMercurialRefs has cyclomatic complexity 20 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/query/lowlevel/DiffusionLowLevelResolveRefsQuery.php"},"region":{"startLine":243}}}],"partialFingerprints":{"codehealthFindingId/v1":"257c8cbd3d65b62c14b864fd7a9c9d65211ee0f373d3f341e6fb3ee94e7b3fa5"}},{"ruleId":"D1","level":"warning","message":{"text":"HarbormasterBuildEngine.updateBuildable (cyclomatic 20): HarbormasterBuildEngine.updateBuildable has cyclomatic complexity 20 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/harbormaster/engine/HarbormasterBuildEngine.php"},"region":{"startLine":442}}}],"partialFingerprints":{"codehealthFindingId/v1":"715fb2b425f6d586cb58a3f2ca97aad8b4f0e1a7a2aa4da4fd18978bbb01439a"}},{"ruleId":"D1","level":"warning","message":{"text":"ManiphestTaskStatus.validateConfiguration (cyclomatic 20): ManiphestTaskStatus.validateConfiguration has cyclomatic complexity 20 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/maniphest/constants/ManiphestTaskStatus.php"},"region":{"startLine":261}}}],"partialFingerprints":{"codehealthFindingId/v1":"e5ef3d562958f19d6ab7855e98e24c35bc074c423538e1b9c6620d443f332756"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorPeopleTestDataGenerator.generateUsername (cyclomatic 20): PhabricatorPeopleTestDataGenerator.generateUsername has cyclomatic complexity 20 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/people/lipsum/PhabricatorPeopleTestDataGenerator.php"},"region":{"startLine":44}}}],"partialFingerprints":{"codehealthFindingId/v1":"e9adff1b7e83257f6607d8825421790a84824fa1cbe43c84493af247d82c246c"}},{"ruleId":"D1","level":"warning","message":{"text":"PhortuneCartCheckoutController.handleCartRequest (cyclomatic 20): PhortuneCartCheckoutController.handleCartRequest has cyclomatic complexity 20 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function so the top-level body reads as a short sequence of named decisions."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phortune/controller/cart/PhortuneCartCheckoutController.php"},"region":{"startLine":14}}}],"partialFingerprints":{"codehealthFindingId/v1":"ad779550d52bb73c0199ca3769813dd01bb367b0cdbadfcd0c0292381414f718"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorBulkManagementExportWorkflow.newQueries (cyclomatic 20): PhabricatorBulkManagementExportWorkflow.newQueries has cyclomatic complexity 20 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/bulk/management/PhabricatorBulkManagementExportWorkflow.php"},"region":{"startLine":152}}}],"partialFingerprints":{"codehealthFindingId/v1":"28e8026771b59facb35e346c109a611491a372944ec35b786aa8cc5f503032b8"}},{"ruleId":"D1","level":"warning","message":{"text":"PHUIObjectBoxView.getTagContent (cyclomatic 20): PHUIObjectBoxView.getTagContent has cyclomatic complexity 20 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/phui/PHUIObjectBoxView.php"},"region":{"startLine":181}}}],"partialFingerprints":{"codehealthFindingId/v1":"a92d1a9471220d19109a4600c2449cd8b735240df386df6e35e1bcf65d2df7ee"}},{"ruleId":"D1","level":"warning","message":{"text":"PHUIObjectItemView.getTagAttributes (cyclomatic 20): PHUIObjectItemView.getTagAttributes has cyclomatic complexity 20 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/phui/PHUIObjectItemView.php"},"region":{"startLine":287}}}],"partialFingerprints":{"codehealthFindingId/v1":"dd84166fa0aa6cc6d49c46b0138897da2503a3a45e1e19d1ff04224a91eca71a"}},{"ruleId":"D1","level":"warning","message":{"text":"SMTP.Data (cyclomatic 19): SMTP.Data has cyclomatic complexity 19 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"externals/phpmailer/class.smtp.php"},"region":{"startLine":326}}}],"partialFingerprints":{"codehealthFindingId/v1":"271e6ae998b9de557258a4cff0ddc32079b06c5fd3541fd5f00f121e9678682b"}},{"ruleId":"D1","level":"warning","message":{"text":"AphrontHTTPHeaderParser.getHeaderContentAsPairs (cyclomatic 19): AphrontHTTPHeaderParser.getHeaderContentAsPairs has cyclomatic complexity 19 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/aphront/headerparser/AphrontHTTPHeaderParser.php"},"region":{"startLine":34}}}],"partialFingerprints":{"codehealthFindingId/v1":"fa5706f7f8b3dadb5de2d9873c9bdca5b78a89c7535086086b48ed7652ac10fb"}},{"ruleId":"D1","level":"warning","message":{"text":"PhutilCalendarRecurrenceRule.resetSource (cyclomatic 19): PhutilCalendarRecurrenceRule.resetSource has cyclomatic complexity 19 (threshold 15). To reduce it, keep the dispatch but shrink the arms: move each non-trivial case body into its own named function (or onto the value being matched) so the dispatch reads one line per case, and group related cases into a sub-dispatch. Where every arm is uniform \u2014 the same kind of value, with no behaviour of its own \u2014 a table keyed by the case is the shorter form; wherever the arms carry different data or different behaviour, keep them as cases, because collapsing those trades an explicit, reviewable set of cases for nothing."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/parser/data/PhutilCalendarRecurrenceRule.php"},"region":{"startLine":566}}}],"partialFingerprints":{"codehealthFindingId/v1":"a45cad6907b2c4a76382818f90f4b35060d081a6eaf2f4f125a1da6fa0a41731"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorBinariesSetupCheck.executeChecks (cyclomatic 19): PhabricatorBinariesSetupCheck.executeChecks has cyclomatic complexity 19 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/check/PhabricatorBinariesSetupCheck.php"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"a5f7e0bfb79021d2672034b9cb844c4f7d3df131c49e0996b893b15ca6e0a0f8"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorExtraConfigSetupCheck.executeChecks (cyclomatic 19): PhabricatorExtraConfigSetupCheck.executeChecks has cyclomatic complexity 19 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/check/PhabricatorExtraConfigSetupCheck.php"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"801c35d38c8c993213e2b28f0de110dd66671239561e829c12eea22a71cdce65"}},{"ruleId":"D1","level":"warning","message":{"text":"DifferentialChangesetRenderer.buildPrimitives (cyclomatic 19): DifferentialChangesetRenderer.buildPrimitives has cyclomatic complexity 19 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/render/DifferentialChangesetRenderer.php"},"region":{"startLine":453}}}],"partialFingerprints":{"codehealthFindingId/v1":"bcc102e0a640cd17464097418d75f174285586e91f2ee5a8bacb8e52117cfde9"}},{"ruleId":"D1","level":"warning","message":{"text":"DifferentialLocalCommitsView.render (cyclomatic 19): DifferentialLocalCommitsView.render has cyclomatic complexity 19 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/view/DifferentialLocalCommitsView.php"},"region":{"startLine":19}}}],"partialFingerprints":{"codehealthFindingId/v1":"ff88d66311573258d4cdf0afc750520fdfec52d2df1af3ae4d9aaa5675a44e7d"}},{"ruleId":"D1","level":"warning","message":{"text":"DiffusionRepositoryStorageManagementPanel.buildClusterStatusPanel (cyclomatic 19): DiffusionRepositoryStorageManagementPanel.buildClusterStatusPanel has cyclomatic complexity 19 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/management/DiffusionRepositoryStorageManagementPanel.php"},"region":{"startLine":79}}}],"partialFingerprints":{"codehealthFindingId/v1":"4557ea6b89e22309a442e2462e2dfdadaff8a8ed9f31662efbe672fbe1886ba2"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorFilesManagementMigrateWorkflow.execute (cyclomatic 19): PhabricatorFilesManagementMigrateWorkflow.execute has cyclomatic complexity 19 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/files/management/PhabricatorFilesManagementMigrateWorkflow.php"},"region":{"startLine":57}}}],"partialFingerprints":{"codehealthFindingId/v1":"4c571582a6b662a330ca7f35078f5b6fb2571666fead6e7ef8423c976652a017"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorOAuthServerTokenController.handleRequest (cyclomatic 19): PhabricatorOAuthServerTokenController.handleRequest has cyclomatic complexity 19 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/oauthserver/controller/PhabricatorOAuthServerTokenController.php"},"region":{"startLine":17}}}],"partialFingerprints":{"codehealthFindingId/v1":"e7e26232f956bff42ca8961b10f8cfe6ac4b24af2c3a40c0b3d520ef258b477b"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorOwnersPackageQuery.getControllingPackagesForPath (cyclomatic 19): PhabricatorOwnersPackageQuery.getControllingPackagesForPath has cyclomatic complexity 19 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/owners/query/PhabricatorOwnersPackageQuery.php"},"region":{"startLine":369}}}],"partialFingerprints":{"codehealthFindingId/v1":"1ec20d33c092ee54eeabadbe5580bdf2cf3be7adb5fa4927d81bcb2a7d3081ee"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorPeopleQuery.fillUserCaches (cyclomatic 19): PhabricatorPeopleQuery.fillUserCaches has cyclomatic complexity 19 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/people/query/PhabricatorPeopleQuery.php"},"region":{"startLine":514}}}],"partialFingerprints":{"codehealthFindingId/v1":"47cd7e079cc7b5af81177c4a72b8f36ecde5678b6030ecde85ee1f1f0696d8bc"}},{"ruleId":"D1","level":"warning","message":{"text":"PhortuneCartCancelController.handleCartRequest (cyclomatic 19): PhortuneCartCancelController.handleCartRequest has cyclomatic complexity 19 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phortune/controller/cart/PhortuneCartCancelController.php"},"region":{"startLine":14}}}],"partialFingerprints":{"codehealthFindingId/v1":"e4354982e489e6235cc077ded3091057480e0f738f702e95a18d123f44b2e8a1"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorPhortuneManagementInvoiceWorkflow.execute (cyclomatic 19): PhabricatorPhortuneManagementInvoiceWorkflow.execute has cyclomatic complexity 19 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phortune/management/PhabricatorPhortuneManagementInvoiceWorkflow.php"},"region":{"startLine":49}}}],"partialFingerprints":{"codehealthFindingId/v1":"7956f0a3fb2e4a7016360e8248a92211b09e9f7e7fe7d161f5caff74a4afdc8b"}},{"ruleId":"D1","level":"warning","message":{"text":"PhortunePayPalPaymentProvider.updateCharge (cyclomatic 19): PhortunePayPalPaymentProvider.updateCharge has cyclomatic complexity 19 (threshold 15). To reduce it, keep the dispatch but shrink the arms: move each non-trivial case body into its own named function (or onto the value being matched) so the dispatch reads one line per case, and group related cases into a sub-dispatch. Where every arm is uniform \u2014 the same kind of value, with no behaviour of its own \u2014 a table keyed by the case is the shorter form; wherever the arms carry different data or different behaviour, keep them as cases, because collapsing those trades an explicit, reviewable set of cases for nothing."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phortune/provider/PhortunePayPalPaymentProvider.php"},"region":{"startLine":194}}}],"partialFingerprints":{"codehealthFindingId/v1":"7a9b7862b29a969ffebdea276614ba63ebb73906f35bed4028b03bfcdfae824c"}},{"ruleId":"D1","level":"warning","message":{"text":"PhrictionDocumentQuery.willFilterPage (cyclomatic 19): PhrictionDocumentQuery.willFilterPage has cyclomatic complexity 19 (threshold 15). To reduce it, break up the iteration: give each loop body a named function, and split a multi-phase loop into one function per phase so no single body carries the whole pipeline."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phriction/query/PhrictionDocumentQuery.php"},"region":{"startLine":69}}}],"partialFingerprints":{"codehealthFindingId/v1":"17037c438900479e3021dd793bec872f91c65417ad01e31374334c7af8b5567f"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorProjectIconSet.validateConfiguration (cyclomatic 19): PhabricatorProjectIconSet.validateConfiguration has cyclomatic complexity 19 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/icon/PhabricatorProjectIconSet.php"},"region":{"startLine":195}}}],"partialFingerprints":{"codehealthFindingId/v1":"fac05faad12d0d82fb22b8ec23e3d768a5671a04c3cae99cfcf48c3b778ed4aa"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorRepositoryManagementParentsWorkflow.rebuildRepository (cyclomatic 19): PhabricatorRepositoryManagementParentsWorkflow.rebuildRepository has cyclomatic complexity 19 (threshold 15). To reduce it, break up the iteration: give each loop body a named function, and split a multi-phase loop into one function per phase so no single body carries the whole pipeline."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/management/PhabricatorRepositoryManagementParentsWorkflow.php"},"region":{"startLine":49}}}],"partialFingerprints":{"codehealthFindingId/v1":"ddc569de5b21252119a477e40d0d0e48d3642263f63b4e4698481be9bddbec2e"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorRepositoryManagementRebuildIdentitiesWorkflow.execute (cyclomatic 19): PhabricatorRepositoryManagementRebuildIdentitiesWorkflow.execute has cyclomatic complexity 19 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/management/PhabricatorRepositoryManagementRebuildIdentitiesWorkflow.php"},"region":{"startLine":63}}}],"partialFingerprints":{"codehealthFindingId/v1":"b66249de92f273da9f2a44529b5e4a73d61100d0ed3e7c94512f6ae2dbac428a"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorSearchRelationshipController.handleRequest (cyclomatic 19): PhabricatorSearchRelationshipController.handleRequest has cyclomatic complexity 19 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/search/controller/PhabricatorSearchRelationshipController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"f42f84ea3f9918f2e7000530ec748958e1191d3a9262ef713131f9626fc51598"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorApplicationTransactionEditor.addHeadersAndCommentsToMailBody (cyclomatic 19): PhabricatorApplicationTransactionEditor.addHeadersAndCommentsToMailBody has cyclomatic complexity 19 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php"},"region":{"startLine":3859}}}],"partialFingerprints":{"codehealthFindingId/v1":"0fef53853f9b1e86a5ecd47cf656b4fb4d6ba9bd4d6cb76acb7bfcdf37925d48"}},{"ruleId":"D1","level":"warning","message":{"text":"PhutilProseDifferenceEngine.buildDiff (cyclomatic 19): PhutilProseDifferenceEngine.buildDiff has cyclomatic complexity 19 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/diff/prose/PhutilProseDifferenceEngine.php"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"e5d41ae5ea2a3980d8615f71a42bf3fd30cc363504eb3981dd2b352720dc6cf8"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorDiffInlineCommentQuery.willFilterPage (cyclomatic 19): PhabricatorDiffInlineCommentQuery.willFilterPage has cyclomatic complexity 19 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/diff/query/PhabricatorDiffInlineCommentQuery.php"},"region":{"startLine":144}}}],"partialFingerprints":{"codehealthFindingId/v1":"7b0ff8f2c13e0be0d9145bfd1379f81c7855a34f0d27ca170bf150f79ca1cc16"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorJavelinLinter.lintPath (cyclomatic 19): PhabricatorJavelinLinter.lintPath has cyclomatic complexity 19 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/lint/linter/PhabricatorJavelinLinter.php"},"region":{"startLine":104}}}],"partialFingerprints":{"codehealthFindingId/v1":"5f6b48c29f58c65738a362544558c4d7fe4d8d43f8d1484b08ac6fb3391f81f3"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorManagementWorkflow.loadUsersFromArguments (cyclomatic 19): PhabricatorManagementWorkflow.loadUsersFromArguments has cyclomatic complexity 19 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/management/PhabricatorManagementWorkflow.php"},"region":{"startLine":70}}}],"partialFingerprints":{"codehealthFindingId/v1":"185b638b354d9ab8afd970d296d63c4361560e45b130350990c3df5f8035f179"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorCursorPagedPolicyAwareQuery.buildEdgeLogicJoinClause (cyclomatic 19): PhabricatorCursorPagedPolicyAwareQuery.buildEdgeLogicJoinClause has cyclomatic complexity 19 (threshold 15). To reduce it, break up the iteration: give each loop body a named function, and split a multi-phase loop into one function per phase so no single body carries the whole pipeline."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/query/policy/PhabricatorCursorPagedPolicyAwareQuery.php"},"region":{"startLine":2694}}}],"partialFingerprints":{"codehealthFindingId/v1":"429aed1a6e8f9b59c1b89bcb461c4e4844f3f08793d8d227023443e4135296bd"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorRemarkupControl.renderInput (cyclomatic 19): PhabricatorRemarkupControl.renderInput has cyclomatic complexity 19 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/form/control/PhabricatorRemarkupControl.php"},"region":{"startLine":52}}}],"partialFingerprints":{"codehealthFindingId/v1":"97aa890058ab50433ff787a5db6d7d1997bd5cdea0538947c2c56d41418aba21"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorMainMenuView.render (cyclomatic 19): PhabricatorMainMenuView.render has cyclomatic complexity 19 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/page/menu/PhabricatorMainMenuView.php"},"region":{"startLine":51}}}],"partialFingerprints":{"codehealthFindingId/v1":"cf3be248134ed52b0e198c58c9d3ffa457e6e29a3d2df7f119300b772bd6734f"}},{"ruleId":"D1","level":"warning","message":{"text":"PHUIPagerView.render (cyclomatic 19): PHUIPagerView.render has cyclomatic complexity 19 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/phui/PHUIPagerView.php"},"region":{"startLine":119}}}],"partialFingerprints":{"codehealthFindingId/v1":"b828c4260d5a9086931382a6ce72388af4656e156031d6597a2c0995fd0a52d1"}},{"ruleId":"D1","level":"warning","message":{"text":"_getFragmentLocation (cyclomatic 19): _getFragmentLocation has cyclomatic complexity 19 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function so the top-level body reads as a short sequence of named decisions."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"webroot/rsrc/js/application/diff/DiffChangesetList.js"},"region":{"startLine":2643}}}],"partialFingerprints":{"codehealthFindingId/v1":"b60f5281e8cdce123bbe7056dc96caf96425504fa6fdb9bcf65b0e237b769c1b"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorDuoAuthFactor.processAddFactorForm (cyclomatic 18): PhabricatorDuoAuthFactor.processAddFactorForm has cyclomatic complexity 18 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/factor/PhabricatorDuoAuthFactor.php"},"region":{"startLine":155}}}],"partialFingerprints":{"codehealthFindingId/v1":"53041389dfbcd0050204db77cc765a78e8ee4742bac5fec4d617d0c7e50fa740"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorConfigConsoleController.loadVersions (cyclomatic 18): PhabricatorConfigConsoleController.loadVersions has cyclomatic complexity 18 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/controller/PhabricatorConfigConsoleController.php"},"region":{"startLine":139}}}],"partialFingerprints":{"codehealthFindingId/v1":"fc81833b5eebe6a7b707b2521568d749f0c2eab52d2cfbddaee184822fa56978"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorDashboardObjectInstallWorkflow.handleRequest (cyclomatic 18): PhabricatorDashboardObjectInstallWorkflow.handleRequest has cyclomatic complexity 18 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/dashboard/install/PhabricatorDashboardObjectInstallWorkflow.php"},"region":{"startLine":10}}}],"partialFingerprints":{"codehealthFindingId/v1":"ee82a9ddfce4d7b6ce7b45a9e63e909d48e1ab2c4b070dfbaf2aa17c748165c7"}},{"ruleId":"D1","level":"warning","message":{"text":"DifferentialTransactionEditor.didApplyTransactions (cyclomatic 18): DifferentialTransactionEditor.didApplyTransactions has cyclomatic complexity 18 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/editor/DifferentialTransactionEditor.php"},"region":{"startLine":1529}}}],"partialFingerprints":{"codehealthFindingId/v1":"4619141cb3519d4384e7a24b71d8e340e27f77719fb962fd5f1a9f3fcbc90288"}},{"ruleId":"D1","level":"warning","message":{"text":"DifferentialCommitMessageParser.parseCorpus (cyclomatic 18): DifferentialCommitMessageParser.parseCorpus has cyclomatic complexity 18 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/parser/DifferentialCommitMessageParser.php"},"region":{"startLine":136}}}],"partialFingerprints":{"codehealthFindingId/v1":"80b720c79193f1b933f5c3d05e11c19f396f97e55bd2108d05d0d50b33373f47"}},{"ruleId":"D1","level":"warning","message":{"text":"DifferentialRevisionListView.render (cyclomatic 18): DifferentialRevisionListView.render has cyclomatic complexity 18 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/view/DifferentialRevisionListView.php"},"region":{"startLine":50}}}],"partialFingerprints":{"codehealthFindingId/v1":"05875b7afd2f69a53fcee84b40906c3da893063c5299e4d2e5c05cea0493747c"}},{"ruleId":"D1","level":"warning","message":{"text":"DiffusionLintSaveRunner.run (cyclomatic 18): DiffusionLintSaveRunner.run has cyclomatic complexity 18 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/DiffusionLintSaveRunner.php"},"region":{"startLine":45}}}],"partialFingerprints":{"codehealthFindingId/v1":"472fb290525cabb6c97388e8aaf8607dcc75f83edeb46fdbc44805384318645d"}},{"ruleId":"D1","level":"warning","message":{"text":"DiffusionRefTableController.handleRequest (cyclomatic 18): DiffusionRefTableController.handleRequest has cyclomatic complexity 18 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/controller/DiffusionRefTableController.php"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"c60d46b856ac11998e34e327e33a3b7826970f9e0986308a0f8632eb96f8a3a1"}},{"ruleId":"D1","level":"warning","message":{"text":"DiffusionRepositoryProfilePictureController.handleRequest (cyclomatic 18): DiffusionRepositoryProfilePictureController.handleRequest has cyclomatic complexity 18 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/controller/DiffusionRepositoryProfilePictureController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"4e0c599b94343719801825c5ec2d74bc1ad2c0a43fff187702d2367fa1b7d4af"}},{"ruleId":"D1","level":"warning","message":{"text":"DiffusionSubversionWireProtocol.writeData (cyclomatic 18): DiffusionSubversionWireProtocol.writeData has cyclomatic complexity 18 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/protocol/DiffusionSubversionWireProtocol.php"},"region":{"startLine":31}}}],"partialFingerprints":{"codehealthFindingId/v1":"6c188462f74f5f2732e13998e6f31dbc47b537dda1d2e83c8534a6ab100a3d14"}},{"ruleId":"D1","level":"warning","message":{"text":"DiffusionCommitGraphView.newObjectItemViews (cyclomatic 18): DiffusionCommitGraphView.newObjectItemViews has cyclomatic complexity 18 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/view/DiffusionCommitGraphView.php"},"region":{"startLine":105}}}],"partialFingerprints":{"codehealthFindingId/v1":"421318db7e7bca92e77eb0ce963f10525a34fdf5b485131329cc8229057fb92d"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorChartStackedAreaDataset.newChartDisplayData (cyclomatic 18): PhabricatorChartStackedAreaDataset.newChartDisplayData has cyclomatic complexity 18 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/fact/chart/PhabricatorChartStackedAreaDataset.php"},"region":{"startLine":19}}}],"partialFingerprints":{"codehealthFindingId/v1":"1e48c7b3e50f82fdfd2b91df48256779f2bf99aa4751278f1fb0313015b834eb"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorChartRenderingEngine.newTabularView (cyclomatic 18): PhabricatorChartRenderingEngine.newTabularView has cyclomatic complexity 18 (threshold 15). To reduce it, break up the iteration: give each loop body a named function, and split a multi-phase loop into one function per phase so no single body carries the whole pipeline."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/fact/engine/PhabricatorChartRenderingEngine.php"},"region":{"startLine":112}}}],"partialFingerprints":{"codehealthFindingId/v1":"be5692b1e32a9ed11df48f8498fcff73a3fa765ed7ade5f28cfb216f4db96b71"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorFileDataController.handleRequest (cyclomatic 18): PhabricatorFileDataController.handleRequest has cyclomatic complexity 18 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/files/controller/PhabricatorFileDataController.php"},"region":{"startLine":17}}}],"partialFingerprints":{"codehealthFindingId/v1":"5be11daaf8d326fee8e27ce459c09dfb51d73e21bfa98c13358122b6fffc9a35"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorFileQuery.loadPage (cyclomatic 18): PhabricatorFileQuery.loadPage has cyclomatic complexity 18 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/files/query/PhabricatorFileQuery.php"},"region":{"startLine":166}}}],"partialFingerprints":{"codehealthFindingId/v1":"18896b68a56a4e9e705400e4110d5b7fdfb3dd0bf87f2439e15aa7578c5a4fd8"}},{"ruleId":"D1","level":"warning","message":{"text":"HarbormasterUIEventListener.handlePropertyEvent (cyclomatic 18): HarbormasterUIEventListener.handlePropertyEvent has cyclomatic complexity 18 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/harbormaster/event/HarbormasterUIEventListener.php"},"region":{"startLine":18}}}],"partialFingerprints":{"codehealthFindingId/v1":"7d5a779cb8351f109027af0c78e5e70a93fcc633b377a06f4e726539782993ce"}},{"ruleId":"D1","level":"warning","message":{"text":"HeraldRuleController.saveRule (cyclomatic 18): HeraldRuleController.saveRule has cyclomatic complexity 18 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/herald/controller/HeraldRuleController.php"},"region":{"startLine":263}}}],"partialFingerprints":{"codehealthFindingId/v1":"4b9efa7c0246b70369386970e56bb7fdf2e59283b0c89e8d998d481445ec660e"}},{"ruleId":"D1","level":"warning","message":{"text":"HeraldEngine.applyRules (cyclomatic 18): HeraldEngine.applyRules has cyclomatic complexity 18 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/herald/engine/HeraldEngine.php"},"region":{"startLine":126}}}],"partialFingerprints":{"codehealthFindingId/v1":"1088ceb00166aa30fb17203e89ce13717924fead9894e302ce48a14f320a455b"}},{"ruleId":"D1","level":"warning","message":{"text":"HeraldEngine.applyEffects (cyclomatic 18): HeraldEngine.applyEffects has cyclomatic complexity 18 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/herald/engine/HeraldEngine.php"},"region":{"startLine":258}}}],"partialFingerprints":{"codehealthFindingId/v1":"86a8710e8f892790c6754012bfb42b8ac3387972fe7901dd05a426d893e91a86"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorMacroQuery.buildWhereClauseParts (cyclomatic 18): PhabricatorMacroQuery.buildWhereClauseParts has cyclomatic complexity 18 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/macro/query/PhabricatorMacroQuery.php"},"region":{"startLine":103}}}],"partialFingerprints":{"codehealthFindingId/v1":"15f584d333d35438ebf61a7bcc7e132d0aafb62521b4e7e18b125222b565ece4"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorMailSMTPAdapter.sendMessage (cyclomatic 18): PhabricatorMailSMTPAdapter.sendMessage has cyclomatic complexity 18 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/metamta/adapter/PhabricatorMailSMTPAdapter.php"},"region":{"startLine":47}}}],"partialFingerprints":{"codehealthFindingId/v1":"1117c5f4863510f91bf06db3d29ece39539dae7a8185cd4cba8bec15544dc623"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorNotificationServersConfigType.validateStoredValue (cyclomatic 18): PhabricatorNotificationServersConfigType.validateStoredValue has cyclomatic complexity 18 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/notification/config/PhabricatorNotificationServersConfigType.php"},"region":{"startLine":8}}}],"partialFingerprints":{"codehealthFindingId/v1":"b5ce06f9d8266fc85969b1f472e3ea001d3e30ce0d49f69ae8368584386f9838"}},{"ruleId":"D1","level":"warning","message":{"text":"NuanceGitHubImportCursor.pullDataFromSource (cyclomatic 18): NuanceGitHubImportCursor.pullDataFromSource has cyclomatic complexity 18 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/nuance/cursor/NuanceGitHubImportCursor.php"},"region":{"startLine":56}}}],"partialFingerprints":{"codehealthFindingId/v1":"dfbb8cf62b24df468b9cac2d4987a63ac45da365410ffa2e666d5a506055541d"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorOAuthServerAuthController.handleRequest (cyclomatic 18): PhabricatorOAuthServerAuthController.handleRequest has cyclomatic complexity 18 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/oauthserver/controller/PhabricatorOAuthServerAuthController.php"},"region":{"startLine":12}}}],"partialFingerprints":{"codehealthFindingId/v1":"f3f81ec485244e85f9a2e0b345d787b84536a8c8387cd5c292a3fb9a85d8c920"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorPolicyFilter.applyExtendedPolicyChecks (cyclomatic 18): PhabricatorPolicyFilter.applyExtendedPolicyChecks has cyclomatic complexity 18 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/policy/filter/PhabricatorPolicyFilter.php"},"region":{"startLine":299}}}],"partialFingerprints":{"codehealthFindingId/v1":"70851965e7ec40ff8162585435169e5618a7011d82259140c75290d3b6aeb803"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorRepositoryGraphCache.loadLastModifiedCommitID (cyclomatic 18): PhabricatorRepositoryGraphCache.loadLastModifiedCommitID has cyclomatic complexity 18 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/graphcache/PhabricatorRepositoryGraphCache.php"},"region":{"startLine":75}}}],"partialFingerprints":{"codehealthFindingId/v1":"1ceef3c7cc5a8744a28463054ca93a9f7c18f91558499b61a174ecae804b526c"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorProfileMenuItemView.newListItemView (cyclomatic 18): PhabricatorProfileMenuItemView.newListItemView has cyclomatic complexity 18 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/search/engine/PhabricatorProfileMenuItemView.php"},"region":{"startLine":138}}}],"partialFingerprints":{"codehealthFindingId/v1":"0858e8c949b0a2db4842f4cada56abb0c7755518c0e68fd512bd35f90b52528d"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorSSHPassthruCommand.execute (cyclomatic 18): PhabricatorSSHPassthruCommand.execute has cyclomatic complexity 18 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/ssh/PhabricatorSSHPassthruCommand.php"},"region":{"startLine":87}}}],"partialFingerprints":{"codehealthFindingId/v1":"0a4c3b7a53c0ae9b81d5296ef740c17b27385ec56bba04d9ab4a7194898285a9"}},{"ruleId":"D1","level":"warning","message":{"text":"PHUIListItemView.getTagContent (cyclomatic 18): PHUIListItemView.getTagContent has cyclomatic complexity 18 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/phui/PHUIListItemView.php"},"region":{"startLine":286}}}],"partialFingerprints":{"codehealthFindingId/v1":"3ad6161cc884d86a409a01e1def54d196396666e5990ee7ef2dbe1ef6f8967f2"}},{"ruleId":"D1","level":"warning","message":{"text":"PHUITimelineView.buildEvents (cyclomatic 18): PHUITimelineView.buildEvents has cyclomatic complexity 18 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/phui/PHUITimelineView.php"},"region":{"startLine":101}}}],"partialFingerprints":{"codehealthFindingId/v1":"199b99f5af845eafe94e00e7490eb58854b111b18429507720242ff8e515a6b8"}},{"ruleId":"D1","level":"warning","message":{"text":"getSelectableItems (cyclomatic 18): getSelectableItems has cyclomatic complexity 18 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function so the top-level body reads as a short sequence of named decisions."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"webroot/rsrc/js/application/diff/DiffChangeset.js"},"region":{"startLine":435}}}],"partialFingerprints":{"codehealthFindingId/v1":"b25cdc0059de9c14c9b8e3dc6c8ded14dc07612088e03b3b161ffb71b19a95f6"}},{"ruleId":"D1","level":"warning","message":{"text":"PHPMailer.CreateHeader (cyclomatic 17): PHPMailer.CreateHeader has cyclomatic complexity 17 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"externals/phpmailer/class.phpmailer.php"},"region":{"startLine":1057}}}],"partialFingerprints":{"codehealthFindingId/v1":"59ed8df16a9c817860fe17fe327019e91f32d43628c745ef7a4ef286a4d10428"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorConfigClusterDatabasesController.buildClusterDatabaseStatus (cyclomatic 17): PhabricatorConfigClusterDatabasesController.buildClusterDatabaseStatus has cyclomatic complexity 17 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/controller/services/PhabricatorConfigClusterDatabasesController.php"},"region":{"startLine":36}}}],"partialFingerprints":{"codehealthFindingId/v1":"2fd0b1f35db6110b08f8a1e63e2b0d4905a1070ebe82d0ad743b68d2824456c6"}},{"ruleId":"D1","level":"warning","message":{"text":"ConpherenceViewController.handleRequest (cyclomatic 17): ConpherenceViewController.handleRequest has cyclomatic complexity 17 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/conpherence/controller/ConpherenceViewController.php"},"region":{"startLine":12}}}],"partialFingerprints":{"codehealthFindingId/v1":"6eadd8d0e449d35064ecc8f3b11db1d6056a5b9394996355cab342b0df5b7d10"}},{"ruleId":"D1","level":"warning","message":{"text":"ConpherenceThreadSearchEngine.renderResultList (cyclomatic 17): ConpherenceThreadSearchEngine.renderResultList has cyclomatic complexity 17 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/conpherence/query/ConpherenceThreadSearchEngine.php"},"region":{"startLine":94}}}],"partialFingerprints":{"codehealthFindingId/v1":"3b591e1ae97cbd80659c480db1f827985142d1789021547ff24f9d881f48eeec"}},{"ruleId":"D1","level":"warning","message":{"text":"DifferentialChangesetParser.newDocumentEngine (cyclomatic 17): DifferentialChangesetParser.newDocumentEngine has cyclomatic complexity 17 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/parser/DifferentialChangesetParser.php"},"region":{"startLine":1746}}}],"partialFingerprints":{"codehealthFindingId/v1":"6bb6f1c8c6202cc55e70a4e3a964d9b494eb474867705ff8a5ae261d69c7a8ab"}},{"ruleId":"D1","level":"warning","message":{"text":"DifferentialChangesetOneUpMailRenderer.renderPrimitives (cyclomatic 17): DifferentialChangesetOneUpMailRenderer.renderPrimitives has cyclomatic complexity 17 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/render/DifferentialChangesetOneUpMailRenderer.php"},"region":{"startLine":43}}}],"partialFingerprints":{"codehealthFindingId/v1":"1502a9dac851b7b8aecdd88464fe7f90d84f82fc103c42d7b13101241e5f6af5"}},{"ruleId":"D1","level":"warning","message":{"text":"DifferentialRevisionUpdateHistoryView.render (cyclomatic 17): DifferentialRevisionUpdateHistoryView.render has cyclomatic complexity 17 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/view/DifferentialRevisionUpdateHistoryView.php"},"region":{"startLine":38}}}],"partialFingerprints":{"codehealthFindingId/v1":"1c2d610274a3e3adda6b3b86ea3086a67dd78a5e6fb4d53ad9084205564bd92b"}},{"ruleId":"D1","level":"warning","message":{"text":"DiffusionCompareController.handleRequest (cyclomatic 17): DiffusionCompareController.handleRequest has cyclomatic complexity 17 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/controller/DiffusionCompareController.php"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"03c55b273ed0ef6392e3ceae5d44ae33292a8befd5c355e632d74e67651d99ea"}},{"ruleId":"D1","level":"warning","message":{"text":"DiffusionSourceLinkRemarkupRule.didMarkupText (cyclomatic 17): DiffusionSourceLinkRemarkupRule.didMarkupText has cyclomatic complexity 17 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/remarkup/DiffusionSourceLinkRemarkupRule.php"},"region":{"startLine":46}}}],"partialFingerprints":{"codehealthFindingId/v1":"654a5bc23a7791a46c310098055d78253213b0ef1db5304aa2fc82f2e19ab0af"}},{"ruleId":"D1","level":"warning","message":{"text":"DivinerPHPAtomizer.executeAtomize (cyclomatic 17): DivinerPHPAtomizer.executeAtomize has cyclomatic complexity 17 (threshold 15). To reduce it, break up the iteration: give each loop body a named function, and split a multi-phase loop into one function per phase so no single body carries the whole pipeline."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diviner/atomizer/DivinerPHPAtomizer.php"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"5ee9ee38c99935903b858bcded7456637935ebc07d2d8feade094cdcd546fe34"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorJupyterDocumentEngine.newCells (cyclomatic 17): PhabricatorJupyterDocumentEngine.newCells has cyclomatic complexity 17 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/files/document/PhabricatorJupyterDocumentEngine.php"},"region":{"startLine":307}}}],"partialFingerprints":{"codehealthFindingId/v1":"b86b01fa83542d7483e2272b447e0f6b52dc9ec612edf6099cd9189a8c84563a"}},{"ruleId":"D1","level":"warning","message":{"text":"HeraldRuleController.setupEditorBehavior (cyclomatic 17): HeraldRuleController.setupEditorBehavior has cyclomatic complexity 17 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/herald/controller/HeraldRuleController.php"},"region":{"startLine":400}}}],"partialFingerprints":{"codehealthFindingId/v1":"9b8b286f06ac0af9983033e4f35b000df32f4e0db3e10778f8a9accaf6d45daf"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorPeopleQuery.buildWhereClauseParts (cyclomatic 17): PhabricatorPeopleQuery.buildWhereClauseParts has cyclomatic complexity 17 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/people/query/PhabricatorPeopleQuery.php"},"region":{"startLine":242}}}],"partialFingerprints":{"codehealthFindingId/v1":"e0541a0b2e9ced07a137c29ee3f6e0c0bd8aa90bb67fde9c1e9ed7f795b1b401"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorPeopleQuery.rebuildAvailabilityCache (cyclomatic 17): PhabricatorPeopleQuery.rebuildAvailabilityCache has cyclomatic complexity 17 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/people/query/PhabricatorPeopleQuery.php"},"region":{"startLine":385}}}],"partialFingerprints":{"codehealthFindingId/v1":"a8f34057fb81daa89eff951824aa13478efc1e511b2e7ad64cd5711bd4c7bd4a"}},{"ruleId":"D1","level":"warning","message":{"text":"PhameLiveController.setupLiveEnvironment (cyclomatic 17): PhameLiveController.setupLiveEnvironment has cyclomatic complexity 17 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phame/controller/PhameLiveController.php"},"region":{"startLine":30}}}],"partialFingerprints":{"codehealthFindingId/v1":"48817007d4f670eaf72d8cbad48b034423616d5efbcc54b31a32af375ccee8cb"}},{"ruleId":"D1","level":"warning","message":{"text":"PhluxEditController.handleRequest (cyclomatic 17): PhluxEditController.handleRequest has cyclomatic complexity 17 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phlux/controller/PhluxEditController.php"},"region":{"startLine":5}}}],"partialFingerprints":{"codehealthFindingId/v1":"2b5459139e6f2df58e223a565e7ace62989ea7ca04c948bab3a3a5c55118089a"}},{"ruleId":"D1","level":"warning","message":{"text":"PhortuneMerchantProviderEditController.handleMerchantRequest (cyclomatic 17): PhortuneMerchantProviderEditController.handleMerchantRequest has cyclomatic complexity 17 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phortune/controller/merchant/PhortuneMerchantProviderEditController.php"},"region":{"startLine":10}}}],"partialFingerprints":{"codehealthFindingId/v1":"9ca82142cc2c7d9ab5610ef7d4f1e95af85fc1e8e317932f8144437649444d9f"}},{"ruleId":"D1","level":"warning","message":{"text":"PhortuneOrderSummaryView.newMessagesView (cyclomatic 17): PhortuneOrderSummaryView.newMessagesView has cyclomatic complexity 17 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phortune/view/PhortuneOrderSummaryView.php"},"region":{"startLine":49}}}],"partialFingerprints":{"codehealthFindingId/v1":"c8f12fd844f77d01a9ef4f9b49bbd0d6b755be06d9aac913964ad39c7a09fcf6"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorProjectBoardReorderController.handleRequest (cyclomatic 17): PhabricatorProjectBoardReorderController.handleRequest has cyclomatic complexity 17 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/controller/PhabricatorProjectBoardReorderController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"ab9d9dd55802a61ae49f9f9f3eb4507bf5af9e365198817482edcd55a7089298"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorProjectEditPictureController.handleRequest (cyclomatic 17): PhabricatorProjectEditPictureController.handleRequest has cyclomatic complexity 17 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/controller/PhabricatorProjectEditPictureController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"3c0314edcbad5b2be36a0779f4a6157a5f9ee5ead4bc3e66dbe4c6dfb40f6afc"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorProjectUserListView.render (cyclomatic 17): PhabricatorProjectUserListView.render has cyclomatic complexity 17 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/view/PhabricatorProjectUserListView.php"},"region":{"startLine":55}}}],"partialFingerprints":{"codehealthFindingId/v1":"c50a165f5df1d3d2fb886b1b39adaadc156b7c77ab9220be2aed8adbd252adb2"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorRepositorySvnCommitChangeParserWorker.parseRecursiveListFileData (cyclomatic 17): PhabricatorRepositorySvnCommitChangeParserWorker.parseRecursiveListFileData has cyclomatic complexity 17 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/worker/commitchangeparser/PhabricatorRepositorySvnCommitChangeParserWorker.php"},"region":{"startLine":676}}}],"partialFingerprints":{"codehealthFindingId/v1":"0ac3dcb74f002adc429b1597dde9a8b3caa43fb1c4cc1546dc22cfbfb4ae696b"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorApplicationTransactionEditor.filterTransactions (cyclomatic 17): PhabricatorApplicationTransactionEditor.filterTransactions has cyclomatic complexity 17 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php"},"region":{"startLine":2772}}}],"partialFingerprints":{"codehealthFindingId/v1":"ad5ea45844ee7d2d41ffd512e7b2651df4a7d43ffe5b556221ed00f9d01ac9fe"}},{"ruleId":"D1","level":"warning","message":{"text":"PhutilDaemonHandle.update (cyclomatic 17): PhutilDaemonHandle.update has cyclomatic complexity 17 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/daemon/PhutilDaemonHandle.php"},"region":{"startLine":136}}}],"partialFingerprints":{"codehealthFindingId/v1":"f4baa555b47a12313d3b006b25b2c9abea2b5e86bec4aaba05e7bbaded234723"}},{"ruleId":"D1","level":"warning","message":{"text":"PhutilDefaultSyntaxHighlighterEngine.getHighlightFuture (cyclomatic 17): PhutilDefaultSyntaxHighlighterEngine.getHighlightFuture has cyclomatic complexity 17 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/markup/syntax/engine/PhutilDefaultSyntaxHighlighterEngine.php"},"region":{"startLine":42}}}],"partialFingerprints":{"codehealthFindingId/v1":"7c2b48e157624eae4af5cfb9224cb6fdad713a067e8f25d9de8a84dc35037ed5"}},{"ruleId":"D1","level":"warning","message":{"text":"PhutilXHPASTSyntaxHighlighterFuture.findInterestingSymbols (cyclomatic 17): PhutilXHPASTSyntaxHighlighterFuture.findInterestingSymbols has cyclomatic complexity 17 (threshold 15). To reduce it, break up the iteration: give each loop body a named function, and split a multi-phase loop into one function per phase so no single body carries the whole pipeline."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/markup/syntax/highlighter/xhpast/PhutilXHPASTSyntaxHighlighterFuture.php"},"region":{"startLine":164}}}],"partialFingerprints":{"codehealthFindingId/v1":"112f16ccb41ae60c63220e5735835f75cf8d4e79ed4227968c198e7553c907fe"}},{"ruleId":"D1","level":"warning","message":{"text":"PHUICalendarMonthView.render (cyclomatic 17): PHUICalendarMonthView.render has cyclomatic complexity 17 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/phui/calendar/PHUICalendarMonthView.php"},"region":{"startLine":53}}}],"partialFingerprints":{"codehealthFindingId/v1":"acc97d34eced5439f2ab853a51da47d4395587dd6bdc80db869283e5aae12471"}},{"ruleId":"D1","level":"warning","message":{"text":"_getInlinesByType (cyclomatic 17): _getInlinesByType has cyclomatic complexity 17 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function so the top-level body reads as a short sequence of named decisions."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"webroot/rsrc/js/application/diff/DiffChangesetList.js"},"region":{"startLine":1968}}}],"partialFingerprints":{"codehealthFindingId/v1":"7b434e1d6da8371374427116adfe37e8810095d208ec3fe96d599ff33b7bdab1"}},{"ruleId":"D1","level":"warning","message":{"text":"PHPMailerLite.newFromMessage (cyclomatic 16): PHPMailerLite.newFromMessage has cyclomatic complexity 16 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"externals/phpmailer/class.phpmailer-lite.php"},"region":{"startLine":45}}}],"partialFingerprints":{"codehealthFindingId/v1":"7a3b4239b1984ecaf32042a682b6d187adcbf02a676122f1880982e5bfd1bca7"}},{"ruleId":"D1","level":"warning","message":{"text":"PHPMailerLite.MailSend (cyclomatic 16): PHPMailerLite.MailSend has cyclomatic complexity 16 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"externals/phpmailer/class.phpmailer-lite.php"},"region":{"startLine":649}}}],"partialFingerprints":{"codehealthFindingId/v1":"2ce7f260fa837d34427f0fb1a41a82cd232a4b8b6ba92fac79b0e7de4416181b"}},{"ruleId":"D1","level":"warning","message":{"text":"PHPMailer.MailSend (cyclomatic 16): PHPMailer.MailSend has cyclomatic complexity 16 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"externals/phpmailer/class.phpmailer.php"},"region":{"startLine":628}}}],"partialFingerprints":{"codehealthFindingId/v1":"be7547be170e40af9ef7c73123a6ca86a49dd4c4779ffdd37c444e45d18dbe51"}},{"ruleId":"D1","level":"warning","message":{"text":"PhutilICSParser.parseICSProperty (cyclomatic 16): PhutilICSParser.parseICSProperty has cyclomatic complexity 16 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/parser/ics/PhutilICSParser.php"},"region":{"startLine":191}}}],"partialFingerprints":{"codehealthFindingId/v1":"759d8f45c11f2c4eef36c99ca74fb1b57e78dbc68bdd096449f2b2573d9b1656"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorConduitMethodQuery.filterMethods (cyclomatic 16): PhabricatorConduitMethodQuery.filterMethods has cyclomatic complexity 16 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/conduit/query/PhabricatorConduitMethodQuery.php"},"region":{"startLine":57}}}],"partialFingerprints":{"codehealthFindingId/v1":"c014b7d9b746dc32fefb5e9d93fb3c92a340ba08caddc89d06fe36ee6891ec08"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorPathSetupCheck.executeChecks (cyclomatic 16): PhabricatorPathSetupCheck.executeChecks has cyclomatic complexity 16 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/check/PhabricatorPathSetupCheck.php"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"1c95775892f5dbbcb80cdaa5b6dbdd50de6e1619e82a5b56b7ad3ea606be5a11"}},{"ruleId":"D1","level":"warning","message":{"text":"ConpherenceTransactionRenderer.renderTransactions (cyclomatic 16): ConpherenceTransactionRenderer.renderTransactions has cyclomatic complexity 16 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/conpherence/ConpherenceTransactionRenderer.php"},"region":{"startLine":5}}}],"partialFingerprints":{"codehealthFindingId/v1":"7f217533664a2e4ce2cf90e808723f5afcf6333d821c18a0ced018bf69147b10"}},{"ruleId":"D1","level":"warning","message":{"text":"ConpherenceRoomPictureController.handleRequest (cyclomatic 16): ConpherenceRoomPictureController.handleRequest has cyclomatic complexity 16 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/conpherence/controller/ConpherenceRoomPictureController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"e1eb860338e7f5c0dfdfd08ff9fee330c3d14c9c56dfef84ac0b4daf052c46a4"}},{"ruleId":"D1","level":"warning","message":{"text":"DifferentialDiffCreateController.handleRequest (cyclomatic 16): DifferentialDiffCreateController.handleRequest has cyclomatic complexity 16 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/controller/DifferentialDiffCreateController.php"},"region":{"startLine":5}}}],"partialFingerprints":{"codehealthFindingId/v1":"c9ac74e6575cec16df8bb3564451c9532f3b6b85e771f85841cf7922a9062b05"}},{"ruleId":"D1","level":"warning","message":{"text":"DifferentialTransactionEditor.expandCustomRemarkupBlockTransactions (cyclomatic 16): DifferentialTransactionEditor.expandCustomRemarkupBlockTransactions has cyclomatic complexity 16 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/editor/DifferentialTransactionEditor.php"},"region":{"startLine":807}}}],"partialFingerprints":{"codehealthFindingId/v1":"8ca7ea39919a59e1bb2a87cba7bc65db680bc40ad7fd702975031b25fcac99e1"}},{"ruleId":"D1","level":"warning","message":{"text":"DifferentialDiffExtractionEngine.isDiffChangedBeforeCommit (cyclomatic 16): DifferentialDiffExtractionEngine.isDiffChangedBeforeCommit has cyclomatic complexity 16 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/engine/DifferentialDiffExtractionEngine.php"},"region":{"startLine":119}}}],"partialFingerprints":{"codehealthFindingId/v1":"cbb43cd12d6b58e4ef2d39382cf972d82696350b6b0662f43bd94f62ee8cbc63"}},{"ruleId":"D1","level":"warning","message":{"text":"DifferentialRevisionReviewTransaction.applyReviewerEffect (cyclomatic 16): DifferentialRevisionReviewTransaction.applyReviewerEffect has cyclomatic complexity 16 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/xaction/DifferentialRevisionReviewTransaction.php"},"region":{"startLine":163}}}],"partialFingerprints":{"codehealthFindingId/v1":"e6b7385a02fdb894579596069e59e7a437648578e52b9cbb0419f53a5b4d0b60"}},{"ruleId":"D1","level":"warning","message":{"text":"DrydockManagementLeaseWorkflow.execute (cyclomatic 16): DrydockManagementLeaseWorkflow.execute has cyclomatic complexity 16 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/drydock/management/DrydockManagementLeaseWorkflow.php"},"region":{"startLine":44}}}],"partialFingerprints":{"codehealthFindingId/v1":"d1fbe49215a318eafc8dafe740a3e79901375c78ebde71635250aea650fde6cd"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorTransactionFactEngine.groupTransactions (cyclomatic 16): PhabricatorTransactionFactEngine.groupTransactions has cyclomatic complexity 16 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/fact/engine/PhabricatorTransactionFactEngine.php"},"region":{"startLine":21}}}],"partialFingerprints":{"codehealthFindingId/v1":"d5f626bcbfcb6729d38b38c5c00bae291f62cce5cb7e30d5f60d4a6cdb9a4276"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorFeedTransactionQuery.loadPage (cyclomatic 16): PhabricatorFeedTransactionQuery.loadPage has cyclomatic complexity 16 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/feed/query/PhabricatorFeedTransactionQuery.php"},"region":{"startLine":41}}}],"partialFingerprints":{"codehealthFindingId/v1":"b38c9faab8ae77089bfb3b0971d47db7f72de3c4ea4daeeecd81576efb772e62"}},{"ruleId":"D1","level":"warning","message":{"text":"FileAllocateConduitAPIMethod.execute (cyclomatic 16): FileAllocateConduitAPIMethod.execute has cyclomatic complexity 16 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/files/conduit/FileAllocateConduitAPIMethod.php"},"region":{"startLine":28}}}],"partialFingerprints":{"codehealthFindingId/v1":"cf7d2311efe35c5ab109723c63e029c3fa4f027557db78324728494d78235464"}},{"ruleId":"D1","level":"warning","message":{"text":"HeraldRuleController.handleRequest (cyclomatic 16): HeraldRuleController.handleRequest has cyclomatic complexity 16 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/herald/controller/HeraldRuleController.php"},"region":{"startLine":5}}}],"partialFingerprints":{"codehealthFindingId/v1":"f460afd89f9f46d2f1e160422beaf39ee9045ef33edc3d176f05265ba6714597"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorMetaMTAMemberQuery.execute (cyclomatic 16): PhabricatorMetaMTAMemberQuery.execute has cyclomatic complexity 16 (threshold 15). To reduce it, break up the iteration: give each loop body a named function, and split a multi-phase loop into one function per phase so no single body carries the whole pipeline."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/metamta/query/PhabricatorMetaMTAMemberQuery.php"},"region":{"startLine":26}}}],"partialFingerprints":{"codehealthFindingId/v1":"263dafbf34785479c3dbe78e9a3f7a9faee27496c5db634f75470dfe20ae13a6"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorPeopleSearchEngine.renderResultList (cyclomatic 16): PhabricatorPeopleSearchEngine.renderResultList has cyclomatic complexity 16 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/people/query/PhabricatorPeopleSearchEngine.php"},"region":{"startLine":233}}}],"partialFingerprints":{"codehealthFindingId/v1":"f3ce5bea05a30553bd120b673437cc691d7d10bc22d0fe337534e7fca4c724db"}},{"ruleId":"D1","level":"warning","message":{"text":"PhameBlogProfilePictureController.handleRequest (cyclomatic 16): PhameBlogProfilePictureController.handleRequest has cyclomatic complexity 16 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phame/controller/blog/PhameBlogProfilePictureController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"b884f2b918adffa14ac8eb418de290779b33a47521eae2c7036dda164eabf435"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorProjectColumnQuery.didFilterPage (cyclomatic 16): PhabricatorProjectColumnQuery.didFilterPage has cyclomatic complexity 16 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/query/PhabricatorProjectColumnQuery.php"},"region":{"startLine":88}}}],"partialFingerprints":{"codehealthFindingId/v1":"bd83ffd9ecb97996d591fe299335a6e1ac8edf6fcf366ef74f0ea227138563bd"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorRepositoryPullEngine.executeGitUpdate (cyclomatic 16): PhabricatorRepositoryPullEngine.executeGitUpdate has cyclomatic complexity 16 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/engine/PhabricatorRepositoryPullEngine.php"},"region":{"startLine":275}}}],"partialFingerprints":{"codehealthFindingId/v1":"46563bcebdc7f9228c71036850a8639aeca057c73aeca2dc95aceba1a1949105"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorRepositoryRefEngine.updateCursors (cyclomatic 16): PhabricatorRepositoryRefEngine.updateCursors has cyclomatic complexity 16 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/engine/PhabricatorRepositoryRefEngine.php"},"region":{"startLine":258}}}],"partialFingerprints":{"codehealthFindingId/v1":"fb3f04d8dcffbecd3ba4ea55738d655031257decd3650df962bf6877fc311c69"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorElasticFulltextStorageEngine.buildSpec (cyclomatic 16): PhabricatorElasticFulltextStorageEngine.buildSpec has cyclomatic complexity 16 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/search/fulltextstorage/PhabricatorElasticFulltextStorageEngine.php"},"region":{"startLine":108}}}],"partialFingerprints":{"codehealthFindingId/v1":"1821cf979ae6dbe0ba2bb5c394859c9398e261e48738e967d02fb1010279af5c"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorEmailAddressesSettingsPanel.returnNewAddressResponse (cyclomatic 16): PhabricatorEmailAddressesSettingsPanel.returnNewAddressResponse has cyclomatic complexity 16 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/settings/panel/PhabricatorEmailAddressesSettingsPanel.php"},"region":{"startLine":158}}}],"partialFingerprints":{"codehealthFindingId/v1":"f239d53f4816c42d5c3c4b52ea75a0db431d0988bb13bb06dec80efe8c88aec0"}},{"ruleId":"D1","level":"warning","message":{"text":"PhabricatorInternationalizationManagementExtractWorkflow.extractFiles (cyclomatic 16): PhabricatorInternationalizationManagementExtractWorkflow.extractFiles has cyclomatic complexity 16 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function so the top-level body reads as a short sequence of named decisions."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/internationalization/management/PhabricatorInternationalizationManagementExtractWorkflow.php"},"region":{"startLine":127}}}],"partialFingerprints":{"codehealthFindingId/v1":"71be560bb0b4c7d51d10f4b3932595c4edf531f9e26875bd3f926ba8b5809644"}},{"ruleId":"D1","level":"warning","message":{"text":"PhutilRemarkupListBlockRule.getMatchingLineCount (cyclomatic 16): PhutilRemarkupListBlockRule.getMatchingLineCount has cyclomatic complexity 16 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/markup/blockrule/PhutilRemarkupListBlockRule.php"},"region":{"startLine":13}}}],"partialFingerprints":{"codehealthFindingId/v1":"76563a0905647e3a9d77679d9539d82f3998eb7aed59d592307d3efbc60d908c"}},{"ruleId":"D1","level":"warning","message":{"text":"PHUIButtonView.getTagAttributes (cyclomatic 16): PHUIButtonView.getTagAttributes has cyclomatic complexity 16 (threshold 15). To reduce it, separate the cases: extract each independent branch into its own named function, and where the body has guards that only reject input, fold those into early returns at the top."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/phui/PHUIButtonView.php"},"region":{"startLine":172}}}],"partialFingerprints":{"codehealthFindingId/v1":"50f68a18bbe16fa378a76b6f87bd067cc18226f65ddde8f38fe6ca7d3f64bc91"}},{"ruleId":"D1","level":"warning","message":{"text":"_onresults (cyclomatic 16): _onresults has cyclomatic complexity 16 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function so the top-level body reads as a short sequence of named decisions."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"webroot/rsrc/js/phuix/PHUIXAutocomplete.js"},"region":{"startLine":230}}}],"partialFingerprints":{"codehealthFindingId/v1":"ce21499bc78bbdb96ff110a27248d07e9b4b3c86bd5313fcee9badaedfa4f833"}},{"ruleId":"D1","level":"warning","message":{"text":"seek_anchor (cyclomatic 16): seek_anchor has cyclomatic complexity 16 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function so the top-level body reads as a short sequence of named decisions."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"webroot/rsrc/js/core/behavior-watch-anchor.js"},"region":{"startLine":34}}}],"partialFingerprints":{"codehealthFindingId/v1":"c52ef5c16e80b742112beb30a9e01b26782a65c359fadd90b0d364a263429e97"}},{"ruleId":"D1","level":"warning","message":{"text":"getNewValue (cyclomatic 16): getNewValue has cyclomatic complexity 16 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function so the top-level body reads as a short sequence of named decisions."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"webroot/rsrc/js/core/behavior-time-typeahead.js"},"region":{"startLine":82}}}],"partialFingerprints":{"codehealthFindingId/v1":"a75bbaf196e6cb1b9a7cf89db27c9d4b3ac05837a8ecdeec134ea5ec5c119e1d"}},{"ruleId":"D1","level":"warning","message":{"text":"_newHoverMap (cyclomatic 16): _newHoverMap has cyclomatic complexity 16 (threshold 15). To reduce it, separate the branches: extract each independent case into its own named function so the top-level body reads as a short sequence of named decisions."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"webroot/rsrc/js/application/diff/DiffChangesetList.js"},"region":{"startLine":1539}}}],"partialFingerprints":{"codehealthFindingId/v1":"535690e5f5266b45c2205921c4a9e6adf0ffb8df9c1a9732b4c41882e50409b2"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorAuthRegisterController.handleRequest (cognitive 208): PhabricatorAuthRegisterController.handleRequest has cognitive complexity 208 (threshold 15). Drivers by points: if/else 187, boolean chains 10, error handling 6, ternaries 5 (nesting depth added 101). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/controller/PhabricatorAuthRegisterController.php"},"region":{"startLine":10}}}],"partialFingerprints":{"codehealthFindingId/v1":"97c6f84f3d1867bed9a626923bfed053b14d8d3f59d0af8414414ab446a3e67f"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialChangesetTwoUpRenderer.renderTextChange (cognitive 173): DifferentialChangesetTwoUpRenderer.renderTextChange has cognitive complexity 173 (threshold 15). Drivers by points: if/else 132, ternaries 16, loops 14, boolean chains 11 (nesting depth added 108). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/render/DifferentialChangesetTwoUpRenderer.php"},"region":{"startLine":31}}}],"partialFingerprints":{"codehealthFindingId/v1":"743cc57d72ea675b371df297e8bbecff15df422975960f17c488946a80b6bddb"}},{"ruleId":"D2","level":"warning","message":{"text":"PhutilSearchQueryCompiler.tokenizeQuery (cognitive 154): PhutilSearchQueryCompiler.tokenizeQuery has cognitive complexity 154 (threshold 15). Drivers by points: if/else 130, loops 10, match/switch 8, boolean chains 6 (nesting depth added 89). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/search/compiler/PhutilSearchQueryCompiler.php"},"region":{"startLine":104}}}],"partialFingerprints":{"codehealthFindingId/v1":"4c7994ca1ba98ffbbd79f0c96b8246808d284a30931bd6a47e4f1f7a23a9a15b"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionCommitController.handleRequest (cognitive 152): DiffusionCommitController.handleRequest has cognitive complexity 152 (threshold 15). Drivers by points: if/else 114, loops 25, match/switch 7, boolean chains 6 (nesting depth added 97). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/controller/DiffusionCommitController.php"},"region":{"startLine":17}}}],"partialFingerprints":{"codehealthFindingId/v1":"39f27336579e940f8489a41a63ad7ef1fa9c15ba19ebfc6b8d76625c205eeccc"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialChangesetParser.render (cognitive 150): DifferentialChangesetParser.render has cognitive complexity 150 (threshold 15). Drivers by points: if/else 120, loops 21, boolean chains 8, match/switch 1 (nesting depth added 73). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/parser/DifferentialChangesetParser.php"},"region":{"startLine":749}}}],"partialFingerprints":{"codehealthFindingId/v1":"bc3f9fa00837275684e30559cd2d6db791e3372be5b7389ec0090537507e454a"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorRepositorySvnCommitChangeParserWorker.parseCommitChanges (cognitive 149): PhabricatorRepositorySvnCommitChangeParserWorker.parseCommitChanges has cognitive complexity 149 (threshold 15). Drivers by points: if/else 113, loops 28, match/switch 5, boolean chains 3 (nesting depth added 91). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/worker/commitchangeparser/PhabricatorRepositorySvnCommitChangeParserWorker.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"1af77665ec5972035ff27080ab57d27e1df17bac590f3577953bb549be881032"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorRepositoryMercurialCommitChangeParserWorker.parseCommitChanges (cognitive 123): PhabricatorRepositoryMercurialCommitChangeParserWorker.parseCommitChanges has cognitive complexity 123 (threshold 15). Drivers by points: if/else 97, loops 18, ternaries 6, boolean chains 2 (nesting depth added 60). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/worker/commitchangeparser/PhabricatorRepositoryMercurialCommitChangeParserWorker.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"8fc851904f79023a19a91127beaa60bf3d6c5110b9916d27fb5b6224a3663c3c"}},{"ruleId":"D2","level":"warning","message":{"text":"HarbormasterBuildLogRenderController.handleRequest (cognitive 117): HarbormasterBuildLogRenderController.handleRequest has cognitive complexity 117 (threshold 15). Drivers by points: if/else 89, loops 23, boolean chains 5 (nesting depth added 54). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/harbormaster/controller/HarbormasterBuildLogRenderController.php"},"region":{"startLine":10}}}],"partialFingerprints":{"codehealthFindingId/v1":"d0227c5c41ae168fdc8f5bc3f4a3b2179acfbe945b0954f15a5fdcc2aade9483"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialChangesetEngine.detectCopiedCode (cognitive 115): DifferentialChangesetEngine.detectCopiedCode has cognitive complexity 115 (threshold 15). Drivers by points: if/else 71, loops 35, ternaries 9 (nesting depth added 86). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/engine/DifferentialChangesetEngine.php"},"region":{"startLine":162}}}],"partialFingerprints":{"codehealthFindingId/v1":"e38794fa079b6750ae50b9a24e46ff62355cb8c1cc605a26fcd072f870c47e2f"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorApplicationSearchController.processSearchRequest (cognitive 112): PhabricatorApplicationSearchController.processSearchRequest has cognitive complexity 112 (threshold 15). Drivers by points: if/else 78, loops 16, boolean chains 8, error handling 8, ternaries 2 (nesting depth added 54). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/search/controller/PhabricatorApplicationSearchController.php"},"region":{"startLine":95}}}],"partialFingerprints":{"codehealthFindingId/v1":"df844f67cd552fb0e6d9d38b62cce4e7daeeebc6c633d9aa69e705553ef963a0"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionCommitQuery.buildWhereClauseParts (cognitive 111): DiffusionCommitQuery.buildWhereClauseParts has cognitive complexity 111 (threshold 15). Drivers by points: if/else 96, loops 12, error handling 3 (nesting depth added 57). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/query/DiffusionCommitQuery.php"},"region":{"startLine":534}}}],"partialFingerprints":{"codehealthFindingId/v1":"1464858da01a31fab7e83d142276715ad9962466b2c4379f661114c43ecb53e8"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionMercurialWireClientSSHProtocolChannel.decodeStream (cognitive 111): DiffusionMercurialWireClientSSHProtocolChannel.decodeStream has cognitive complexity 111 (threshold 15). Drivers by points: if/else 109, boolean chains 1, loops 1 (nesting depth added 79). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/ssh/DiffusionMercurialWireClientSSHProtocolChannel.php"},"region":{"startLine":79}}}],"partialFingerprints":{"codehealthFindingId/v1":"3e2291b33db6de2b3febc38b4aebb4c08a32353649427423588caf41b8987e64"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionURIEditor.validateTransaction (cognitive 105): DiffusionURIEditor.validateTransaction has cognitive complexity 105 (threshold 15). Drivers by points: if/else 81, loops 16, match/switch 4, error handling 3, boolean chains 1 (nesting depth added 71). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/editor/DiffusionURIEditor.php"},"region":{"startLine":156}}}],"partialFingerprints":{"codehealthFindingId/v1":"97b345e28138ac67f807547893dcdd8daa9b64090cbaa8943e0f44fac41cb988"}},{"ruleId":"D2","level":"warning","message":{"text":"AphrontTableView.render (cognitive 105): AphrontTableView.render has cognitive complexity 105 (threshold 15). Drivers by points: if/else 76, loops 26, boolean chains 3 (nesting depth added 60). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/control/AphrontTableView.php"},"region":{"startLine":131}}}],"partialFingerprints":{"codehealthFindingId/v1":"b5d1269d6fa7d131b0b3f077d4945210a68af1e97c64796f7d3054aaae7c44bf"}},{"ruleId":"D2","level":"warning","message":{"text":"HeraldEngine.getRuleMatchResult (cognitive 100): HeraldEngine.getRuleMatchResult has cognitive complexity 100 (threshold 15). Drivers by points: if/else 63, error handling 28, loops 6, boolean chains 3 (nesting depth added 71). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/herald/engine/HeraldEngine.php"},"region":{"startLine":379}}}],"partialFingerprints":{"codehealthFindingId/v1":"cdf670a7371f64ddf02c8d8017f1bab207241037b20bcb336c6759e37424df15"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorManiphestTaskFactEngine.newDatapointsForObject (cognitive 99): PhabricatorManiphestTaskFactEngine.newDatapointsForObject has cognitive complexity 99 (threshold 15). Drivers by points: if/else 68, loops 20, match/switch 7, boolean chains 4 (nesting depth added 61). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/fact/engine/PhabricatorManiphestTaskFactEngine.php"},"region":{"startLine":86}}}],"partialFingerprints":{"codehealthFindingId/v1":"45abe52d75580907c751dc00d24ff177957a70496d698b7d6421ad7f7f0d0c12"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorCalendarImportEngine.importEventDocument (cognitive 97): PhabricatorCalendarImportEngine.importEventDocument has cognitive complexity 97 (threshold 15). Drivers by points: if/else 61, loops 28, error handling 3, match/switch 3, boolean chains 2 (nesting depth added 46). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/import/PhabricatorCalendarImportEngine.php"},"region":{"startLine":55}}}],"partialFingerprints":{"codehealthFindingId/v1":"202ab981a7e9ee874d38421dc2f62de7a54e8fb07250e43eeda35efc176c87e3"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorApplicationTransactionEditor.applyTransactions (cognitive 97): PhabricatorApplicationTransactionEditor.applyTransactions has cognitive complexity 97 (threshold 15). Drivers by points: if/else 73, loops 21, error handling 2, boolean chains 1 (nesting depth added 43). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php"},"region":{"startLine":1175}}}],"partialFingerprints":{"codehealthFindingId/v1":"cedcec8b3b1b8b767e285d9c59c0b106800f79e3f3c21c798de06a79dc687c39"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorInlineCommentAdjustmentEngine.execute (cognitive 97): PhabricatorInlineCommentAdjustmentEngine.execute has cognitive complexity 97 (threshold 15). Drivers by points: if/else 77, loops 17, ternaries 3 (nesting depth added 46). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/diff/engine/PhabricatorInlineCommentAdjustmentEngine.php"},"region":{"startLine":60}}}],"partialFingerprints":{"codehealthFindingId/v1":"70eb6c182c7bae59369c0856c9f65e2b421c92128c71a30e308f8e0c23385216"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionCommitHookEngine.findMercurialChangegroupRefUpdates (cognitive 92): DiffusionCommitHookEngine.findMercurialChangegroupRefUpdates has cognitive complexity 92 (threshold 15). Drivers by points: if/else 60, loops 28, boolean chains 4 (nesting depth added 57). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/engine/DiffusionCommitHookEngine.php"},"region":{"startLine":743}}}],"partialFingerprints":{"codehealthFindingId/v1":"a45d10f87554dad8f323ace87007a4238b394c47402a4cab1aeea4f6f4374aee"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorEditEngine.buildEditResponse (cognitive 92): PhabricatorEditEngine.buildEditResponse has cognitive complexity 92 (threshold 15). Drivers by points: if/else 63, loops 23, boolean chains 4, error handling 2 (nesting depth added 48). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/editengine/PhabricatorEditEngine.php"},"region":{"startLine":1033}}}],"partialFingerprints":{"codehealthFindingId/v1":"c88d59d2579ac18deeda92ac1cb89ca16c1ec5945a7bd6cbee04571b11855fa2"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionSubversionWireProtocol.writeData (cognitive 89): DiffusionSubversionWireProtocol.writeData has cognitive complexity 89 (threshold 15). Drivers by points: if/else 88, loops 1 (nesting depth added 62). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/protocol/DiffusionSubversionWireProtocol.php"},"region":{"startLine":31}}}],"partialFingerprints":{"codehealthFindingId/v1":"c88506dd1614ba9933ddc3618839ea6bb51189ceb4cedef2570766a403704e6d"}},{"ruleId":"D2","level":"warning","message":{"text":"PhutilCalendarRecurrenceRule.newDaysSet (cognitive 88): PhutilCalendarRecurrenceRule.newDaysSet has cognitive complexity 88 (threshold 15). Drivers by points: if/else 76, loops 7, boolean chains 5 (nesting depth added 50). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/parser/data/PhutilCalendarRecurrenceRule.php"},"region":{"startLine":1178}}}],"partialFingerprints":{"codehealthFindingId/v1":"5d4c8cce73e921bff7ed910f81868a6079f3658358cc081e1221f613850f21f9"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialChangesetOneUpRenderer.renderDocumentEngineBlocks (cognitive 87): DifferentialChangesetOneUpRenderer.renderDocumentEngineBlocks has cognitive complexity 87 (threshold 15). Drivers by points: if/else 69, loops 15, boolean chains 3 (nesting depth added 46). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/render/DifferentialChangesetOneUpRenderer.php"},"region":{"startLine":270}}}],"partialFingerprints":{"codehealthFindingId/v1":"945d9bcbe58bafd64aca1a928fbf632c832584d8bd55d85a9767950839eca767"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialRevisionViewController.handleRequest (cognitive 86): DifferentialRevisionViewController.handleRequest has cognitive complexity 86 (threshold 15). Drivers by points: if/else 57, loops 24, boolean chains 4, ternaries 1 (nesting depth added 20). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/controller/DifferentialRevisionViewController.php"},"region":{"startLine":43}}}],"partialFingerprints":{"codehealthFindingId/v1":"cbbcf8d539e3e3e791465198deaf3848962494c864dde8a125802f1c4d9da17f"}},{"ruleId":"D2","level":"warning","message":{"text":"PhrictionDocumentController.handleRequest (cognitive 86): PhrictionDocumentController.handleRequest has cognitive complexity 86 (threshold 15). Drivers by points: if/else 84, boolean chains 1, loops 1 (nesting depth added 43). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phriction/controller/PhrictionDocumentController.php"},"region":{"startLine":13}}}],"partialFingerprints":{"codehealthFindingId/v1":"92173e4f3fd2fc78b4ed5d8d73306fa64a63b958ed59ffdfbc868bca39d6aa22"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorFilesManagementIntegrityWorkflow.execute (cognitive 85): PhabricatorFilesManagementIntegrityWorkflow.execute has cognitive complexity 85 (threshold 15). Drivers by points: if/else 74, boolean chains 7, error handling 3, loops 1 (nesting depth added 37). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/files/management/PhabricatorFilesManagementIntegrityWorkflow.php"},"region":{"startLine":53}}}],"partialFingerprints":{"codehealthFindingId/v1":"97dd04a0b690ac7ac90d19e5f9a3234d7f6daf7d055ddcdf785369d277c0743f"}},{"ruleId":"D2","level":"warning","message":{"text":"PHUIDiffGraphView.renderRawGraph (cognitive 85): PHUIDiffGraphView.renderRawGraph has cognitive complexity 85 (threshold 15). Drivers by points: if/else 58, loops 26, boolean chains 1 (nesting depth added 56). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/diff/view/PHUIDiffGraphView.php"},"region":{"startLine":36}}}],"partialFingerprints":{"codehealthFindingId/v1":"7aba20d69852f0e54377e3935ffb9b04bef7529e08e0f6166b9a1006b1a4609e"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialHunkParser.makeContextDiff (cognitive 84): DifferentialHunkParser.makeContextDiff has cognitive complexity 84 (threshold 15). Drivers by points: if/else 73, boolean chains 7, loops 4 (nesting depth added 58). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/parser/DifferentialHunkParser.php"},"region":{"startLine":665}}}],"partialFingerprints":{"codehealthFindingId/v1":"b78e3621ee5e7ccfc28c576bd5cef6e565c346a2fd1c8d6f534b7bb0f7bc2c51"}},{"ruleId":"D2","level":"warning","message":{"text":"PhortunePaymentMethodCreateController.handleRequest (cognitive 84): PhortunePaymentMethodCreateController.handleRequest has cognitive complexity 84 (threshold 15). Drivers by points: if/else 69, error handling 11, boolean chains 2, loops 2 (nesting depth added 44). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phortune/controller/paymentmethod/PhortunePaymentMethodCreateController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"d367bef2530cbf80d67770f9fe09c7eb8ef885428a58e5d471e21dc8a38275b7"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialChangesetOneUpRenderer.renderPrimitives (cognitive 83): DifferentialChangesetOneUpRenderer.renderPrimitives has cognitive complexity 83 (threshold 15). Drivers by points: if/else 79, match/switch 2, boolean chains 1, loops 1 (nesting depth added 52). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/render/DifferentialChangesetOneUpRenderer.php"},"region":{"startLine":47}}}],"partialFingerprints":{"codehealthFindingId/v1":"a66902e5271377dc5f2d3b3ea29b766ea62868cbdd09f146ba45b65e302f95ed"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorProjectColumnBulkMoveController.handleRequest (cognitive 83): PhabricatorProjectColumnBulkMoveController.handleRequest has cognitive complexity 83 (threshold 15). Drivers by points: if/else 75, loops 8 (nesting depth added 42). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/controller/PhabricatorProjectColumnBulkMoveController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"4e8783fd85757f5274004661f80d3d87c300379d9a2d0ccf9a2aca6c1de8a3de"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorRepositoryManagementReparseWorkflow.execute (cognitive 82): PhabricatorRepositoryManagementReparseWorkflow.execute has cognitive complexity 82 (threshold 15). Drivers by points: if/else 68, boolean chains 6, error handling 3, loops 3, match/switch 2 (nesting depth added 39). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/management/PhabricatorRepositoryManagementReparseWorkflow.php"},"region":{"startLine":81}}}],"partialFingerprints":{"codehealthFindingId/v1":"6c89e1bec3091c3aa79fd974ad608612418c4c950fd108e732b048389e102e57"}},{"ruleId":"D2","level":"warning","message":{"text":"PhutilRemarkupListBlockRule.renderTree (cognitive 81): PhutilRemarkupListBlockRule.renderTree has cognitive complexity 81 (threshold 15). Drivers by points: if/else 54, loops 12, match/switch 9, ternaries 5, boolean chains 1 (nesting depth added 49). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/markup/blockrule/PhutilRemarkupListBlockRule.php"},"region":{"startLine":428}}}],"partialFingerprints":{"codehealthFindingId/v1":"9db9b00f84457229c313775bb532b812562d1723258de611edb6e08ef413eb47"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorFactObjectController.handleRequest (cognitive 80): PhabricatorFactObjectController.handleRequest has cognitive complexity 80 (threshold 15). Drivers by points: if/else 41, loops 39 (nesting depth added 43). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/fact/controller/PhabricatorFactObjectController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"141e10efdac84ab91181e86e2c6c52d041a8d97d011598c2018ef70d2f430132"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorTypeaheadModularDatasourceController.handleRequest (cognitive 77): PhabricatorTypeaheadModularDatasourceController.handleRequest has cognitive complexity 77 (threshold 15). Drivers by points: if/else 62, loops 5, ternaries 4, error handling 3, match/switch 3 (nesting depth added 45). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/typeahead/controller/PhabricatorTypeaheadModularDatasourceController.php"},"region":{"startLine":10}}}],"partialFingerprints":{"codehealthFindingId/v1":"9d092cc4e77041ae99f530a6bfe2f73f823d80c9e3db506efcd3f1b10c0dc8e1"}},{"ruleId":"D2","level":"warning","message":{"text":"ConpherenceThreadSearchEngine.loadContextMessages (cognitive 76): ConpherenceThreadSearchEngine.loadContextMessages has cognitive complexity 76 (threshold 15). Drivers by points: if/else 42, loops 34 (nesting depth added 40). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/conpherence/query/ConpherenceThreadSearchEngine.php"},"region":{"startLine":233}}}],"partialFingerprints":{"codehealthFindingId/v1":"fa06715ce3221f1a71636e31f588a1edb6cd76ae7ef21e978ca16d3c9cc790f0"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionServeController.serveRequest (cognitive 76): DiffusionServeController.serveRequest has cognitive complexity 76 (threshold 15). Drivers by points: if/else 58, boolean chains 7, error handling 7, match/switch 4 (nesting depth added 31). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/controller/DiffusionServeController.php"},"region":{"startLine":176}}}],"partialFingerprints":{"codehealthFindingId/v1":"3a68382f9e8ccef0cb8d42cf891706fa8a327f03edf32e3080d22f488c2f44df"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionRepositoryBasicsManagementPanel.buildRepositoryStatus (cognitive 76): DiffusionRepositoryBasicsManagementPanel.buildRepositoryStatus has cognitive complexity 76 (threshold 15). Drivers by points: if/else 56, match/switch 13, loops 6, boolean chains 1 (nesting depth added 37). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/management/DiffusionRepositoryBasicsManagementPanel.php"},"region":{"startLine":336}}}],"partialFingerprints":{"codehealthFindingId/v1":"26b1ac99ef6fdd6e2dd97a7c037b9f0670aebc8861aea7ba2c1eb6fa7561efc8"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorPeopleTestDataGenerator.generateUsername (cognitive 73): PhabricatorPeopleTestDataGenerator.generateUsername has cognitive complexity 73 (threshold 15). Drivers by points: if/else 50, loops 20, boolean chains 3 (nesting depth added 45). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/people/lipsum/PhabricatorPeopleTestDataGenerator.php"},"region":{"startLine":44}}}],"partialFingerprints":{"codehealthFindingId/v1":"6e71fa932008f7ae7f47821540e1972ebbe87822712740ca29731fb6238768a5"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorAuthSessionEngine.newHighSecurityToken (cognitive 71): PhabricatorAuthSessionEngine.newHighSecurityToken has cognitive complexity 71 (threshold 15). Drivers by points: if/else 55, loops 15, boolean chains 1 (nesting depth added 41). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/engine/PhabricatorAuthSessionEngine.php"},"region":{"startLine":446}}}],"partialFingerprints":{"codehealthFindingId/v1":"1de5c565a2be11877e80aefaf9c92f7cf87bb2d7753304a3ae3085ed2ff613ea"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorProfileMenuEngine.buildResponse (cognitive 71): PhabricatorProfileMenuEngine.buildResponse has cognitive complexity 71 (threshold 15). Drivers by points: if/else 58, match/switch 6, error handling 3, boolean chains 2, loops 2 (nesting depth added 30). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/search/engine/PhabricatorProfileMenuEngine.php"},"region":{"startLine":102}}}],"partialFingerprints":{"codehealthFindingId/v1":"35107a05e4ae4f189272debbe9e2a92474a9e32e90b8658974d310e5a512abcb"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorCursorPagedPolicyAwareQuery.buildFerretWhereClause (cognitive 71): PhabricatorCursorPagedPolicyAwareQuery.buildFerretWhereClause has cognitive complexity 71 (threshold 15). Drivers by points: if/else 68, boolean chains 2, loops 1 (nesting depth added 32). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/query/policy/PhabricatorCursorPagedPolicyAwareQuery.php"},"region":{"startLine":2208}}}],"partialFingerprints":{"codehealthFindingId/v1":"3ac13ba91e07e7e09f763b62162a073b06d389a18ffb07cfbdaf58169f194637"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorMetaMTAMailViewController.buildDeliveryProperties (cognitive 69): PhabricatorMetaMTAMailViewController.buildDeliveryProperties has cognitive complexity 69 (threshold 15). Drivers by points: if/else 54, loops 12, match/switch 3 (nesting depth added 36). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/metamta/controller/PhabricatorMetaMTAMailViewController.php"},"region":{"startLine":216}}}],"partialFingerprints":{"codehealthFindingId/v1":"d29fd9cf82c60d4665bf83537459adb0d586bf5a8500de9ec1beee72ca2497e7"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorMailManagementShowOutboundWorkflow.execute (cognitive 68): PhabricatorMailManagementShowOutboundWorkflow.execute has cognitive complexity 68 (threshold 15). Drivers by points: if/else 50, loops 18 (nesting depth added 35). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/metamta/management/PhabricatorMailManagementShowOutboundWorkflow.php"},"region":{"startLine":29}}}],"partialFingerprints":{"codehealthFindingId/v1":"2fbad919a3832a697b88b310c7aecb32e50be80f5ef6a6f783b00522dc51d942"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorConduitAPIController.authenticateUser (cognitive 67): PhabricatorConduitAPIController.authenticateUser has cognitive complexity 67 (threshold 15). Drivers by points: if/else 64, error handling 2, boolean chains 1 (nesting depth added 30). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/conduit/controller/PhabricatorConduitAPIController.php"},"region":{"startLine":167}}}],"partialFingerprints":{"codehealthFindingId/v1":"37b6cc42a49d1616fbadf3d4921f23c88052fc150f39456c8bf969f10e78037f"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorConfigClusterRepositoriesController.buildClusterRepositoryStatus (cognitive 67): PhabricatorConfigClusterRepositoriesController.buildClusterRepositoryStatus has cognitive complexity 67 (threshold 15). Drivers by points: if/else 55, loops 9, boolean chains 3 (nesting depth added 37). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/controller/services/PhabricatorConfigClusterRepositoriesController.php"},"region":{"startLine":46}}}],"partialFingerprints":{"codehealthFindingId/v1":"63285f51ab2f634348b18db3a389eed8c92e8f9bca678920658549c7e47931ec"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorMentionRemarkupRule.didMarkupText (cognitive 67): PhabricatorMentionRemarkupRule.didMarkupText has cognitive complexity 67 (threshold 15). Drivers by points: if/else 57, loops 10 (nesting depth added 41). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/people/markup/PhabricatorMentionRemarkupRule.php"},"region":{"startLine":57}}}],"partialFingerprints":{"codehealthFindingId/v1":"a8ef6146f3487f843dcee7e4442967f061d93c9163db6ab190afb190e1957880"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorBoardLayoutEngine.layoutBoard (cognitive 67): PhabricatorBoardLayoutEngine.layoutBoard has cognitive complexity 67 (threshold 15). Drivers by points: if/else 36, loops 29, boolean chains 2 (nesting depth added 35). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/engine/PhabricatorBoardLayoutEngine.php"},"region":{"startLine":419}}}],"partialFingerprints":{"codehealthFindingId/v1":"6a5051773d9eee696a777e097bff54c363793d55b132724d90cdb863f73a267b"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialReviewersView.render (cognitive 66): DifferentialReviewersView.render has cognitive complexity 66 (threshold 15). Drivers by points: if/else 59, boolean chains 3, loops 2, match/switch 2 (nesting depth added 34). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/view/DifferentialReviewersView.php"},"region":{"startLine":26}}}],"partialFingerprints":{"codehealthFindingId/v1":"d6a75b6f5bd6972f38c9c0e9192eb7c995ca4189ae36fb19f740cb5811a8d03b"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionBrowseQueryConduitAPIMethod.getGitResult (cognitive 66): DiffusionBrowseQueryConduitAPIMethod.getGitResult has cognitive complexity 66 (threshold 15). Drivers by points: if/else 53, loops 7, boolean chains 3, error handling 2, ternaries 1 (nesting depth added 30). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/conduit/DiffusionBrowseQueryConduitAPIMethod.php"},"region":{"startLine":35}}}],"partialFingerprints":{"codehealthFindingId/v1":"9bae8fccb491a6fc93a0a4e81e121dab8db86721c5c81783cf3f16caf19c751f"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorRepositoryPullLocalDaemon.run (cognitive 66): PhabricatorRepositoryPullLocalDaemon.run has cognitive complexity 66 (threshold 15). Drivers by points: if/else 45, loops 20, boolean chains 1 (nesting depth added 43). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/daemon/PhabricatorRepositoryPullLocalDaemon.php"},"region":{"startLine":38}}}],"partialFingerprints":{"codehealthFindingId/v1":"fd559fe052d7a06115e3533e333de759884b642e8ccd6838bb0dcc755ca2839d"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorRepositoryManagementThawWorkflow.execute (cognitive 66): PhabricatorRepositoryManagementThawWorkflow.execute has cognitive complexity 66 (threshold 15). Drivers by points: if/else 50, loops 8, boolean chains 5, error handling 3 (nesting depth added 32). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/management/PhabricatorRepositoryManagementThawWorkflow.php"},"region":{"startLine":49}}}],"partialFingerprints":{"codehealthFindingId/v1":"2b3a7b59e8aa506afb6b3647577432a4c8b2f99bfdb5962061bacad855b489ea"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorEditEngineConfigurationQuery.loadPage (cognitive 66): PhabricatorEditEngineConfigurationQuery.loadPage has cognitive complexity 66 (threshold 15). Drivers by points: if/else 44, loops 22 (nesting depth added 30). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/query/PhabricatorEditEngineConfigurationQuery.php"},"region":{"startLine":71}}}],"partialFingerprints":{"codehealthFindingId/v1":"d45884e136677b35f14072626382e9afa081a55a89157f7096d6553f4b9a68c2"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorDatabaseRefParser.newRefs (cognitive 66): PhabricatorDatabaseRefParser.newRefs has cognitive complexity 66 (threshold 15). Drivers by points: if/else 56, loops 10 (nesting depth added 35). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/cluster/PhabricatorDatabaseRefParser.php"},"region":{"startLine":37}}}],"partialFingerprints":{"codehealthFindingId/v1":"bbf01730136e8df471e31767b657383b03191abe951ab24576b3b4008fa05c1f"}},{"ruleId":"D2","level":"warning","message":{"text":"PHUIDiffInlineCommentDetailView.render (cognitive 66): PHUIDiffInlineCommentDetailView.render has cognitive complexity 66 (threshold 15). Drivers by points: if/else 50, boolean chains 9, ternaries 3, loops 2, match/switch 2 (nesting depth added 17). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/diff/view/PHUIDiffInlineCommentDetailView.php"},"region":{"startLine":78}}}],"partialFingerprints":{"codehealthFindingId/v1":"06c0e7bd08ca57011d87115404af6d6aef018b2d5b767ee7f04edb89ba8a77e7"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorPolicyAwareQuery.execute (cognitive 66): PhabricatorPolicyAwareQuery.execute has cognitive complexity 66 (threshold 15). Drivers by points: if/else 52, loops 8, boolean chains 3, error handling 3 (nesting depth added 34). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/query/policy/PhabricatorPolicyAwareQuery.php"},"region":{"startLine":204}}}],"partialFingerprints":{"codehealthFindingId/v1":"f05c487e6766b10eb8098956c00dde1e714010c7b0165c5fb97379558f112317"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorController.willBeginExecution (cognitive 65): PhabricatorController.willBeginExecution has cognitive complexity 65 (threshold 15). Drivers by points: if/else 56, boolean chains 8, loops 1 (nesting depth added 27). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/base/controller/PhabricatorController.php"},"region":{"startLine":64}}}],"partialFingerprints":{"codehealthFindingId/v1":"f2a63ca1caaf2d2880adba884b72fac3bc8b9c3b4665588606d5b5dfc3eae8f8"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorCalendarEventQuery.willFilterPage (cognitive 65): PhabricatorCalendarEventQuery.willFilterPage has cognitive complexity 65 (threshold 15). Drivers by points: if/else 33, loops 32 (nesting depth added 34). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/query/PhabricatorCalendarEventQuery.php"},"region":{"startLine":515}}}],"partialFingerprints":{"codehealthFindingId/v1":"dede6cd1062a72e3a7c8688ef8ad952388d29a5268b97ae293788be6082c6490"}},{"ruleId":"D2","level":"warning","message":{"text":"DivinerAtomQuery.willFilterPage (cognitive 65): DivinerAtomQuery.willFilterPage has cognitive complexity 65 (threshold 15). Drivers by points: if/else 46, loops 19 (nesting depth added 38). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diviner/query/DivinerAtomQuery.php"},"region":{"startLine":139}}}],"partialFingerprints":{"codehealthFindingId/v1":"c97b438b866b84bb092a932fb26beea6b1fa9c0dc6fcb7629bd75a85421e1ab2"}},{"ruleId":"D2","level":"warning","message":{"text":"PHUIObjectItemView.getTagContent (cognitive 65): PHUIObjectItemView.getTagContent has cognitive complexity 65 (threshold 15). Drivers by points: if/else 41, loops 12, ternaries 7, boolean chains 5 (nesting depth added 17). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/phui/PHUIObjectItemView.php"},"region":{"startLine":383}}}],"partialFingerprints":{"codehealthFindingId/v1":"59451d2b95fd2e20f02c36fa784bd55f7c43143bedc2737ae8d6616ab118ee50"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorPeopleNewController.handleRequest (cognitive 64): PhabricatorPeopleNewController.handleRequest has cognitive complexity 64 (threshold 15). Drivers by points: if/else 56, boolean chains 3, error handling 3, match/switch 1, ternaries 1 (nesting depth added 31). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/people/controller/PhabricatorPeopleNewController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"c5836f0526e02ee7a00e919fc8a70afb0e918c3c029f0a6fdbddf9c8a11a404e"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorProjectBoardViewController.handleRequest (cognitive 64): PhabricatorProjectBoardViewController.handleRequest has cognitive complexity 64 (threshold 15). Drivers by points: if/else 48, loops 14, boolean chains 2 (nesting depth added 28). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/controller/PhabricatorProjectBoardViewController.php"},"region":{"startLine":10}}}],"partialFingerprints":{"codehealthFindingId/v1":"21072711cd39198029bcbc91d0c5da860785b17f7135acda26e023c7a8ffba50"}},{"ruleId":"D2","level":"warning","message":{"text":"MultimeterSampleController.handleRequest (cognitive 63): MultimeterSampleController.handleRequest has cognitive complexity 63 (threshold 15). Drivers by points: if/else 57, loops 4, ternaries 2 (nesting depth added 30). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/multimeter/controller/MultimeterSampleController.php"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"5bb0f3c6778c187a78236019be0e2b593fc6d4f3aaa792ba634079a69a86f7fb"}},{"ruleId":"D2","level":"warning","message":{"text":"PholioMockEditController.handleRequest (cognitive 62): PholioMockEditController.handleRequest has cognitive complexity 62 (threshold 15). Drivers by points: if/else 44, ternaries 10, loops 7, boolean chains 1 (nesting depth added 30). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/pholio/controller/PholioMockEditController.php"},"region":{"startLine":5}}}],"partialFingerprints":{"codehealthFindingId/v1":"538cefaf200900b855b0499d5b85b1f3390ba94268654828855746dd21c9399a"}},{"ruleId":"D2","level":"warning","message":{"text":"HarbormasterBuildEngine.updateBuildSteps (cognitive 61): HarbormasterBuildEngine.updateBuildSteps has cognitive complexity 61 (threshold 15). Drivers by points: if/else 41, loops 18, boolean chains 2 (nesting depth added 34). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/harbormaster/engine/HarbormasterBuildEngine.php"},"region":{"startLine":165}}}],"partialFingerprints":{"codehealthFindingId/v1":"3dbe87d27fa7f1a864bb44b64e718ef94323f14478b6b696cc8033ffae04ea46"}},{"ruleId":"D2","level":"warning","message":{"text":"Text_Figlet.lineEcho (cognitive 60): Text_Figlet.lineEcho has cognitive complexity 60 (threshold 15). Drivers by points: if/else 43, loops 16, boolean chains 1 (nesting depth added 35). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"externals/pear-figlet/Text/Figlet.php"},"region":{"startLine":269}}}],"partialFingerprints":{"codehealthFindingId/v1":"5bc0d31067df02cfeffb265649117cb497998412c099bb235b95ccc37af26dc6"}},{"ruleId":"D2","level":"warning","message":{"text":"xhprof_lib.xhprof_aggregate_runs (cognitive 60): xhprof_lib.xhprof_aggregate_runs has cognitive complexity 60 (threshold 15). Drivers by points: if/else 38, loops 18, boolean chains 2, ternaries 2 (nesting depth added 36). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"externals/xhprof/xhprof_lib.php"},"region":{"startLine":244}}}],"partialFingerprints":{"codehealthFindingId/v1":"870ad0a3680de5d7c765fb157a117170e3379a5cac576015a99b9321c0c86ea3"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialHunkParser.parseHunksForHighlightMasks (cognitive 60): DifferentialHunkParser.parseHunksForHighlightMasks has cognitive complexity 60 (threshold 15). Drivers by points: if/else 47, boolean chains 9, loops 4 (nesting depth added 31). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/parser/DifferentialHunkParser.php"},"region":{"startLine":566}}}],"partialFingerprints":{"codehealthFindingId/v1":"cc0e25d82194aa84ea89736147ecd4fe32068ebb67ea8a7f93edbe6468d2fb30"}},{"ruleId":"D2","level":"warning","message":{"text":"PassphraseCredentialEditController.handleRequest (cognitive 60): PassphraseCredentialEditController.handleRequest has cognitive complexity 60 (threshold 15). Drivers by points: if/else 49, error handling 8, boolean chains 2, ternaries 1 (nesting depth added 29). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/passphrase/controller/PassphraseCredentialEditController.php"},"region":{"startLine":5}}}],"partialFingerprints":{"codehealthFindingId/v1":"fb6f52fb0db1482aac9e89cb48e2ddd9ea1c94d6e6bac287b366a15bbad9d8e1"}},{"ruleId":"D2","level":"warning","message":{"text":"PhrictionRemarkupRule.didMarkupText (cognitive 60): PhrictionRemarkupRule.didMarkupText has cognitive complexity 60 (threshold 15). Drivers by points: if/else 46, loops 13, boolean chains 1 (nesting depth added 31). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phriction/markup/PhrictionRemarkupRule.php"},"region":{"startLine":86}}}],"partialFingerprints":{"codehealthFindingId/v1":"6fc7d7f140695a897fa2bb621b952c43782f823aac601c7c5b9f269131ef5699"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorAuthEditController.handleRequest (cognitive 58): PhabricatorAuthEditController.handleRequest has cognitive complexity 58 (threshold 15). Drivers by points: if/else 49, loops 5, error handling 3, boolean chains 1 (nesting depth added 26). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/controller/config/PhabricatorAuthEditController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"6bfdbf1d68f590db865ee0adf2d25465e681f673927a893cb739d9c154a4c602"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialChangesetTwoUpRenderer.renderDocumentEngineBlocks (cognitive 58): DifferentialChangesetTwoUpRenderer.renderDocumentEngineBlocks has cognitive complexity 58 (threshold 15). Drivers by points: if/else 50, loops 7, boolean chains 1 (nesting depth added 27). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/render/DifferentialChangesetTwoUpRenderer.php"},"region":{"startLine":367}}}],"partialFingerprints":{"codehealthFindingId/v1":"e7405de43ceb6b8124f75e9b5eb4ab2c9b1d52a729cd2b12d0fc839970b5327d"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionRepositoryStorageManagementPanel.buildClusterStatusPanel (cognitive 58): DiffusionRepositoryStorageManagementPanel.buildClusterStatusPanel has cognitive complexity 58 (threshold 15). Drivers by points: if/else 48, error handling 5, loops 4, boolean chains 1 (nesting depth added 35). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/management/DiffusionRepositoryStorageManagementPanel.php"},"region":{"startLine":79}}}],"partialFingerprints":{"codehealthFindingId/v1":"f662f2b782f60d6cbaeb00e4ae1b7519a055fb83ba9e49a4cc4b1de2abee1007"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorSearchManagementIndexWorkflow.execute (cognitive 58): PhabricatorSearchManagementIndexWorkflow.execute has cognitive complexity 58 (threshold 15). Drivers by points: if/else 38, boolean chains 11, loops 7, error handling 2 (nesting depth added 16). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/search/management/PhabricatorSearchManagementIndexWorkflow.php"},"region":{"startLine":74}}}],"partialFingerprints":{"codehealthFindingId/v1":"23f50eddbe17344558c17fe6d28843312462eb239157baa722823976662f6444"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorAuthManagementStripWorkflow.execute (cognitive 57): PhabricatorAuthManagementStripWorkflow.execute has cognitive complexity 57 (threshold 15). Drivers by points: if/else 41, loops 10, boolean chains 6 (nesting depth added 21). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/management/PhabricatorAuthManagementStripWorkflow.php"},"region":{"startLine":54}}}],"partialFingerprints":{"codehealthFindingId/v1":"426c26cf1006ed80b32689e6ff4b3c5bdc2bdc84c47253f08c8f005285aad1b2"}},{"ruleId":"D2","level":"warning","message":{"text":"DivinerAtomController.handleRequest (cognitive 57): DivinerAtomController.handleRequest has cognitive complexity 57 (threshold 15). Drivers by points: if/else 32, loops 18, ternaries 7 (nesting depth added 30). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diviner/controller/DivinerAtomController.php"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"1ac1c6d12957ea2e445bd71474655d54b32a243df84cfa4aaa8081ec7856ed3d"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorRepositoryQuery.willFilterPage (cognitive 57): PhabricatorRepositoryQuery.willFilterPage has cognitive complexity 57 (threshold 15). Drivers by points: if/else 35, loops 18, match/switch 4 (nesting depth added 31). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/query/PhabricatorRepositoryQuery.php"},"region":{"startLine":236}}}],"partialFingerprints":{"codehealthFindingId/v1":"68dbd2e1c5472b6405cede369ff630cbbdbad486f39b7657a176f17007612857"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorPeopleInviteSendController.handleRequest (cognitive 56): PhabricatorPeopleInviteSendController.handleRequest has cognitive complexity 56 (threshold 15). Drivers by points: if/else 44, loops 9, ternaries 2, boolean chains 1 (nesting depth added 29). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/people/controller/PhabricatorPeopleInviteSendController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"ba890017436dda4fd44f82e36c1e3ea22a490c11856fddddc0db959a0a0ac113"}},{"ruleId":"D2","level":"warning","message":{"text":"AphrontMultipartParser.continueParse (cognitive 55): AphrontMultipartParser.continueParse has cognitive complexity 55 (threshold 15). Drivers by points: if/else 52, match/switch 2, loops 1 (nesting depth added 37). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/aphront/multipartparser/AphrontMultipartParser.php"},"region":{"startLine":62}}}],"partialFingerprints":{"codehealthFindingId/v1":"3378a0b19f7019692e58c8598b52ff56780ae077e5d24dce8edb774278b5d72c"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorApplicationQuery.loadPage (cognitive 55): PhabricatorApplicationQuery.loadPage has cognitive complexity 55 (threshold 15). Drivers by points: if/else 36, loops 18, match/switch 1 (nesting depth added 27). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/meta/query/PhabricatorApplicationQuery.php"},"region":{"startLine":71}}}],"partialFingerprints":{"codehealthFindingId/v1":"ce94bdbec84912fa387b301dadf2fd88d4431eadd0cc86c56131af8e825769ae"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorWorkerManagementWorkflow.loadTasks (cognitive 55): PhabricatorWorkerManagementWorkflow.loadTasks has cognitive complexity 55 (threshold 15). Drivers by points: if/else 45, boolean chains 7, loops 3 (nesting depth added 12). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/daemon/workers/management/PhabricatorWorkerManagementWorkflow.php"},"region":{"startLine":69}}}],"partialFingerprints":{"codehealthFindingId/v1":"832ee4b9ce31591249d249c3da85d3af0003b70c274a26a27fd87e93210badcd"}},{"ruleId":"D2","level":"warning","message":{"text":"PHUIDiffTableOfContentsListView.render (cognitive 55): PHUIDiffTableOfContentsListView.render has cognitive complexity 55 (threshold 15). Drivers by points: if/else 51, loops 4 (nesting depth added 22). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/diff/view/PHUIDiffTableOfContentsListView.php"},"region":{"startLine":53}}}],"partialFingerprints":{"codehealthFindingId/v1":"ae5bffec6f37c55fefb5e6d7fff0453ddc309c964e9d00b8b1f7755c0fa0b359"}},{"ruleId":"D2","level":"warning","message":{"text":"HarbormasterBuildViewController.handleRequest (cognitive 54): HarbormasterBuildViewController.handleRequest has cognitive complexity 54 (threshold 15). Drivers by points: if/else 48, loops 5, boolean chains 1 (nesting depth added 22). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/harbormaster/controller/HarbormasterBuildViewController.php"},"region":{"startLine":10}}}],"partialFingerprints":{"codehealthFindingId/v1":"c3ca541c4a20b8cbaeaa527f1ec092bf004a8cd1179090b9c09d162c3d5c484d"}},{"ruleId":"D2","level":"warning","message":{"text":"LegalpadDocumentSignController.handleRequest (cognitive 54): LegalpadDocumentSignController.handleRequest has cognitive complexity 54 (threshold 15). Drivers by points: if/else 47, boolean chains 4, match/switch 3 (nesting depth added 23). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/legalpad/controller/LegalpadDocumentSignController.php"},"region":{"startLine":24}}}],"partialFingerprints":{"codehealthFindingId/v1":"72abecd88de31def91c7cf7d5d2284ebe7f9b786a779c55d936186cc88427433"}},{"ruleId":"D2","level":"warning","message":{"text":"ManiphestReportController.renderOpenTasks (cognitive 54): ManiphestReportController.renderOpenTasks has cognitive complexity 54 (threshold 15). Drivers by points: if/else 27, loops 19, match/switch 4, ternaries 3, boolean chains 1 (nesting depth added 25). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/maniphest/controller/ManiphestReportController.php"},"region":{"startLine":487}}}],"partialFingerprints":{"codehealthFindingId/v1":"60ab8e3c2c9bad40a359f75653d7b074d477d38479e5e4229dca900609918ee9"}},{"ruleId":"D2","level":"warning","message":{"text":"ManiphestTransactionEditor.buildMoveTransaction (cognitive 54): ManiphestTransactionEditor.buildMoveTransaction has cognitive complexity 54 (threshold 15). Drivers by points: if/else 42, loops 10, boolean chains 2 (nesting depth added 20). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/maniphest/editor/ManiphestTransactionEditor.php"},"region":{"startLine":438}}}],"partialFingerprints":{"codehealthFindingId/v1":"41afd6f4d70ca1055e72787826e25818ae6b2d5a723558460721caf988da132d"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorObjectListQuery.execute (cognitive 54): PhabricatorObjectListQuery.execute has cognitive complexity 54 (threshold 15). Drivers by points: if/else 32, loops 21, boolean chains 1 (nesting depth added 26). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phid/query/PhabricatorObjectListQuery.php"},"region":{"startLine":56}}}],"partialFingerprints":{"codehealthFindingId/v1":"1e161306b43bf9a5ac6cb932afaedd561cecb43044b117289608b0e477237e93"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorEditEngine.buildCommentResponse (cognitive 54): PhabricatorEditEngine.buildCommentResponse has cognitive complexity 54 (threshold 15). Drivers by points: if/else 38, loops 8, error handling 5, boolean chains 3 (nesting depth added 22). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/editengine/PhabricatorEditEngine.php"},"region":{"startLine":1875}}}],"partialFingerprints":{"codehealthFindingId/v1":"13f320e9242c1c21ab98560b75cfcf4de97628ce6c4534b7ee75a6639f101372"}},{"ruleId":"D2","level":"warning","message":{"text":"PhutilCalendarRecurrenceSet.getEventsBetween (cognitive 53): PhutilCalendarRecurrenceSet.getEventsBetween has cognitive complexity 53 (threshold 15). Drivers by points: if/else 41, loops 8, boolean chains 4 (nesting depth added 25). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/parser/data/PhutilCalendarRecurrenceSet.php"},"region":{"startLine":23}}}],"partialFingerprints":{"codehealthFindingId/v1":"d9064902b4cb605bdd6f0637d4d60e00bc8505f109ee410fb27e674e03d51256"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialRevisionReviewersTransaction.renderReviewerEditTitle (cognitive 53): DifferentialRevisionReviewersTransaction.renderReviewerEditTitle has cognitive complexity 53 (threshold 15). Drivers by points: if/else 48, boolean chains 4, loops 1 (nesting depth added 21). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/xaction/DifferentialRevisionReviewersTransaction.php"},"region":{"startLine":165}}}],"partialFingerprints":{"codehealthFindingId/v1":"864aa62fd3250163e41e5d81c46fe1af1878e2d4064c82c7bbbdaa836299566b"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorProfileMenuEngine.buildItemConfigureContent (cognitive 53): PhabricatorProfileMenuEngine.buildItemConfigureContent has cognitive complexity 53 (threshold 15). Drivers by points: if/else 49, loops 3, boolean chains 1 (nesting depth added 27). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/search/engine/PhabricatorProfileMenuEngine.php"},"region":{"startLine":683}}}],"partialFingerprints":{"codehealthFindingId/v1":"04be1a24f7d2087538892ce956af4e96ed50955928c94d24909d2f274b30f947"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorApplicationTransactionView.renderEvent (cognitive 53): PhabricatorApplicationTransactionView.renderEvent has cognitive complexity 53 (threshold 15). Drivers by points: if/else 44, boolean chains 9 (nesting depth added 23). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/view/PhabricatorApplicationTransactionView.php"},"region":{"startLine":422}}}],"partialFingerprints":{"codehealthFindingId/v1":"6717ce3724045566bb2927bcd94cc67aadc8ad15c849c7ca803092e8d96086f7"}},{"ruleId":"D2","level":"warning","message":{"text":"PHUIHeaderView.getTagContent (cognitive 53): PHUIHeaderView.getTagContent has cognitive complexity 53 (threshold 15). Drivers by points: if/else 40, loops 7, boolean chains 3, match/switch 3 (nesting depth added 21). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/phui/PHUIHeaderView.php"},"region":{"startLine":190}}}],"partialFingerprints":{"codehealthFindingId/v1":"727d42e32d7f485317ce34c8511d5bac4c220cf878d601317f55899849f160d9"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialChangesetViewController.handleRequest (cognitive 52): DifferentialChangesetViewController.handleRequest has cognitive complexity 52 (threshold 15). Drivers by points: if/else 42, boolean chains 4, loops 4, match/switch 2 (nesting depth added 11). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/controller/DifferentialChangesetViewController.php"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"5538173e173e242da4c8159a1af5380b56b14e476adf7822f6e6c3cbeaceddf8"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorPolicyFilter.checkCapability (cognitive 52): PhabricatorPolicyFilter.checkCapability has cognitive complexity 52 (threshold 15). Drivers by points: if/else 50, boolean chains 1, match/switch 1 (nesting depth added 23). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/policy/filter/PhabricatorPolicyFilter.php"},"region":{"startLine":499}}}],"partialFingerprints":{"codehealthFindingId/v1":"5e5d4f3b7696a766ae6bd1b1a818fe32aacdfdc1173ac81f4fda0e71aa04b4a4"}},{"ruleId":"D2","level":"warning","message":{"text":"Text_Figlet.loadFont (cognitive 51): Text_Figlet.loadFont has cognitive complexity 51 (threshold 15). Drivers by points: if/else 45, loops 4, boolean chains 2 (nesting depth added 22). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"externals/pear-figlet/Text/Figlet.php"},"region":{"startLine":111}}}],"partialFingerprints":{"codehealthFindingId/v1":"21945dfcdc941f84c87007d91ea2704b3cf68335157b35b4940d7c1ea2eb0b70"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionGitUploadPackWireProtocol.willReadBytes (cognitive 51): DiffusionGitUploadPackWireProtocol.willReadBytes has cognitive complexity 51 (threshold 15). Drivers by points: if/else 40, loops 6, match/switch 4, boolean chains 1 (nesting depth added 29). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/protocol/DiffusionGitUploadPackWireProtocol.php"},"region":{"startLine":16}}}],"partialFingerprints":{"codehealthFindingId/v1":"03ab446b9e27211bfd59cb5fbe3bc9b44676339349de6e09862918926f884b12"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionCommitQuery.didFilterPage (cognitive 51): DiffusionCommitQuery.didFilterPage has cognitive complexity 51 (threshold 15). Drivers by points: if/else 24, loops 24, error handling 3 (nesting depth added 28). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/query/DiffusionCommitQuery.php"},"region":{"startLine":361}}}],"partialFingerprints":{"codehealthFindingId/v1":"cc392823b529fdaddec58c3d26492b7bba2b67e383a05e461155d1149d7077ad"}},{"ruleId":"D2","level":"warning","message":{"text":"PHUIDiffTableOfContentsListView.newComponentView (cognitive 51): PHUIDiffTableOfContentsListView.newComponentView has cognitive complexity 51 (threshold 15). Drivers by points: if/else 45, boolean chains 3, loops 3 (nesting depth added 22). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/diff/view/PHUIDiffTableOfContentsListView.php"},"region":{"startLine":387}}}],"partialFingerprints":{"codehealthFindingId/v1":"54fefaae6f6289cc501b844ae7ef81695cbd6d57d716a7f244bd084d38780108"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorCursorPagedPolicyAwareQuery.buildSpacesWhereClause (cognitive 51): PhabricatorCursorPagedPolicyAwareQuery.buildSpacesWhereClause has cognitive complexity 51 (threshold 15). Drivers by points: if/else 43, boolean chains 4, loops 4 (nesting depth added 20). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/query/policy/PhabricatorCursorPagedPolicyAwareQuery.php"},"region":{"startLine":3139}}}],"partialFingerprints":{"codehealthFindingId/v1":"1bb30666918afc25c7ba532e60fb297f6456fd3728106d8794985a8098573e94"}},{"ruleId":"D2","level":"warning","message":{"text":"updateCard (cognitive 51): updateCard has cognitive complexity 51 (threshold 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"webroot/rsrc/js/application/projects/WorkboardBoard.js"},"region":{"startLine":601}}}],"partialFingerprints":{"codehealthFindingId/v1":"9a18eb870d37b10fc0a96ac9f701cca2a8ce9baf4c771476fda74af87b5237fd"}},{"ruleId":"D2","level":"warning","message":{"text":"PHPMailerLite.WrapText (cognitive 50): PHPMailerLite.WrapText has cognitive complexity 50 (threshold 15). Drivers by points: if/else 36, loops 7, ternaries 5, boolean chains 2 (nesting depth added 32). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"externals/phpmailer/class.phpmailer-lite.php"},"region":{"startLine":785}}}],"partialFingerprints":{"codehealthFindingId/v1":"afcb9cf1bbc0355afe75d7ceb2fbfbe1aad9b53867eb8ec944d812596af33ca7"}},{"ruleId":"D2","level":"warning","message":{"text":"PHPMailer.WrapText (cognitive 50): PHPMailer.WrapText has cognitive complexity 50 (threshold 15). Drivers by points: if/else 36, loops 7, ternaries 5, boolean chains 2 (nesting depth added 32). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"externals/phpmailer/class.phpmailer.php"},"region":{"startLine":916}}}],"partialFingerprints":{"codehealthFindingId/v1":"77f19b5dd5b454a75188b8a6bafa8ec2039411ce6c3d4e69a84472d7817d5b16"}},{"ruleId":"D2","level":"warning","message":{"text":"PhutilSpriteSheet.generate (cognitive 50): PhutilSpriteSheet.generate has cognitive complexity 50 (threshold 15). Drivers by points: if/else 30, loops 17, boolean chains 2, match/switch 1 (nesting depth added 23). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/aphront/sprite/PhutilSpriteSheet.php"},"region":{"startLine":57}}}],"partialFingerprints":{"codehealthFindingId/v1":"51209cdc52402a571844991a7ad055963577abaf023867c7b010c902962824c9"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorAuthManagementRevokeWorkflow.execute (cognitive 50): PhabricatorAuthManagementRevokeWorkflow.execute has cognitive complexity 50 (threshold 15). Drivers by points: if/else 41, boolean chains 6, loops 3 (nesting depth added 18). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/management/PhabricatorAuthManagementRevokeWorkflow.php"},"region":{"startLine":50}}}],"partialFingerprints":{"codehealthFindingId/v1":"080221d9c6d81d11293c06905443ddad3176890952a90e7d6099f537971bd104"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionBrowseQueryConduitAPIMethod.getSVNResult (cognitive 50): DiffusionBrowseQueryConduitAPIMethod.getSVNResult has cognitive complexity 50 (threshold 15). Drivers by points: if/else 45, loops 3, boolean chains 2 (nesting depth added 21). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/conduit/DiffusionBrowseQueryConduitAPIMethod.php"},"region":{"startLine":363}}}],"partialFingerprints":{"codehealthFindingId/v1":"eac1ab4373a6ab44dfefb49061d86e933d926ed4e77ddfe32caafd986f780299"}},{"ruleId":"D2","level":"warning","message":{"text":"PhortuneCartCancelController.handleCartRequest (cognitive 50): PhortuneCartCancelController.handleCartRequest has cognitive complexity 50 (threshold 15). Drivers by points: if/else 38, error handling 8, loops 3, match/switch 1 (nesting depth added 28). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phortune/controller/cart/PhortuneCartCancelController.php"},"region":{"startLine":14}}}],"partialFingerprints":{"codehealthFindingId/v1":"3903939a21ec1e68d22ac053cd9f62641366b81bdd9cc92cedc964039d78e087"}},{"ruleId":"D2","level":"warning","message":{"text":"PhutilProseDifferenceEngine.buildDiff (cognitive 50): PhutilProseDifferenceEngine.buildDiff has cognitive complexity 50 (threshold 15). Drivers by points: if/else 38, loops 9, match/switch 2, boolean chains 1 (nesting depth added 28). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/diff/prose/PhutilProseDifferenceEngine.php"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"1c58091646e84b9d397204376bccf0e840efdf394292850aef6a6d3084bb356d"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorCalendarNotificationEngine.sendNotifications (cognitive 49): PhabricatorCalendarNotificationEngine.sendNotifications has cognitive complexity 49 (threshold 15). Drivers by points: loops 26, if/else 20, error handling 2, boolean chains 1 (nesting depth added 21). To reduce it, break up the iteration: give each loop body a named function, and split a multi-phase loop into one function per phase so no single body carries the whole pipeline."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/notifications/PhabricatorCalendarNotificationEngine.php"},"region":{"startLine":73}}}],"partialFingerprints":{"codehealthFindingId/v1":"7f0fa875af7c9a36f001500faf9ad42cb0e2192f2ce932b92457754ca122375a"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorConfigClusterDatabasesController.buildClusterDatabaseStatus (cognitive 49): PhabricatorConfigClusterDatabasesController.buildClusterDatabaseStatus has cognitive complexity 49 (threshold 15). Drivers by points: if/else 44, match/switch 4, loops 1 (nesting depth added 26). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/controller/services/PhabricatorConfigClusterDatabasesController.php"},"region":{"startLine":36}}}],"partialFingerprints":{"codehealthFindingId/v1":"f2261c5084935d3be9b9da4f9fbb63404e2f92c157a4965117733a51bd0a4913"}},{"ruleId":"D2","level":"warning","message":{"text":"ConpherenceThreadSearchEngine.renderResultList (cognitive 49): ConpherenceThreadSearchEngine.renderResultList has cognitive complexity 49 (threshold 15). Drivers by points: if/else 27, loops 19, boolean chains 3 (nesting depth added 30). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/conpherence/query/ConpherenceThreadSearchEngine.php"},"region":{"startLine":94}}}],"partialFingerprints":{"codehealthFindingId/v1":"c69b819278d08e5c747a177639d53c26ded79e3192ad2e76ceafa11c8b3ca81e"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialChangesetRenderer.processPrimitivesForOneUp (cognitive 49): DifferentialChangesetRenderer.processPrimitivesForOneUp has cognitive complexity 49 (threshold 15). Drivers by points: if/else 47, boolean chains 1, loops 1 (nesting depth added 31). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/render/DifferentialChangesetRenderer.php"},"region":{"startLine":567}}}],"partialFingerprints":{"codehealthFindingId/v1":"7803d289916e60fccf1077766b5ce15ae49015dbbc93f1970d40575b8e243fec"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorSlowvoteEditController.handleRequest (cognitive 49): PhabricatorSlowvoteEditController.handleRequest has cognitive complexity 49 (threshold 15). Drivers by points: if/else 40, loops 9 (nesting depth added 21). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/slowvote/controller/PhabricatorSlowvoteEditController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"751e1c3ab40818631922fed5f071340e4a37f0013c3be0b6f7385a4873091d85"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorEditEngine.buildResponse (cognitive 49): PhabricatorEditEngine.buildResponse has cognitive complexity 49 (threshold 15). Drivers by points: if/else 43, boolean chains 4, match/switch 2 (nesting depth added 21). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/editengine/PhabricatorEditEngine.php"},"region":{"startLine":882}}}],"partialFingerprints":{"codehealthFindingId/v1":"9a3e0f5ba202ab1e587d54290e2956691c94f61559b695cc33091b04c682675d"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorEmailLoginController.handleRequest (cognitive 48): PhabricatorEmailLoginController.handleRequest has cognitive complexity 48 (threshold 15). Drivers by points: if/else 43, error handling 4, boolean chains 1 (nesting depth added 24). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/controller/PhabricatorEmailLoginController.php"},"region":{"startLine":10}}}],"partialFingerprints":{"codehealthFindingId/v1":"209abd10f95adf6db7155683e670c4b3dc012b7ab4517e29a8d4aebc5ae2f19a"}},{"ruleId":"D2","level":"warning","message":{"text":"DarkConsoleServicesPlugin.generateData (cognitive 48): DarkConsoleServicesPlugin.generateData has cognitive complexity 48 (threshold 15). Drivers by points: if/else 36, loops 4, match/switch 4, error handling 3, boolean chains 1 (nesting depth added 31). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/console/plugin/DarkConsoleServicesPlugin.php"},"region":{"startLine":47}}}],"partialFingerprints":{"codehealthFindingId/v1":"77b47139ceeaa3625df9d4b885b5a12ef07501bcb7bd9bd71718b553ddb41fba"}},{"ruleId":"D2","level":"warning","message":{"text":"DoorkeeperAsanaFeedWorker.publishFeedStory (cognitive 48): DoorkeeperAsanaFeedWorker.publishFeedStory has cognitive complexity 48 (threshold 15). Drivers by points: if/else 37, loops 8, boolean chains 3 (nesting depth added 16). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/doorkeeper/worker/DoorkeeperAsanaFeedWorker.php"},"region":{"startLine":27}}}],"partialFingerprints":{"codehealthFindingId/v1":"5fdfc3122ef6e1db211af439206df5356d32cff1ef28fbf0204898104d13b81f"}},{"ruleId":"D2","level":"warning","message":{"text":"PhrictionEditController.handleRequest (cognitive 48): PhrictionEditController.handleRequest has cognitive complexity 48 (threshold 15). Drivers by points: if/else 42, boolean chains 4, error handling 2 (nesting depth added 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phriction/controller/PhrictionEditController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"8aeece87e5998d01b19a59344ef3d1da84af9ab303079f74e4b989676831dade"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialChangesetParser.replaceTabsWithSpaces (cognitive 47): DifferentialChangesetParser.replaceTabsWithSpaces has cognitive complexity 47 (threshold 15). Drivers by points: if/else 37, loops 10 (nesting depth added 24). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/parser/DifferentialChangesetParser.php"},"region":{"startLine":1615}}}],"partialFingerprints":{"codehealthFindingId/v1":"c7a96d1dba3f1c1d8e5aadca1b896fb5ed2291d862d2386384e06345771b1bb2"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionLowLevelResolveRefsQuery.resolveGitRefs (cognitive 47): DiffusionLowLevelResolveRefsQuery.resolveGitRefs has cognitive complexity 47 (threshold 15). Drivers by points: if/else 35, loops 10, match/switch 2 (nesting depth added 24). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/query/lowlevel/DiffusionLowLevelResolveRefsQuery.php"},"region":{"startLine":60}}}],"partialFingerprints":{"codehealthFindingId/v1":"6b60fef60a7f01f6046c31e5147b378a1ea501f55fa5dd77cf0a33cde841b3ce"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorChartRenderingEngine.newTabularView (cognitive 47): PhabricatorChartRenderingEngine.newTabularView has cognitive complexity 47 (threshold 15). Drivers by points: loops 32, if/else 15 (nesting depth added 29). To reduce it, break up the iteration: give each loop body a named function, and split a multi-phase loop into one function per phase so no single body carries the whole pipeline."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/fact/engine/PhabricatorChartRenderingEngine.php"},"region":{"startLine":112}}}],"partialFingerprints":{"codehealthFindingId/v1":"49b6c3be68132f1d56c04a030be604d29ea190d5de3fe86fb6ce019ede804d50"}},{"ruleId":"D2","level":"warning","message":{"text":"HeraldNewController.handleRequest (cognitive 47): HeraldNewController.handleRequest has cognitive complexity 47 (threshold 15). Drivers by points: if/else 47 (nesting depth added 30). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/herald/controller/HeraldNewController.php"},"region":{"startLine":5}}}],"partialFingerprints":{"codehealthFindingId/v1":"623d7d19e829fd119e792d5d04d9d92a2539f2cadaa3216e10bfa7f590a4d4b3"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorDifferenceEngine.applyIntralineDiff (cognitive 47): PhabricatorDifferenceEngine.applyIntralineDiff has cognitive complexity 47 (threshold 15). Drivers by points: if/else 33, boolean chains 7, loops 4, match/switch 3 (nesting depth added 23). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/diff/PhabricatorDifferenceEngine.php"},"region":{"startLine":172}}}],"partialFingerprints":{"codehealthFindingId/v1":"9d549ffce5a9d050fd51bb207a7d7762d010f02f05ec54cef08ebfc22bdcb9ab"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorCursorPagedPolicyAwareQuery.buildFerretJoinClause (cognitive 47): PhabricatorCursorPagedPolicyAwareQuery.buildFerretJoinClause has cognitive complexity 47 (threshold 15). Drivers by points: if/else 38, loops 8, boolean chains 1 (nesting depth added 18). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/query/policy/PhabricatorCursorPagedPolicyAwareQuery.php"},"region":{"startLine":1995}}}],"partialFingerprints":{"codehealthFindingId/v1":"0bd8965a1ef1c048e3362ffe82c9d704d49389d47fb4714be531f18c7ddbdaa0"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorCalendarEventQuery.loadPage (cognitive 46): PhabricatorCalendarEventQuery.loadPage has cognitive complexity 46 (threshold 15). Drivers by points: if/else 34, loops 10, boolean chains 2 (nesting depth added 20). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/query/PhabricatorCalendarEventQuery.php"},"region":{"startLine":161}}}],"partialFingerprints":{"codehealthFindingId/v1":"562f59374fda23b01f7555ff13ea3a9cba76c1fa3713adcd8682c46a7234889c"}},{"ruleId":"D2","level":"warning","message":{"text":"HeraldAdapter.doesConditionMatch (cognitive 46): HeraldAdapter.doesConditionMatch has cognitive complexity 46 (threshold 15). Drivers by points: if/else 34, loops 6, error handling 5, match/switch 1 (nesting depth added 27). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/herald/adapter/HeraldAdapter.php"},"region":{"startLine":444}}}],"partialFingerprints":{"codehealthFindingId/v1":"a8445e5afa8e9d928d5a41e39d9247b2eb56d3774c4c6bdb45e483bc76b549d8"}},{"ruleId":"D2","level":"warning","message":{"text":"ManiphestReportController.renderBurn (cognitive 46): ManiphestReportController.renderBurn has cognitive complexity 46 (threshold 15). Drivers by points: if/else 35, loops 4, boolean chains 3, match/switch 2, ternaries 2 (nesting depth added 14). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/maniphest/controller/ManiphestReportController.php"},"region":{"startLine":74}}}],"partialFingerprints":{"codehealthFindingId/v1":"8c2336f544822feed4040a59d536ac94c0d07be420ea55e29c462a5cd80df515"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorPeopleQuery.rebuildAvailabilityCache (cognitive 46): PhabricatorPeopleQuery.rebuildAvailabilityCache has cognitive complexity 46 (threshold 15). Drivers by points: if/else 29, loops 16, boolean chains 1 (nesting depth added 29). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/people/query/PhabricatorPeopleQuery.php"},"region":{"startLine":385}}}],"partialFingerprints":{"codehealthFindingId/v1":"7e5b8a404bf09a5e97cff71814433e9feff9535add57e2871a47bcee389fab4a"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorBoardLayoutEngine.queueAddPosition (cognitive 46): PhabricatorBoardLayoutEngine.queueAddPosition has cognitive complexity 46 (threshold 15). Drivers by points: if/else 37, loops 9 (nesting depth added 31). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/engine/PhabricatorBoardLayoutEngine.php"},"region":{"startLine":138}}}],"partialFingerprints":{"codehealthFindingId/v1":"37f8eec91e6f148504d68e339d247074bb9fb3f8a711ff42d925cf9970a26055"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorDiffInlineCommentQuery.willFilterPage (cognitive 46): PhabricatorDiffInlineCommentQuery.willFilterPage has cognitive complexity 46 (threshold 15). Drivers by points: if/else 35, loops 10, boolean chains 1 (nesting depth added 27). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/diff/query/PhabricatorDiffInlineCommentQuery.php"},"region":{"startLine":144}}}],"partialFingerprints":{"codehealthFindingId/v1":"ebe4a2a427d996e181a348f0cb884501cdc177be44fb740aa03f16c56baa1e4f"}},{"ruleId":"D2","level":"warning","message":{"text":"_update (cognitive 46): _update has cognitive complexity 46 (threshold 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"webroot/rsrc/js/phuix/PHUIXAutocomplete.js"},"region":{"startLine":428}}}],"partialFingerprints":{"codehealthFindingId/v1":"a08f072b663ecbeeb9fa28849b78fab80e6dabbe81eb93988cc19f5db1d04454"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorPeopleProfilePictureController.handleRequest (cognitive 45): PhabricatorPeopleProfilePictureController.handleRequest has cognitive complexity 45 (threshold 15). Drivers by points: if/else 41, loops 3, boolean chains 1 (nesting depth added 18). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/people/controller/PhabricatorPeopleProfilePictureController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"fa378c05b4cd5f0c1e35d28f5b2aed147cdf237a7c53af38514d80b68bc70f45"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorPolicyFilter.apply (cognitive 45): PhabricatorPolicyFilter.apply has cognitive complexity 45 (threshold 15). Drivers by points: if/else 33, loops 11, boolean chains 1 (nesting depth added 20). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/policy/filter/PhabricatorPolicyFilter.php"},"region":{"startLine":156}}}],"partialFingerprints":{"codehealthFindingId/v1":"703a57c70e876f194247d13e755b4a9d90c0a973665f5c18931add42a46d763c"}},{"ruleId":"D2","level":"warning","message":{"text":"PhutilRemarkupListBlockRule.markupText (cognitive 45): PhutilRemarkupListBlockRule.markupText has cognitive complexity 45 (threshold 15). Drivers by points: if/else 39, loops 5, boolean chains 1 (nesting depth added 19). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/markup/blockrule/PhutilRemarkupListBlockRule.php"},"region":{"startLine":88}}}],"partialFingerprints":{"codehealthFindingId/v1":"e41b9d476d42e30319a2581beb69e766d303faeca396b5548642c0a5849a7b27"}},{"ruleId":"D2","level":"warning","message":{"text":"PhutilICSParser.parseICSProperty (cognitive 44): PhutilICSParser.parseICSProperty has cognitive complexity 44 (threshold 15). Drivers by points: if/else 37, loops 5, boolean chains 1, match/switch 1 (nesting depth added 28). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/parser/ics/PhutilICSParser.php"},"region":{"startLine":191}}}],"partialFingerprints":{"codehealthFindingId/v1":"1ab535c3a63e6a46b0a13cd4c06131795208b2599dbdac3e20e79a425c87e814"}},{"ruleId":"D2","level":"warning","message":{"text":"ConpherenceUpdateController.handleRequest (cognitive 44): ConpherenceUpdateController.handleRequest has cognitive complexity 44 (threshold 15). Drivers by points: if/else 31, match/switch 7, error handling 3, boolean chains 2, ternaries 1 (nesting depth added 22). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/conpherence/controller/ConpherenceUpdateController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"831fcc1cda6cfc1a017164e7050afa238ee5998b1805d9e140d3752ed5a44cd6"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionServeController.isVCSRequest (cognitive 44): DiffusionServeController.isVCSRequest has cognitive complexity 44 (threshold 15). Drivers by points: if/else 44 (nesting depth added 28). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/controller/DiffusionServeController.php"},"region":{"startLine":40}}}],"partialFingerprints":{"codehealthFindingId/v1":"4f6764823ca02e25d156829d850e827dab8110af96a5e1f009fc58d8dc235210"}},{"ruleId":"D2","level":"warning","message":{"text":"ManiphestTaskDetailController.newChangesView (cognitive 44): ManiphestTaskDetailController.newChangesView has cognitive complexity 44 (threshold 15). Drivers by points: if/else 32, loops 7, ternaries 4, boolean chains 1 (nesting depth added 17). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/maniphest/controller/ManiphestTaskDetailController.php"},"region":{"startLine":545}}}],"partialFingerprints":{"codehealthFindingId/v1":"eda0b7d060682cbec69c63472a273c697122098489aa9f89cae471a62266abf4"}},{"ruleId":"D2","level":"warning","message":{"text":"PhrictionDocumentQuery.buildWhereClauseParts (cognitive 44): PhrictionDocumentQuery.buildWhereClauseParts has cognitive complexity 44 (threshold 15). Drivers by points: if/else 36, loops 7, boolean chains 1 (nesting depth added 23). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phriction/query/PhrictionDocumentQuery.php"},"region":{"startLine":199}}}],"partialFingerprints":{"codehealthFindingId/v1":"35b8bac7089e51b0797e9be416886f822a22d2b69650be64bf2588f712577000"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorBulkManagementExportWorkflow.newQueries (cognitive 44): PhabricatorBulkManagementExportWorkflow.newQueries has cognitive complexity 44 (threshold 15). Drivers by points: if/else 36, loops 8 (nesting depth added 20). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/bulk/management/PhabricatorBulkManagementExportWorkflow.php"},"region":{"startLine":152}}}],"partialFingerprints":{"codehealthFindingId/v1":"aefed2cd0b8729906188f1b53b9803c58dd5e3d253390a19e6914ff94cd5e969"}},{"ruleId":"D2","level":"warning","message":{"text":"_onjumpkey (cognitive 44): _onjumpkey has cognitive complexity 44 (threshold 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"webroot/rsrc/js/application/diff/DiffChangesetList.js"},"region":{"startLine":650}}}],"partialFingerprints":{"codehealthFindingId/v1":"455fc12592765d55b3244e0d07411201dd8c474128e883e03d94376ae67d0467"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorConfigConsoleController.loadVersions (cognitive 43): PhabricatorConfigConsoleController.loadVersions has cognitive complexity 43 (threshold 15). Drivers by points: if/else 38, loops 5 (nesting depth added 23). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/controller/PhabricatorConfigConsoleController.php"},"region":{"startLine":139}}}],"partialFingerprints":{"codehealthFindingId/v1":"d67fdeee9329c14de4800b1d44b377855088c87e9c2c7fabae0babe72b226e2b"}},{"ruleId":"D2","level":"warning","message":{"text":"HeraldRuleQuery.willFilterPage (cognitive 43): HeraldRuleQuery.willFilterPage has cognitive complexity 43 (threshold 15). Drivers by points: if/else 28, loops 14, boolean chains 1 (nesting depth added 18). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/herald/query/HeraldRuleQuery.php"},"region":{"startLine":89}}}],"partialFingerprints":{"codehealthFindingId/v1":"38638e42ecd9ccdbd1da16becf3de7dd8703985cca0bf18fbe4c7c48f872def8"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorCursorPagedPolicyAwareQuery.buildPagingClauseFromMultipleColumns (cognitive 43): PhabricatorCursorPagedPolicyAwareQuery.buildPagingClauseFromMultipleColumns has cognitive complexity 43 (threshold 15). Drivers by points: if/else 33, match/switch 3, ternaries 3, boolean chains 2, loops 2 (nesting depth added 20). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/query/policy/PhabricatorCursorPagedPolicyAwareQuery.php"},"region":{"startLine":727}}}],"partialFingerprints":{"codehealthFindingId/v1":"a461e5622d0ecfc77ab507903682e1921ccaab3c86de5abdf087318fa99aa8f9"}},{"ruleId":"D2","level":"warning","message":{"text":"PHUITimelineEventView.render (cognitive 43): PHUITimelineEventView.render has cognitive complexity 43 (threshold 15). Drivers by points: if/else 26, loops 9, ternaries 5, boolean chains 3 (nesting depth added 13). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/phui/PHUITimelineEventView.php"},"region":{"startLine":318}}}],"partialFingerprints":{"codehealthFindingId/v1":"3563413055e99e1bafae2b004d853d3d07b84f292aee3448f7bf05abddd60906"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorAuthInviteTestCase.testInviteWithKnownEmail (cognitive 42): PhabricatorAuthInviteTestCase.testInviteWithKnownEmail has cognitive complexity 42 (threshold 15). Drivers by points: if/else 17, loops 10, match/switch 10, error handling 5 (nesting depth added 30). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/factor/__tests__/PhabricatorAuthInviteTestCase.php"},"region":{"startLine":145}}}],"partialFingerprints":{"codehealthFindingId/v1":"fe3e2c500331ff4c35a717712d376b8ccc24d67c70ed48f0b070e28052a83093"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorExtraConfigSetupCheck.executeChecks (cognitive 42): PhabricatorExtraConfigSetupCheck.executeChecks has cognitive complexity 42 (threshold 15). Drivers by points: if/else 36, loops 6 (nesting depth added 23). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/check/PhabricatorExtraConfigSetupCheck.php"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"16afdd094b281e61551d5329f3052a46e14f6b658438b0b26cc23b5a186a74d4"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorPathSetupCheck.executeChecks (cognitive 42): PhabricatorPathSetupCheck.executeChecks has cognitive complexity 42 (threshold 15). Drivers by points: if/else 36, loops 5, boolean chains 1 (nesting depth added 23). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/check/PhabricatorPathSetupCheck.php"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"11be9e58a5c4bbf331653c7db0bbe97f42c9b13a4ecacc8284356f436efd0aa4"}},{"ruleId":"D2","level":"warning","message":{"text":"PassphraseQueryConduitAPIMethod.execute (cognitive 42): PassphraseQueryConduitAPIMethod.execute has cognitive complexity 42 (threshold 15). Drivers by points: if/else 37, boolean chains 2, match/switch 2, loops 1 (nesting depth added 22). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/passphrase/conduit/PassphraseQueryConduitAPIMethod.php"},"region":{"startLine":31}}}],"partialFingerprints":{"codehealthFindingId/v1":"8555a3c8f0b71025b985a9458d92b91363033fa5431600bd174271cf9ff7784a"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorPolicyFilter.applyExtendedPolicyChecks (cognitive 42): PhabricatorPolicyFilter.applyExtendedPolicyChecks has cognitive complexity 42 (threshold 15). Drivers by points: if/else 27, loops 15 (nesting depth added 23). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/policy/filter/PhabricatorPolicyFilter.php"},"region":{"startLine":299}}}],"partialFingerprints":{"codehealthFindingId/v1":"97b95bbd9b6bbfde187fc9a2efc89c24a6d4212b254a8b5e2c7f8f69fb7c668a"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorProjectIconSet.validateConfiguration (cognitive 42): PhabricatorProjectIconSet.validateConfiguration has cognitive complexity 42 (threshold 15). Drivers by points: if/else 40, loops 2 (nesting depth added 21). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/icon/PhabricatorProjectIconSet.php"},"region":{"startLine":195}}}],"partialFingerprints":{"codehealthFindingId/v1":"3f4a8db5bf70236be2f85514abcb617f484d06ef8cce3f1668aad30cb1dee2fc"}},{"ruleId":"D2","level":"warning","message":{"text":"TransactionSearchConduitAPIMethod.execute (cognitive 42): TransactionSearchConduitAPIMethod.execute has cognitive complexity 42 (threshold 15). Drivers by points: if/else 24, match/switch 9, loops 6, error handling 3 (nesting depth added 21). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/conduit/TransactionSearchConduitAPIMethod.php"},"region":{"startLine":102}}}],"partialFingerprints":{"codehealthFindingId/v1":"6b11761b3dbf79bf53627f4fd0527fa5e0b4e1e6f20f0124d56a378fb405ebf8"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorInternationalizationManagementExtractWorkflow.extractFiles (cognitive 42): PhabricatorInternationalizationManagementExtractWorkflow.extractFiles has cognitive complexity 42 (threshold 15). Drivers by points: match/switch 16, if/else 13, loops 8, error handling 5 (nesting depth added 29). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/internationalization/management/PhabricatorInternationalizationManagementExtractWorkflow.php"},"region":{"startLine":127}}}],"partialFingerprints":{"codehealthFindingId/v1":"946e0d95aa701526f22dd6ea2803bfe011c31dcbbfdb89e130512a0554e0cb0a"}},{"ruleId":"D2","level":"warning","message":{"text":"_getInlinesByType (cognitive 42): _getInlinesByType has cognitive complexity 42 (threshold 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"webroot/rsrc/js/application/diff/DiffChangesetList.js"},"region":{"startLine":1968}}}],"partialFingerprints":{"codehealthFindingId/v1":"9895c1a0685a1ad4aab606e95f445db91631accbf333eeec89b9e129207919a3"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorAphlictManagementWorkflow.parseLaunchArguments (cognitive 41): PhabricatorAphlictManagementWorkflow.parseLaunchArguments has cognitive complexity 41 (threshold 15). Drivers by points: if/else 21, error handling 6, boolean chains 5, loops 5, match/switch 4 (nesting depth added 11). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/aphlict/management/PhabricatorAphlictManagementWorkflow.php"},"region":{"startLine":27}}}],"partialFingerprints":{"codehealthFindingId/v1":"751e596e8a413155df30ee4e160907bb29788f97b963ae267fef06b481645c66"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorCalendarEventCancelController.handleRequest (cognitive 41): PhabricatorCalendarEventCancelController.handleRequest has cognitive complexity 41 (threshold 15). Drivers by points: if/else 29, loops 6, boolean chains 3, error handling 3 (nesting depth added 18). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/controller/PhabricatorCalendarEventCancelController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"a1e27118c4c533b101329fe0ab6b8dd4e9ed532d247c0d2b5f53bcbdc2aaca10"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialHunkParser.generateIntraLineDiffs (cognitive 41): DifferentialHunkParser.generateIntraLineDiffs has cognitive complexity 41 (threshold 15). Drivers by points: if/else 32, loops 7, boolean chains 2 (nesting depth added 27). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/parser/DifferentialHunkParser.php"},"region":{"startLine":270}}}],"partialFingerprints":{"codehealthFindingId/v1":"db000f528fea963cdee492dc7e51a0a619b4ea122f9f651f8e4f9b74885315b6"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialChangesetRenderer.buildPrimitives (cognitive 41): DifferentialChangesetRenderer.buildPrimitives has cognitive complexity 41 (threshold 15). Drivers by points: if/else 31, loops 7, boolean chains 3 (nesting depth added 21). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/render/DifferentialChangesetRenderer.php"},"region":{"startLine":453}}}],"partialFingerprints":{"codehealthFindingId/v1":"1eb6bdf8a0366fa180559790db52394cc2cec1e82e217044a903282b34fd9b52"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionCommitQuery.willFilterPage (cognitive 41): DiffusionCommitQuery.willFilterPage has cognitive complexity 41 (threshold 15). Drivers by points: if/else 25, loops 16 (nesting depth added 26). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/query/DiffusionCommitQuery.php"},"region":{"startLine":293}}}],"partialFingerprints":{"codehealthFindingId/v1":"34edb4776ea0ccd185fbe492da56509c0205b2bf653011f601feb0907321f5b9"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorChartStackedAreaDataset.newChartDisplayData (cognitive 41): PhabricatorChartStackedAreaDataset.newChartDisplayData has cognitive complexity 41 (threshold 15). Drivers by points: if/else 26, loops 15 (nesting depth added 22). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/fact/chart/PhabricatorChartStackedAreaDataset.php"},"region":{"startLine":19}}}],"partialFingerprints":{"codehealthFindingId/v1":"9ca1f6d5785756450ce22bc38a4722767f6c493b3e113d69c9484093bca520db"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorFeedTransactionQuery.loadPage (cognitive 41): PhabricatorFeedTransactionQuery.loadPage has cognitive complexity 41 (threshold 15). Drivers by points: if/else 38, loops 3 (nesting depth added 21). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/feed/query/PhabricatorFeedTransactionQuery.php"},"region":{"startLine":41}}}],"partialFingerprints":{"codehealthFindingId/v1":"720248620d3ab7719309c68062b5a13e6d2423706e5a8cee6836a75752d10eed"}},{"ruleId":"D2","level":"warning","message":{"text":"PhortuneMerchantProviderEditController.handleMerchantRequest (cognitive 41): PhortuneMerchantProviderEditController.handleMerchantRequest has cognitive complexity 41 (threshold 15). Drivers by points: if/else 28, loops 7, error handling 4, boolean chains 2 (nesting depth added 21). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phortune/controller/merchant/PhortuneMerchantProviderEditController.php"},"region":{"startLine":10}}}],"partialFingerprints":{"codehealthFindingId/v1":"c478dac1026cc88e13d0a6a2a59dfcea00ca79ebcd96f56e00c4e54c8c70765a"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorPolicyEditController.handleRequest (cognitive 41): PhabricatorPolicyEditController.handleRequest has cognitive complexity 41 (threshold 15). Drivers by points: if/else 29, loops 6, match/switch 4, error handling 2 (nesting depth added 17). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/policy/controller/PhabricatorPolicyEditController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"27903fa6565066641014905fa09f2e4f0f5f2a8c269c36404f1ef7502b21b726"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorProjectDatasource.loadResults (cognitive 41): PhabricatorProjectDatasource.loadResults has cognitive complexity 41 (threshold 15). Drivers by points: if/else 31, loops 6, boolean chains 4 (nesting depth added 16). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/typeahead/PhabricatorProjectDatasource.php"},"region":{"startLine":18}}}],"partialFingerprints":{"codehealthFindingId/v1":"e09f9382b1ca6260e8592a31dbc192fbc6304a6e845e0c02afb1f8d262213c4e"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorRepositoryGraphCache.loadLastModifiedCommitID (cognitive 41): PhabricatorRepositoryGraphCache.loadLastModifiedCommitID has cognitive complexity 41 (threshold 15). Drivers by points: if/else 34, loops 5, boolean chains 2 (nesting depth added 22). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/graphcache/PhabricatorRepositoryGraphCache.php"},"region":{"startLine":75}}}],"partialFingerprints":{"codehealthFindingId/v1":"b074980a0922991932a83e7e0a333c96cf699e5b837f027aea8b3aa4eeb97a01"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorRepositoryQuery.buildWhereClauseParts (cognitive 41): PhabricatorRepositoryQuery.buildWhereClauseParts has cognitive complexity 41 (threshold 15). Drivers by points: if/else 34, boolean chains 4, loops 3 (nesting depth added 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/query/PhabricatorRepositoryQuery.php"},"region":{"startLine":533}}}],"partialFingerprints":{"codehealthFindingId/v1":"8f143d58a9536b456ba8fdd6c3e5309261fbbec5f58a97b2b8e0e0fee450edc8"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorAuthStartController.handleRequest (cognitive 40): PhabricatorAuthStartController.handleRequest has cognitive complexity 40 (threshold 15). Drivers by points: if/else 30, loops 7, match/switch 2, boolean chains 1 (nesting depth added 12). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/controller/PhabricatorAuthStartController.php"},"region":{"startLine":10}}}],"partialFingerprints":{"codehealthFindingId/v1":"3271fce20ce759c4c78972b2ed912e41c38c8bec65c305f4b40c6d968fe4a84a"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionRefTableController.handleRequest (cognitive 40): DiffusionRefTableController.handleRequest has cognitive complexity 40 (threshold 15). Drivers by points: if/else 23, loops 9, ternaries 8 (nesting depth added 21). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/controller/DiffusionRefTableController.php"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"3753e9e3c3adf6d2e009036fbb3fe2c20f1955afa0aca6c74f68256b6b7ef5db"}},{"ruleId":"D2","level":"warning","message":{"text":"PhameLiveController.setupLiveEnvironment (cognitive 40): PhameLiveController.setupLiveEnvironment has cognitive complexity 40 (threshold 15). Drivers by points: if/else 38, boolean chains 2 (nesting depth added 18). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phame/controller/PhameLiveController.php"},"region":{"startLine":30}}}],"partialFingerprints":{"codehealthFindingId/v1":"0ad89a6c977812c972673606dabdccdde8440a6465f82ca0ebbcec46dd90d950"}},{"ruleId":"D2","level":"warning","message":{"text":"PhrictionTransactionEditor.validateTransaction (cognitive 40): PhrictionTransactionEditor.validateTransaction has cognitive complexity 40 (threshold 15). Drivers by points: if/else 37, match/switch 2, loops 1 (nesting depth added 27). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phriction/editor/PhrictionTransactionEditor.php"},"region":{"startLine":348}}}],"partialFingerprints":{"codehealthFindingId/v1":"68ddf74cafbc41a31fd934b5777424d017e5e8519ab6d7fec0206fd6e8bb781d"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorRepositoryManagementParentsWorkflow.rebuildRepository (cognitive 40): PhabricatorRepositoryManagementParentsWorkflow.rebuildRepository has cognitive complexity 40 (threshold 15). Drivers by points: loops 24, if/else 16 (nesting depth added 20). To reduce it, break up the iteration: give each loop body a named function, and split a multi-phase loop into one function per phase so no single body carries the whole pipeline."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/management/PhabricatorRepositoryManagementParentsWorkflow.php"},"region":{"startLine":49}}}],"partialFingerprints":{"codehealthFindingId/v1":"5e44b22e894b8499d4cc5f889092dcd19fdcbb6a40abee030be67d75bbebb085"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorSearchHovercardController.handleRequest (cognitive 40): PhabricatorSearchHovercardController.handleRequest has cognitive complexity 40 (threshold 15). Drivers by points: if/else 28, loops 12 (nesting depth added 19). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/search/controller/PhabricatorSearchHovercardController.php"},"region":{"startLine":10}}}],"partialFingerprints":{"codehealthFindingId/v1":"aebb6a62835ab6ff263b5f943900576ba73c699d4de6b25e60c53910fc640a9d"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorCacheEngine.updateObject (cognitive 40): PhabricatorCacheEngine.updateObject has cognitive complexity 40 (threshold 15). Drivers by points: if/else 30, loops 10 (nesting depth added 25). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/system/engine/PhabricatorCacheEngine.php"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"8ed69ea12716998cd9ab1bbfd11cd9f7f0c5e134c679e4e0dfe073a4d68cadd7"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorInlineCommentController.processRequest (cognitive 40): PhabricatorInlineCommentController.processRequest has cognitive complexity 40 (threshold 15). Drivers by points: if/else 36, match/switch 3, boolean chains 1 (nesting depth added 18). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/diff/PhabricatorInlineCommentController.php"},"region":{"startLine":93}}}],"partialFingerprints":{"codehealthFindingId/v1":"82a4b71fafb519e54c7e30766fad1bc572775ad60192674cd5c986acbaab6720"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorAuthInviteAction.newActionListFromAddresses (cognitive 39): PhabricatorAuthInviteAction.newActionListFromAddresses has cognitive complexity 39 (threshold 15). Drivers by points: if/else 26, loops 10, match/switch 3 (nesting depth added 20). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/data/PhabricatorAuthInviteAction.php"},"region":{"startLine":94}}}],"partialFingerprints":{"codehealthFindingId/v1":"d647fbeb2dd63e4be7094605ddefe3a8407b21f117270e952e272eb0f0bfe36b"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorConfigSchemaSpec.getDetailsForDataType (cognitive 39): PhabricatorConfigSchemaSpec.getDetailsForDataType has cognitive complexity 39 (threshold 15). Drivers by points: if/else 33, match/switch 6 (nesting depth added 19). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/schema/PhabricatorConfigSchemaSpec.php"},"region":{"startLine":269}}}],"partialFingerprints":{"codehealthFindingId/v1":"e1d585343223503c86a1bbee52277dfefc21ee2be2e9d8fde2235f3471415b94"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialRevisionUpdateHistoryView.render (cognitive 39): DifferentialRevisionUpdateHistoryView.render has cognitive complexity 39 (threshold 15). Drivers by points: if/else 27, ternaries 9, loops 2, boolean chains 1 (nesting depth added 18). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/view/DifferentialRevisionUpdateHistoryView.php"},"region":{"startLine":38}}}],"partialFingerprints":{"codehealthFindingId/v1":"e24e15e10bd3befcaa271ca73cc60184e49084736981495505e96f7cdfed284d"}},{"ruleId":"D2","level":"warning","message":{"text":"PhrictionDocumentQuery.willFilterPage (cognitive 39): PhrictionDocumentQuery.willFilterPage has cognitive complexity 39 (threshold 15). Drivers by points: loops 20, if/else 19 (nesting depth added 21). To reduce it, break up the iteration: give each loop body a named function, and split a multi-phase loop into one function per phase so no single body carries the whole pipeline."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phriction/query/PhrictionDocumentQuery.php"},"region":{"startLine":69}}}],"partialFingerprints":{"codehealthFindingId/v1":"907140b8b868271b24a14c158b606f313ed751a1c0d5ed06d63b5060bf675d72"}},{"ruleId":"D2","level":"warning","message":{"text":"(anonymous) (cognitive 39): (anonymous) has cognitive complexity 39 (threshold 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"webroot/rsrc/js/application/diffusion/behavior-commit-graph.js"},"region":{"startLine":8}}}],"partialFingerprints":{"codehealthFindingId/v1":"3e55afcaf11adc06238404fbde1dd8cff3d5ca2fb098264fe57749bf163b3841"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorAuditManagementDeleteWorkflow.execute (cognitive 38): PhabricatorAuditManagementDeleteWorkflow.execute has cognitive complexity 38 (threshold 15). Drivers by points: if/else 23, loops 9, boolean chains 6 (nesting depth added 12). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/audit/management/PhabricatorAuditManagementDeleteWorkflow.php"},"region":{"startLine":62}}}],"partialFingerprints":{"codehealthFindingId/v1":"b17296a2d7b834e81fd35f69a291087a278a0867d01ef258a2bd7935c87ee662"}},{"ruleId":"D2","level":"warning","message":{"text":"CelerityResourceController.serveResource (cognitive 38): CelerityResourceController.serveResource has cognitive complexity 38 (threshold 15). Drivers by points: if/else 25, error handling 6, boolean chains 4, loops 3 (nesting depth added 14). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/celerity/controller/CelerityResourceController.php"},"region":{"startLine":27}}}],"partialFingerprints":{"codehealthFindingId/v1":"6aaaa309b6784ce066626a7472b690f0d476cfffb3e94357d5ef78e1f316da60"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorDashboardTabsPanelType.renderPanelContent (cognitive 38): PhabricatorDashboardTabsPanelType.renderPanelContent has cognitive complexity 38 (threshold 15). Drivers by points: if/else 30, boolean chains 3, loops 3, ternaries 2 (nesting depth added 13). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/dashboard/paneltype/PhabricatorDashboardTabsPanelType.php"},"region":{"startLine":46}}}],"partialFingerprints":{"codehealthFindingId/v1":"43c35d733cdbd806572213e670c99756138528bdee00c6a99f66894b17b62c9f"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialGetCommitMessageConduitAPIMethod.execute (cognitive 38): DifferentialGetCommitMessageConduitAPIMethod.execute has cognitive complexity 38 (threshold 15). Drivers by points: if/else 28, boolean chains 5, loops 5 (nesting depth added 14). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/conduit/DifferentialGetCommitMessageConduitAPIMethod.php"},"region":{"startLine":34}}}],"partialFingerprints":{"codehealthFindingId/v1":"55a8dab90bda7de56c5404ad0e6f84e038a247b4e1966ad42dfb3053957d886f"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionRepositoryProfilePictureController.handleRequest (cognitive 38): DiffusionRepositoryProfilePictureController.handleRequest has cognitive complexity 38 (threshold 15). Drivers by points: if/else 35, loops 2, boolean chains 1 (nesting depth added 16). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/controller/DiffusionRepositoryProfilePictureController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"dfd13eaa2a5caa7c3ce228da4533f12b6f78ef4ea9f1aa862c886b1e3c1445f4"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorFeedStory.loadAllFromRows (cognitive 38): PhabricatorFeedStory.loadAllFromRows has cognitive complexity 38 (threshold 15). Drivers by points: loops 20, if/else 15, error handling 2, boolean chains 1 (nesting depth added 14). To reduce it, break up the iteration: give each loop body a named function, and split a multi-phase loop into one function per phase so no single body carries the whole pipeline."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/feed/story/PhabricatorFeedStory.php"},"region":{"startLine":41}}}],"partialFingerprints":{"codehealthFindingId/v1":"f38a8d7a1df1101e549ec47e73eeff30f776ce5be09421dad238dcc1abac747b"}},{"ruleId":"D2","level":"warning","message":{"text":"HeraldEngine.applyRules (cognitive 38): HeraldEngine.applyRules has cognitive complexity 38 (threshold 15). Drivers by points: if/else 18, loops 10, error handling 8, boolean chains 2 (nesting depth added 19). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/herald/engine/HeraldEngine.php"},"region":{"startLine":126}}}],"partialFingerprints":{"codehealthFindingId/v1":"b66be8aeeeca7c63298e492ad09c93463e7ce530d774c8e56309cdab040e088a"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorEmailAddressesSettingsPanel.returnNewAddressResponse (cognitive 38): PhabricatorEmailAddressesSettingsPanel.returnNewAddressResponse has cognitive complexity 38 (threshold 15). Drivers by points: if/else 34, error handling 3, boolean chains 1 (nesting depth added 21). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/settings/panel/PhabricatorEmailAddressesSettingsPanel.php"},"region":{"startLine":158}}}],"partialFingerprints":{"codehealthFindingId/v1":"3593a009014adf790338385a21904e9cad30c27704b4e1333500c330f96e63b3"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorCursorPagedPolicyAwareQuery.buildEdgeLogicJoinClause (cognitive 38): PhabricatorCursorPagedPolicyAwareQuery.buildEdgeLogicJoinClause has cognitive complexity 38 (threshold 15). Drivers by points: loops 24, if/else 7, match/switch 7 (nesting depth added 26). To reduce it, break up the iteration: give each loop body a named function, and split a multi-phase loop into one function per phase so no single body carries the whole pipeline."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/query/policy/PhabricatorCursorPagedPolicyAwareQuery.php"},"region":{"startLine":2694}}}],"partialFingerprints":{"codehealthFindingId/v1":"5c3920f4c03cde1f737382bbeb7e89c3c9abdb202c9ce9829b379ab208bfdf55"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorConfigDatabaseIssueController.handleRequest (cognitive 37): PhabricatorConfigDatabaseIssueController.handleRequest has cognitive complexity 37 (threshold 15). Drivers by points: loops 33, if/else 4 (nesting depth added 23). To reduce it, break up the iteration: give each loop body a named function, and split a multi-phase loop into one function per phase so no single body carries the whole pipeline."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/controller/services/PhabricatorConfigDatabaseIssueController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"d94372d5be965350124c21338814b87976ee351639f2ff9eec19bdd23274e38d"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionLowLevelResolveRefsQuery.resolveMercurialRefs (cognitive 37): DiffusionLowLevelResolveRefsQuery.resolveMercurialRefs has cognitive complexity 37 (threshold 15). Drivers by points: if/else 19, loops 16, error handling 2 (nesting depth added 18). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/query/lowlevel/DiffusionLowLevelResolveRefsQuery.php"},"region":{"startLine":243}}}],"partialFingerprints":{"codehealthFindingId/v1":"967f2670d9984a09797bb7198878ee9634a05a17d01897c3fe29897efe5999c6"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionCommitGraphView.newObjectItemViews (cognitive 37): DiffusionCommitGraphView.newObjectItemViews has cognitive complexity 37 (threshold 15). Drivers by points: if/else 25, loops 12 (nesting depth added 20). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/view/DiffusionCommitGraphView.php"},"region":{"startLine":105}}}],"partialFingerprints":{"codehealthFindingId/v1":"b016fa1d866e15271464b20974054962326613e204e8fa919af87195bd34b156"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorOwnersPackageQuery.getControllingPackagesForPath (cognitive 37): PhabricatorOwnersPackageQuery.getControllingPackagesForPath has cognitive complexity 37 (threshold 15). Drivers by points: if/else 26, loops 10, boolean chains 1 (nesting depth added 18). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/owners/query/PhabricatorOwnersPackageQuery.php"},"region":{"startLine":369}}}],"partialFingerprints":{"codehealthFindingId/v1":"817c0fbf746933dcce775ca209a8dc56a8b96d047a592483ba5b87a4cd157c8a"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorProjectColumnQuery.didFilterPage (cognitive 37): PhabricatorProjectColumnQuery.didFilterPage has cognitive complexity 37 (threshold 15). Drivers by points: if/else 31, loops 6 (nesting depth added 19). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/query/PhabricatorProjectColumnQuery.php"},"region":{"startLine":88}}}],"partialFingerprints":{"codehealthFindingId/v1":"33c11772412a7ea7d257c0767f5ddb6195b4e669b5df43cc5c237b1c3ad978a3"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorProjectQuery.willFilterPage (cognitive 37): PhabricatorProjectQuery.willFilterPage has cognitive complexity 37 (threshold 15). Drivers by points: if/else 26, loops 8, boolean chains 3 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/query/PhabricatorProjectQuery.php"},"region":{"startLine":239}}}],"partialFingerprints":{"codehealthFindingId/v1":"a278ff27cfc1dd54249eb25d880bc7ea59caee30a1abc117b8632c5df90ec7b7"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorRepositoryPullEngine.pullRepositoryWithLock (cognitive 37): PhabricatorRepositoryPullEngine.pullRepositoryWithLock has cognitive complexity 37 (threshold 15). Drivers by points: if/else 33, loops 2, error handling 1, match/switch 1 (nesting depth added 14). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/engine/PhabricatorRepositoryPullEngine.php"},"region":{"startLine":51}}}],"partialFingerprints":{"codehealthFindingId/v1":"012d5fdcc0ac2df85d9a06c78f98081635a60cafc2d434c32f84287de944d81f"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorRepositoryRefEngine.updateCursors (cognitive 37): PhabricatorRepositoryRefEngine.updateCursors has cognitive complexity 37 (threshold 15). Drivers by points: if/else 25, loops 11, boolean chains 1 (nesting depth added 18). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/engine/PhabricatorRepositoryRefEngine.php"},"region":{"startLine":258}}}],"partialFingerprints":{"codehealthFindingId/v1":"8f85c49f28e97d2de51128364a19cfbef768d9cbd59b7ba09b14e44d521f243e"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorApplicationSearchEngine.buildConduitResponse (cognitive 37): PhabricatorApplicationSearchEngine.buildConduitResponse has cognitive complexity 37 (threshold 15). Drivers by points: if/else 19, loops 17, boolean chains 1 (nesting depth added 14). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/search/engine/PhabricatorApplicationSearchEngine.php"},"region":{"startLine":1134}}}],"partialFingerprints":{"codehealthFindingId/v1":"f6f384a804b7ef9a4a86061ce12cdc4dea2405e9109ea4e607a3f1f8521fe510"}},{"ruleId":"D2","level":"warning","message":{"text":"PhutilRemarkupCodeBlockRule.markupText (cognitive 37): PhutilRemarkupCodeBlockRule.markupText has cognitive complexity 37 (threshold 15). Drivers by points: if/else 30, loops 6, boolean chains 1 (nesting depth added 13). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/markup/blockrule/PhutilRemarkupCodeBlockRule.php"},"region":{"startLine":46}}}],"partialFingerprints":{"codehealthFindingId/v1":"edc9915f7065df075d65b22d9723b6f48c2d006987260a6afdfbecf9a4b461b4"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorActionView.render (cognitive 37): PhabricatorActionView.render has cognitive complexity 37 (threshold 15). Drivers by points: if/else 34, loops 2, ternaries 1 (nesting depth added 9). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/layout/PhabricatorActionView.php"},"region":{"startLine":198}}}],"partialFingerprints":{"codehealthFindingId/v1":"76ff5a640ca67d80cf9fc26f51f1030898322a8d03a049abe0903d8bad97fd75"}},{"ruleId":"D2","level":"warning","message":{"text":"ConpherenceTransactionRenderer.renderTransactions (cognitive 36): ConpherenceTransactionRenderer.renderTransactions has cognitive complexity 36 (threshold 15). Drivers by points: if/else 33, loops 2, boolean chains 1 (nesting depth added 18). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/conpherence/ConpherenceTransactionRenderer.php"},"region":{"startLine":5}}}],"partialFingerprints":{"codehealthFindingId/v1":"5d3ea4087b2713efdf334f98b8dc01be7992ac3438766950d4b9f0f0b567980f"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialTransactionEditor.buildMailBody (cognitive 36): DifferentialTransactionEditor.buildMailBody has cognitive complexity 36 (threshold 15). Drivers by points: if/else 25, boolean chains 4, error handling 3, loops 2, match/switch 2 (nesting depth added 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/editor/DifferentialTransactionEditor.php"},"region":{"startLine":662}}}],"partialFingerprints":{"codehealthFindingId/v1":"6252a637206dffaccdefe6c1935388e04e35f263a11c4af7c54bd0fc1064b85b"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialRevisionListView.render (cognitive 36): DifferentialRevisionListView.render has cognitive complexity 36 (threshold 15). Drivers by points: if/else 29, loops 6, boolean chains 1 (nesting depth added 14). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/view/DifferentialRevisionListView.php"},"region":{"startLine":50}}}],"partialFingerprints":{"codehealthFindingId/v1":"d734b07af42b3334fecd046ed4beb14eb83036dfa4a8961463c2278256d92c8b"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialRevisionReviewTransaction.applyReviewerEffect (cognitive 36): DifferentialRevisionReviewTransaction.applyReviewerEffect has cognitive complexity 36 (threshold 15). Drivers by points: if/else 29, loops 4, error handling 3 (nesting depth added 20). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/xaction/DifferentialRevisionReviewTransaction.php"},"region":{"startLine":163}}}],"partialFingerprints":{"codehealthFindingId/v1":"f1d536a5e8e5640446d4a31ff5aa5037dcf8b2d240e75a3245e82ab682b5a207"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionCommitController.buildPropertyListView (cognitive 36): DiffusionCommitController.buildPropertyListView has cognitive complexity 36 (threshold 15). Drivers by points: if/else 25, loops 10, boolean chains 1 (nesting depth added 10). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/controller/DiffusionCommitController.php"},"region":{"startLine":524}}}],"partialFingerprints":{"codehealthFindingId/v1":"083ea36d34eb2824edf09ab008234b4fcfedbc7713c7fa81fe5fbaf5dc52c2f1"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorFileViewController.buildPropertyViews (cognitive 36): PhabricatorFileViewController.buildPropertyViews has cognitive complexity 36 (threshold 15). Drivers by points: if/else 24, ternaries 6, boolean chains 3, loops 3 (nesting depth added 11). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/files/controller/PhabricatorFileViewController.php"},"region":{"startLine":218}}}],"partialFingerprints":{"codehealthFindingId/v1":"814effaa5063b782d6580256c8ba69a5b38b28b207609aa7a90a6ce0159a7b8e"}},{"ruleId":"D2","level":"warning","message":{"text":"HarbormasterBuildEngine.updateBuildable (cognitive 36): HarbormasterBuildEngine.updateBuildable has cognitive complexity 36 (threshold 15). Drivers by points: if/else 29, loops 3, boolean chains 2, match/switch 2 (nesting depth added 16). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/harbormaster/engine/HarbormasterBuildEngine.php"},"region":{"startLine":442}}}],"partialFingerprints":{"codehealthFindingId/v1":"611f01793f281959dab81688f5a5ac749310423c2c7cfe11048c59e12dac833e"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorProjectEditPictureController.handleRequest (cognitive 36): PhabricatorProjectEditPictureController.handleRequest has cognitive complexity 36 (threshold 15). Drivers by points: if/else 33, loops 2, boolean chains 1 (nesting depth added 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/controller/PhabricatorProjectEditPictureController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"8305abb12913eb4f56394acf3492a47bb379beb2da2ccec32480c1df5c68fcc2"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorSubscriptionsHeraldAction.applySubscribe (cognitive 36): PhabricatorSubscriptionsHeraldAction.applySubscribe has cognitive complexity 36 (threshold 15). Drivers by points: if/else 29, loops 7 (nesting depth added 13). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/subscriptions/herald/PhabricatorSubscriptionsHeraldAction.php"},"region":{"startLine":19}}}],"partialFingerprints":{"codehealthFindingId/v1":"1f2a990df4fabe6062a104c003bce71077f7f3913402915f60201d3aa7dd1afd"}},{"ruleId":"D2","level":"warning","message":{"text":"PhutilXHPASTSyntaxHighlighterFuture.applyXHPHighlight (cognitive 36): PhutilXHPASTSyntaxHighlighterFuture.applyXHPHighlight has cognitive complexity 36 (threshold 15). Drivers by points: if/else 28, loops 4, match/switch 3, boolean chains 1 (nesting depth added 19). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/markup/syntax/highlighter/xhpast/PhutilXHPASTSyntaxHighlighterFuture.php"},"region":{"startLine":31}}}],"partialFingerprints":{"codehealthFindingId/v1":"b293fe0d4f32da4f73c3dc379c25dc623998c5a7ec3f4733ebadf9ae48e75310"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorStandardPageView.willRenderPage (cognitive 36): PhabricatorStandardPageView.willRenderPage has cognitive complexity 36 (threshold 15). Drivers by points: if/else 28, ternaries 8 (nesting depth added 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/page/PhabricatorStandardPageView.php"},"region":{"startLine":199}}}],"partialFingerprints":{"codehealthFindingId/v1":"516ca931cd8a8c1e90f5d660d0a22e22035439dab6bb8e4306d867991f903634"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorAuthLoginController.handleRequest (cognitive 35): PhabricatorAuthLoginController.handleRequest has cognitive complexity 35 (threshold 15). Drivers by points: if/else 33, boolean chains 1, error handling 1 (nesting depth added 13). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/controller/PhabricatorAuthLoginController.php"},"region":{"startLine":28}}}],"partialFingerprints":{"codehealthFindingId/v1":"90868aca83d9f16e5880ad24b661f402524b416179295ba9f0e1a9af6e083567"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorDuoAuthFactor.processAddFactorForm (cognitive 35): PhabricatorDuoAuthFactor.processAddFactorForm has cognitive complexity 35 (threshold 15). Drivers by points: if/else 23, match/switch 8, ternaries 3, boolean chains 1 (nesting depth added 18). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/factor/PhabricatorDuoAuthFactor.php"},"region":{"startLine":155}}}],"partialFingerprints":{"codehealthFindingId/v1":"5b5f03274d6cdc679a49a4c08a3dc3456e524e7136efea417ed2c7c616b66cb3"}},{"ruleId":"D2","level":"warning","message":{"text":"PhutilCalendarRecurrenceRule.newYearMap (cognitive 35): PhutilCalendarRecurrenceRule.newYearMap has cognitive complexity 35 (threshold 15). Drivers by points: if/else 27, loops 5, boolean chains 2, ternaries 1 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/parser/data/PhutilCalendarRecurrenceRule.php"},"region":{"startLine":1349}}}],"partialFingerprints":{"codehealthFindingId/v1":"c00af5f2e47c0cdd9817c6b0ee177f274f24d3c8d88720a5679068e329f13cc3"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorWebServerSetupCheck.executeChecks (cognitive 35): PhabricatorWebServerSetupCheck.executeChecks has cognitive complexity 35 (threshold 15). Drivers by points: if/else 25, boolean chains 5, error handling 3, loops 2 (nesting depth added 5). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/check/PhabricatorWebServerSetupCheck.php"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"d942ac1971abea166e6fa3f66e2abc4f2939a9e895c178ea625f1b85cf8ea974"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorConfigEditController.handleRequest (cognitive 35): PhabricatorConfigEditController.handleRequest has cognitive complexity 35 (threshold 15). Drivers by points: if/else 29, error handling 3, boolean chains 2, loops 1 (nesting depth added 7). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/controller/settings/PhabricatorConfigEditController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"942b390494a9796d901c0cd16cbc5e1e015b4538a3d6041dd534d6689c269571"}},{"ruleId":"D2","level":"warning","message":{"text":"ConpherenceRoomPictureController.handleRequest (cognitive 35): ConpherenceRoomPictureController.handleRequest has cognitive complexity 35 (threshold 15). Drivers by points: if/else 33, boolean chains 1, loops 1 (nesting depth added 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/conpherence/controller/ConpherenceRoomPictureController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"48cd96171793f7d1bc594dbd8c005df296d94d51eda6b769f26f68f0fbaff5e1"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialTransactionEditor.updateReviewStatus (cognitive 35): DifferentialTransactionEditor.updateReviewStatus has cognitive complexity 35 (threshold 15). Drivers by points: if/else 27, boolean chains 5, match/switch 2, loops 1 (nesting depth added 14). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/editor/DifferentialTransactionEditor.php"},"region":{"startLine":403}}}],"partialFingerprints":{"codehealthFindingId/v1":"6bae12224ef3cdc959cdd8b47ed5a14b74e614a7becb5e8b71cc35eb874e4c66"}},{"ruleId":"D2","level":"warning","message":{"text":"DivinerAtomQuery.buildWhereClause (cognitive 35): DivinerAtomQuery.buildWhereClause has cognitive complexity 35 (threshold 15). Drivers by points: if/else 30, loops 4, boolean chains 1 (nesting depth added 11). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diviner/query/DivinerAtomQuery.php"},"region":{"startLine":302}}}],"partialFingerprints":{"codehealthFindingId/v1":"7cc4ba6fa05e8045e5087fe953b71f31bf01c2f03254ce5778d078b957a2c3b2"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorFileQuery.loadPage (cognitive 35): PhabricatorFileQuery.loadPage has cognitive complexity 35 (threshold 15). Drivers by points: if/else 25, loops 10 (nesting depth added 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/files/query/PhabricatorFileQuery.php"},"region":{"startLine":166}}}],"partialFingerprints":{"codehealthFindingId/v1":"637b267544fc2f9689aa29bc32dfc1501886d82df9736cc92e94188600d15c17"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorMailEmailEngine.newMessage (cognitive 35): PhabricatorMailEmailEngine.newMessage has cognitive complexity 35 (threshold 15). Drivers by points: if/else 27, loops 5, boolean chains 3 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/metamta/engine/PhabricatorMailEmailEngine.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"92d296f8b99a3b937ddcc3595f7dd86261ba60e9fc397d23b9d9af05176d83dc"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorMetaMTAMemberQuery.execute (cognitive 35): PhabricatorMetaMTAMemberQuery.execute has cognitive complexity 35 (threshold 15). Drivers by points: loops 24, if/else 9, match/switch 2 (nesting depth added 20). To reduce it, break up the iteration: give each loop body a named function, and split a multi-phase loop into one function per phase so no single body carries the whole pipeline."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/metamta/query/PhabricatorMetaMTAMemberQuery.php"},"region":{"startLine":26}}}],"partialFingerprints":{"codehealthFindingId/v1":"a94f721b72042ca266413b0ac7406df34b6ab130d7ff331847dc9085f31ce3a1"}},{"ruleId":"D2","level":"warning","message":{"text":"PhameBlogProfilePictureController.handleRequest (cognitive 35): PhameBlogProfilePictureController.handleRequest has cognitive complexity 35 (threshold 15). Drivers by points: if/else 33, boolean chains 1, loops 1 (nesting depth added 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phame/controller/blog/PhameBlogProfilePictureController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"f60c50aeafc2f8415336de6e5fe5b4cc4e28044f9d842d2468b6b254c1a775cb"}},{"ruleId":"D2","level":"warning","message":{"text":"PhrequentUserTimeQuery.didFilterPage (cognitive 35): PhrequentUserTimeQuery.didFilterPage has cognitive complexity 35 (threshold 15). Drivers by points: if/else 26, loops 7, boolean chains 2 (nesting depth added 23). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phrequent/query/PhrequentUserTimeQuery.php"},"region":{"startLine":159}}}],"partialFingerprints":{"codehealthFindingId/v1":"8acb3063bfd0a4965617336e8d04ee8d48901871feba57e1e9f9ad57a615e65a"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorProjectSearchEngine.buildQueryFromParameters (cognitive 35): PhabricatorProjectSearchEngine.buildQueryFromParameters has cognitive complexity 35 (threshold 15). Drivers by points: if/else 32, boolean chains 3 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/query/PhabricatorProjectSearchEngine.php"},"region":{"startLine":130}}}],"partialFingerprints":{"codehealthFindingId/v1":"ff3f8a07026d729ad2b0cb79fac02cb64e66969851089833d2523bc90ebc75ed"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorSearchRelationshipController.handleRequest (cognitive 35): PhabricatorSearchRelationshipController.handleRequest has cognitive complexity 35 (threshold 15). Drivers by points: if/else 23, loops 5, error handling 4, boolean chains 3 (nesting depth added 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/search/controller/PhabricatorSearchRelationshipController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"c0d511f5646ab8c5afcc33f04e6c689d2cac991d3c7f19dfc30cdeac946fcef4"}},{"ruleId":"D2","level":"warning","message":{"text":"PHUICalendarMonthView.render (cognitive 35): PHUICalendarMonthView.render has cognitive complexity 35 (threshold 15). Drivers by points: if/else 22, loops 12, boolean chains 1 (nesting depth added 18). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/phui/calendar/PHUICalendarMonthView.php"},"region":{"startLine":53}}}],"partialFingerprints":{"codehealthFindingId/v1":"8ffdd3febed948b751cf304999be62d58a1d180e62527c3cfe6b26269f946c50"}},{"ruleId":"D2","level":"warning","message":{"text":"redraw (cognitive 35): redraw has cognitive complexity 35 (threshold 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"webroot/rsrc/js/application/diff/DiffTreeView.js"},"region":{"startLine":87}}}],"partialFingerprints":{"codehealthFindingId/v1":"dc9d495fff84c52f0c24122f846d593c69e37d0ad4b9ace5c5cbad9e119ab2a7"}},{"ruleId":"D2","level":"warning","message":{"text":"PHPMailerLite.MailSend (cognitive 34): PHPMailerLite.MailSend has cognitive complexity 34 (threshold 15). Drivers by points: ternaries 14, if/else 10, loops 7, boolean chains 3 (nesting depth added 16). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"externals/phpmailer/class.phpmailer-lite.php"},"region":{"startLine":649}}}],"partialFingerprints":{"codehealthFindingId/v1":"1b4c1dc6498ed3385c0b1b0f4723295bb1cc0a370a224a49ead52a696b81be1b"}},{"ruleId":"D2","level":"warning","message":{"text":"PHPMailer.MailSend (cognitive 34): PHPMailer.MailSend has cognitive complexity 34 (threshold 15). Drivers by points: ternaries 14, if/else 10, loops 7, boolean chains 3 (nesting depth added 16). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"externals/phpmailer/class.phpmailer.php"},"region":{"startLine":628}}}],"partialFingerprints":{"codehealthFindingId/v1":"8a794aa28331d9e7c90fbc567ac05dfb62f366c35ce8044f23c313508e2bd0e5"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorConfigSchemaQuery.loadActualSchemaForServer (cognitive 34): PhabricatorConfigSchemaQuery.loadActualSchemaForServer has cognitive complexity 34 (threshold 15). Drivers by points: loops 16, if/else 14, error handling 4 (nesting depth added 18). To reduce it, break up the iteration: give each loop body a named function, and split a multi-phase loop into one function per phase so no single body carries the whole pipeline."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/schema/PhabricatorConfigSchemaQuery.php"},"region":{"startLine":64}}}],"partialFingerprints":{"codehealthFindingId/v1":"443f22952cbd6be99dedbb8e03ebcf8fc553b539b5cdcb8df373503803359346"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialChangesetParser.newDocumentEngine (cognitive 34): DifferentialChangesetParser.newDocumentEngine has cognitive complexity 34 (threshold 15). Drivers by points: if/else 32, boolean chains 1, loops 1 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/parser/DifferentialChangesetParser.php"},"region":{"startLine":1746}}}],"partialFingerprints":{"codehealthFindingId/v1":"14136990705fceace859241782c5ee0bcba615c46ea3fdcd1c38d4a41278dfdd"}},{"ruleId":"D2","level":"warning","message":{"text":"DivinerPHPAtomizer.executeAtomize (cognitive 34): DivinerPHPAtomizer.executeAtomize has cognitive complexity 34 (threshold 15). Drivers by points: loops 21, if/else 7, match/switch 6 (nesting depth added 22). To reduce it, break up the iteration: give each loop body a named function, and split a multi-phase loop into one function per phase so no single body carries the whole pipeline."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diviner/atomizer/DivinerPHPAtomizer.php"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"2104cd372831ba62e6fdaa6f39f7879de6e3397aba7fd80c5d517a6a8368a9e2"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorFilesManagementRebuildWorkflow.execute (cognitive 34): PhabricatorFilesManagementRebuildWorkflow.execute has cognitive complexity 34 (threshold 15). Drivers by points: if/else 25, loops 5, error handling 3, boolean chains 1 (nesting depth added 17). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/files/management/PhabricatorFilesManagementRebuildWorkflow.php"},"region":{"startLine":30}}}],"partialFingerprints":{"codehealthFindingId/v1":"f27bb3dbd8189cb04f6278ca99279a6d675a5e13659493ed5791f0c6145fa273"}},{"ruleId":"D2","level":"warning","message":{"text":"ManiphestConduitAPIMethod.applyRequest (cognitive 34): ManiphestConduitAPIMethod.applyRequest has cognitive complexity 34 (threshold 15). Drivers by points: if/else 30, loops 3, boolean chains 1 (nesting depth added 11). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/maniphest/conduit/ManiphestConduitAPIMethod.php"},"region":{"startLine":53}}}],"partialFingerprints":{"codehealthFindingId/v1":"f8333913137594c76eae8774c683b74d6432fe85401e2a53ef5a86985b950a60"}},{"ruleId":"D2","level":"warning","message":{"text":"NuanceGitHubImportCursor.pullDataFromSource (cognitive 34): NuanceGitHubImportCursor.pullDataFromSource has cognitive complexity 34 (threshold 15). Drivers by points: if/else 26, loops 8 (nesting depth added 16). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/nuance/cursor/NuanceGitHubImportCursor.php"},"region":{"startLine":56}}}],"partialFingerprints":{"codehealthFindingId/v1":"ffa5426f47105c64f97c2f3a361e717197ad5c2c4120ca33e7f721e64ceafaa6"}},{"ruleId":"D2","level":"warning","message":{"text":"PhortuneMerchantPictureController.handleMerchantRequest (cognitive 34): PhortuneMerchantPictureController.handleMerchantRequest has cognitive complexity 34 (threshold 15). Drivers by points: if/else 32, boolean chains 1, loops 1 (nesting depth added 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phortune/controller/merchant/PhortuneMerchantPictureController.php"},"region":{"startLine":10}}}],"partialFingerprints":{"codehealthFindingId/v1":"7864c1f206a25c0edb707fbba635420dfbd974698aa8bee3af1b370eebb766bf"}},{"ruleId":"D2","level":"warning","message":{"text":"PhrequentTrackController.processRequest (cognitive 34): PhrequentTrackController.processRequest has cognitive complexity 34 (threshold 15). Drivers by points: if/else 33, match/switch 1 (nesting depth added 18). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phrequent/controller/PhrequentTrackController.php"},"region":{"startLine":14}}}],"partialFingerprints":{"codehealthFindingId/v1":"e60179726abc429649e2bfb12039a5f51cf2eea80d887317a5e55e17ca65d528"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorProjectTriggerSearchEngine.renderResultList (cognitive 34): PhabricatorProjectTriggerSearchEngine.renderResultList has cognitive complexity 34 (threshold 15). Drivers by points: if/else 32, loops 2 (nesting depth added 18). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/query/PhabricatorProjectTriggerSearchEngine.php"},"region":{"startLine":72}}}],"partialFingerprints":{"codehealthFindingId/v1":"0282adfa5cc384f8d98952ff91121e8e7c7e2b8606c2685ba22da267fc234d4a"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorApplicationTransactionEditor.addHeadersAndCommentsToMailBody (cognitive 34): PhabricatorApplicationTransactionEditor.addHeadersAndCommentsToMailBody has cognitive complexity 34 (threshold 15). Drivers by points: if/else 28, loops 4, boolean chains 2 (nesting depth added 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php"},"region":{"startLine":3859}}}],"partialFingerprints":{"codehealthFindingId/v1":"47670658033095f5ea23d6e7ae220f447b373a58a14224f37c3c38d2b60a2fb4"}},{"ruleId":"D2","level":"warning","message":{"text":"PhutilRemarkupSimpleTableBlockRule.markupText (cognitive 34): PhutilRemarkupSimpleTableBlockRule.markupText has cognitive complexity 34 (threshold 15). Drivers by points: if/else 26, loops 7, boolean chains 1 (nesting depth added 21). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/markup/blockrule/PhutilRemarkupSimpleTableBlockRule.php"},"region":{"startLine":19}}}],"partialFingerprints":{"codehealthFindingId/v1":"2aaf8e33d69a7f20273b22bbe7c378008ffaeec00e1ef3c9ac996edbe4330796"}},{"ruleId":"D2","level":"warning","message":{"text":"render.phutil_escape_html (cognitive 34): render.phutil_escape_html has cognitive complexity 34 (threshold 15). Drivers by points: if/else 24, error handling 6, loops 4 (nesting depth added 20). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/markup/render.php"},"region":{"startLine":107}}}],"partialFingerprints":{"codehealthFindingId/v1":"7cff1a3e6e865e04b800dbea3f12a76fb53bc6e76265063078aefaa30c36a568"}},{"ruleId":"D2","level":"warning","message":{"text":"SMTP.Data (cognitive 33): SMTP.Data has cognitive complexity 33 (threshold 15). Drivers by points: if/else 26, loops 5, boolean chains 2 (nesting depth added 14). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"externals/phpmailer/class.smtp.php"},"region":{"startLine":326}}}],"partialFingerprints":{"codehealthFindingId/v1":"9a2c2d7ee36c161dfc397d19db922393ed7440d4cf5567acc7175fbed49db10c"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionCommitHookEngine.findGitChangeFlags (cognitive 33): DiffusionCommitHookEngine.findGitChangeFlags has cognitive complexity 33 (threshold 15). Drivers by points: if/else 31, boolean chains 1, loops 1 (nesting depth added 20). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/engine/DiffusionCommitHookEngine.php"},"region":{"startLine":526}}}],"partialFingerprints":{"codehealthFindingId/v1":"91a390b3966fbdaa43fa1e9a035d2cfe9eaa2987dd9d33408e27e337516ea69f"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionRepositoryClusterEngine.synchronizeWorkingCopyBeforeRead (cognitive 33): DiffusionRepositoryClusterEngine.synchronizeWorkingCopyBeforeRead has cognitive complexity 33 (threshold 15). Drivers by points: if/else 25, loops 6, boolean chains 1, error handling 1 (nesting depth added 14). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/protocol/DiffusionRepositoryClusterEngine.php"},"region":{"startLine":153}}}],"partialFingerprints":{"codehealthFindingId/v1":"a79312848188837093c6fd4601f922e7585f35668f71c8b022b5f5262034b6b3"}},{"ruleId":"D2","level":"warning","message":{"text":"HeraldTranscriptController.buildActionTranscriptPanel (cognitive 33): HeraldTranscriptController.buildActionTranscriptPanel has cognitive complexity 33 (threshold 15). Drivers by points: if/else 25, loops 8 (nesting depth added 18). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/herald/controller/HeraldTranscriptController.php"},"region":{"startLine":226}}}],"partialFingerprints":{"codehealthFindingId/v1":"8a0b1e70edd3adf25a05349ac30b99d645677abd72f151bce4529f9ff9fd5e31"}},{"ruleId":"D2","level":"warning","message":{"text":"PhluxEditController.handleRequest (cognitive 33): PhluxEditController.handleRequest has cognitive complexity 33 (threshold 15). Drivers by points: if/else 27, error handling 3, boolean chains 2, ternaries 1 (nesting depth added 12). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phlux/controller/PhluxEditController.php"},"region":{"startLine":5}}}],"partialFingerprints":{"codehealthFindingId/v1":"9914e6bb9eaba16034a10a33007de9d57e65caa5605ba5c4edb9f227f6ca2c89"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorPhortuneManagementInvoiceWorkflow.execute (cognitive 33): PhabricatorPhortuneManagementInvoiceWorkflow.execute has cognitive complexity 33 (threshold 15). Drivers by points: if/else 25, boolean chains 7, ternaries 1 (nesting depth added 11). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phortune/management/PhabricatorPhortuneManagementInvoiceWorkflow.php"},"region":{"startLine":49}}}],"partialFingerprints":{"codehealthFindingId/v1":"d68dd7741b6945864d1b79316330aceecfbc0fbc6db3dafe541dfcc8e74e8187"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorRepositorySvnCommitChangeParserWorker.parseRecursiveListFileData (cognitive 33): PhabricatorRepositorySvnCommitChangeParserWorker.parseRecursiveListFileData has cognitive complexity 33 (threshold 15). Drivers by points: if/else 30, match/switch 2, loops 1 (nesting depth added 19). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/worker/commitchangeparser/PhabricatorRepositorySvnCommitChangeParserWorker.php"},"region":{"startLine":676}}}],"partialFingerprints":{"codehealthFindingId/v1":"1d8af2e32adb970ae12914cba2401138031b89b1bf9113cd1cc119f826901690"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorApplicationSearchController.newQueryListView (cognitive 33): PhabricatorApplicationSearchController.newQueryListView has cognitive complexity 33 (threshold 15). Drivers by points: if/else 31, boolean chains 1, loops 1 (nesting depth added 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/search/controller/PhabricatorApplicationSearchController.php"},"region":{"startLine":621}}}],"partialFingerprints":{"codehealthFindingId/v1":"0d54f307bfef215e8d9230bec6101cb6683c9b0b299048c47f705a4b7609e536"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorFerretFulltextEngineExtension.indexFulltextObject (cognitive 33): PhabricatorFerretFulltextEngineExtension.indexFulltextObject has cognitive complexity 33 (threshold 15). Drivers by points: if/else 21, loops 6, match/switch 4, error handling 2 (nesting depth added 12). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/search/engineextension/PhabricatorFerretFulltextEngineExtension.php"},"region":{"startLine":19}}}],"partialFingerprints":{"codehealthFindingId/v1":"c5b847bf4b2c670f3e7864b9c3906df72bab301c76ff8c9c37e42cb6dfffd348"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorDatabaseRef.queryRefs (cognitive 33): PhabricatorDatabaseRef.queryRefs has cognitive complexity 33 (threshold 15). Drivers by points: if/else 24, error handling 6, boolean chains 2, loops 1 (nesting depth added 18). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/cluster/PhabricatorDatabaseRef.php"},"region":{"startLine":342}}}],"partialFingerprints":{"codehealthFindingId/v1":"865d5baf87c0355d771b2bbc4f3f02c75d3d13e21f22d478196bc24e14b9a927"}},{"ruleId":"D2","level":"warning","message":{"text":"PhutilRemarkupListBlockRule.getMatchingLineCount (cognitive 33): PhutilRemarkupListBlockRule.getMatchingLineCount has cognitive complexity 33 (threshold 15). Drivers by points: if/else 28, boolean chains 4, loops 1 (nesting depth added 17). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/markup/blockrule/PhutilRemarkupListBlockRule.php"},"region":{"startLine":13}}}],"partialFingerprints":{"codehealthFindingId/v1":"bf8becdf93d94ba89c7f23af116794619138748f2d8646679d10698c784cfbaa"}},{"ruleId":"D2","level":"warning","message":{"text":"_getFragmentLocation (cognitive 33): _getFragmentLocation has cognitive complexity 33 (threshold 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"webroot/rsrc/js/application/diff/DiffChangesetList.js"},"region":{"startLine":2643}}}],"partialFingerprints":{"codehealthFindingId/v1":"ad2e8a74695ffcf55995ec3bdc9ad717946f3ec271c6037bd6ec8fb93e731762"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialRevisionViewController.getOldDiffID (cognitive 32): DifferentialRevisionViewController.getOldDiffID has cognitive complexity 32 (threshold 15). Drivers by points: if/else 24, loops 7, boolean chains 1 (nesting depth added 18). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/controller/DifferentialRevisionViewController.php"},"region":{"startLine":1321}}}],"partialFingerprints":{"codehealthFindingId/v1":"a16630b1171eaff731efd06cce486e4dd9efe617ec4a178ad00d68fe03639764"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialLocalCommitsView.render (cognitive 32): DifferentialLocalCommitsView.render has cognitive complexity 32 (threshold 15). Drivers by points: if/else 27, loops 4, boolean chains 1 (nesting depth added 12). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/view/DifferentialLocalCommitsView.php"},"region":{"startLine":19}}}],"partialFingerprints":{"codehealthFindingId/v1":"8bc93f0e58c6bc942e1de38a04386b7aa82948cc6f3ff2c9adfb8a72d5ba711c"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorFilesManagementMigrateWorkflow.execute (cognitive 32): PhabricatorFilesManagementMigrateWorkflow.execute has cognitive complexity 32 (threshold 15). Drivers by points: if/else 25, error handling 4, boolean chains 2, loops 1 (nesting depth added 12). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/files/management/PhabricatorFilesManagementMigrateWorkflow.php"},"region":{"startLine":57}}}],"partialFingerprints":{"codehealthFindingId/v1":"d8afe70e5c472527f248a7286b35868af571b46a9bf81beedf417d63281e5c0c"}},{"ruleId":"D2","level":"warning","message":{"text":"ManiphestTaskQuery.buildWhereClauseParts (cognitive 32): ManiphestTaskQuery.buildWhereClauseParts has cognitive complexity 32 (threshold 15). Drivers by points: if/else 25, loops 7 (nesting depth added 9). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/maniphest/query/ManiphestTaskQuery.php"},"region":{"startLine":354}}}],"partialFingerprints":{"codehealthFindingId/v1":"e29d6073f23d7f5e411aad6c60d8c69d5846062b32fee78add9782413f098ab4"}},{"ruleId":"D2","level":"warning","message":{"text":"PhutilDaemonOverseer.run (cognitive 32): PhutilDaemonOverseer.run has cognitive complexity 32 (threshold 15). Drivers by points: if/else 28, loops 3, boolean chains 1 (nesting depth added 19). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/daemon/PhutilDaemonOverseer.php"},"region":{"startLine":162}}}],"partialFingerprints":{"codehealthFindingId/v1":"a82f99a7f86491bcee71baf62e8dff6427fb1437487edb31f9cda059ceda1b7d"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorTaskmasterDaemon.run (cognitive 32): PhabricatorTaskmasterDaemon.run has cognitive complexity 32 (threshold 15). Drivers by points: if/else 28, loops 4 (nesting depth added 20). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/daemon/workers/PhabricatorTaskmasterDaemon.php"},"region":{"startLine":5}}}],"partialFingerprints":{"codehealthFindingId/v1":"ec93bc5d22e7feafcec1dda0e60237aea34ff07a696de9f1402ee5e2301acb4f"}},{"ruleId":"D2","level":"warning","message":{"text":"PhutilRemarkupBlockRule.renderRemarkupTable (cognitive 32): PhutilRemarkupBlockRule.renderRemarkupTable has cognitive complexity 32 (threshold 15). Drivers by points: loops 17, if/else 10, ternaries 5 (nesting depth added 19). To reduce it, break up the iteration: give each loop body a named function, and split a multi-phase loop into one function per phase so no single body carries the whole pipeline."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/markup/blockrule/PhutilRemarkupBlockRule.php"},"region":{"startLine":105}}}],"partialFingerprints":{"codehealthFindingId/v1":"5b823f6160aee427bd8006d6feea4b9760ce83be3f0dbe266a4f2d12ad780e1e"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorMainMenuView.render (cognitive 32): PhabricatorMainMenuView.render has cognitive complexity 32 (threshold 15). Drivers by points: if/else 24, loops 8 (nesting depth added 12). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/page/menu/PhabricatorMainMenuView.php"},"region":{"startLine":51}}}],"partialFingerprints":{"codehealthFindingId/v1":"6ba62d9e0dece452ab8fc806bbc619a13232c2a7f9a30369e1e10367f5a0bc4e"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorConduitAPIController.handleRequest (cognitive 31): PhabricatorConduitAPIController.handleRequest has cognitive complexity 31 (threshold 15). Drivers by points: if/else 25, error handling 3, boolean chains 1, match/switch 1, ternaries 1 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/conduit/controller/PhabricatorConduitAPIController.php"},"region":{"startLine":10}}}],"partialFingerprints":{"codehealthFindingId/v1":"97fe7eb1da9e5070c0df79c6c2fd4c8af39c05497e4eb5b5a0321c8ed5ea1ac2"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorBinariesSetupCheck.executeChecks (cognitive 31): PhabricatorBinariesSetupCheck.executeChecks has cognitive complexity 31 (threshold 15). Drivers by points: if/else 23, loops 4, match/switch 4 (nesting depth added 14). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/check/PhabricatorBinariesSetupCheck.php"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"1cea3c72f9526f811bfd7d47b0790139879426b9cae89526a196f4afe4c14661"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorDashboardPanelsTransaction.validateTransactions (cognitive 31): PhabricatorDashboardPanelsTransaction.validateTransactions has cognitive complexity 31 (threshold 15). Drivers by points: if/else 22, loops 6, error handling 3 (nesting depth added 19). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/dashboard/xaction/dashboard/PhabricatorDashboardPanelsTransaction.php"},"region":{"startLine":22}}}],"partialFingerprints":{"codehealthFindingId/v1":"999bf1e9c90801bac8c80e3d9b80da2f29931a6162441dcb45bc5f80133d5e03"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialCommitMessageParser.parseCorpus (cognitive 31): DifferentialCommitMessageParser.parseCorpus has cognitive complexity 31 (threshold 15). Drivers by points: if/else 23, loops 5, boolean chains 3 (nesting depth added 13). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/parser/DifferentialCommitMessageParser.php"},"region":{"startLine":136}}}],"partialFingerprints":{"codehealthFindingId/v1":"5a8935ccadf5250fc38217c79f7eef893c18d179470d22f6de646a9473856ed5"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialLineAdjustmentMap.mapLine (cognitive 31): DifferentialLineAdjustmentMap.mapLine has cognitive complexity 31 (threshold 15). Drivers by points: if/else 25, loops 4, boolean chains 2 (nesting depth added 16). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/parser/DifferentialLineAdjustmentMap.php"},"region":{"startLine":65}}}],"partialFingerprints":{"codehealthFindingId/v1":"5a22f26e93dc3e9bbf9f53f1cbe8cb03adb766033b94c4077af853f05aa905be"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionLintSaveRunner.run (cognitive 31): DiffusionLintSaveRunner.run has cognitive complexity 31 (threshold 15). Drivers by points: if/else 26, error handling 2, ternaries 2, loops 1 (nesting depth added 11). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/DiffusionLintSaveRunner.php"},"region":{"startLine":45}}}],"partialFingerprints":{"codehealthFindingId/v1":"7a52d437706f039d87cc466fee04a8e6685be3b903a16bcae8d51b7419f4fa6d"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionRepositoryURIViewController.buildPropertySection (cognitive 31): DiffusionRepositoryURIViewController.buildPropertySection has cognitive complexity 31 (threshold 15). Drivers by points: if/else 31 (nesting depth added 17). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/controller/DiffusionRepositoryURIViewController.php"},"region":{"startLine":178}}}],"partialFingerprints":{"codehealthFindingId/v1":"5b33f8d613640f25c6d89945a5810448fbd66ab4199fde9f8528f5497c3d73e6"}},{"ruleId":"D2","level":"warning","message":{"text":"HeraldEngine.isForbidden (cognitive 31): HeraldEngine.isForbidden has cognitive complexity 31 (threshold 15). Drivers by points: if/else 17, loops 8, error handling 6 (nesting depth added 18). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/herald/engine/HeraldEngine.php"},"region":{"startLine":790}}}],"partialFingerprints":{"codehealthFindingId/v1":"6dac25b9e9fead95da60924c098e3542971fef56d8f8bd2c11292508807805b7"}},{"ruleId":"D2","level":"warning","message":{"text":"LegalpadDocumentSignatureAddController.handleRequest (cognitive 31): LegalpadDocumentSignatureAddController.handleRequest has cognitive complexity 31 (threshold 15). Drivers by points: if/else 31 (nesting depth added 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/legalpad/controller/LegalpadDocumentSignatureAddController.php"},"region":{"startLine":5}}}],"partialFingerprints":{"codehealthFindingId/v1":"c1324ab83738c00ecd885bf0cfbe1732d7ed7134ba42355d551a2b245642b03f"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorLipsumGenerateWorkflow.execute (cognitive 31): PhabricatorLipsumGenerateWorkflow.execute has cognitive complexity 31 (threshold 15). Drivers by points: if/else 23, loops 8 (nesting depth added 16). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/lipsum/management/PhabricatorLipsumGenerateWorkflow.php"},"region":{"startLine":31}}}],"partialFingerprints":{"codehealthFindingId/v1":"36d8e6ee02d697a10747bafbf280f0cd0f5182dd013b973553a1f72ce90f84f3"}},{"ruleId":"D2","level":"warning","message":{"text":"ManiphestTaskStatus.validateConfiguration (cognitive 31): ManiphestTaskStatus.validateConfiguration has cognitive complexity 31 (threshold 15). Drivers by points: if/else 23, loops 4, boolean chains 2, match/switch 2 (nesting depth added 14). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/maniphest/constants/ManiphestTaskStatus.php"},"region":{"startLine":261}}}],"partialFingerprints":{"codehealthFindingId/v1":"edbd5847c33265552d137cf425c0b6b6ab14c3b3f175a25c17022d0ae8237010"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorPeopleSearchEngine.renderResultList (cognitive 31): PhabricatorPeopleSearchEngine.renderResultList has cognitive complexity 31 (threshold 15). Drivers by points: if/else 28, boolean chains 2, loops 1 (nesting depth added 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/people/query/PhabricatorPeopleSearchEngine.php"},"region":{"startLine":233}}}],"partialFingerprints":{"codehealthFindingId/v1":"98be46ef26fa8424887e0008e96cbe64ea16a06934962082e4a09d7cfd9f9a79"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorPeopleDatasource.loadResults (cognitive 31): PhabricatorPeopleDatasource.loadResults has cognitive complexity 31 (threshold 15). Drivers by points: if/else 29, boolean chains 1, loops 1 (nesting depth added 14). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/people/typeahead/PhabricatorPeopleDatasource.php"},"region":{"startLine":18}}}],"partialFingerprints":{"codehealthFindingId/v1":"1c6cb7dcafeedecfe9c8a63804b657dfd31eccccb87fe0670c19af80d9682762"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorProjectBoardReorderController.handleRequest (cognitive 31): PhabricatorProjectBoardReorderController.handleRequest has cognitive complexity 31 (threshold 15). Drivers by points: if/else 24, loops 5, boolean chains 2 (nesting depth added 14). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/controller/PhabricatorProjectBoardReorderController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"1f795f3db238d337ec5e195b58dc5d5f3fb296a53989ac93b8dc758438e0b57b"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorProjectQuery.buildWhereClauseParts (cognitive 31): PhabricatorProjectQuery.buildWhereClauseParts has cognitive complexity 31 (threshold 15). Drivers by points: if/else 25, loops 4, match/switch 2 (nesting depth added 5). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/query/PhabricatorProjectQuery.php"},"region":{"startLine":457}}}],"partialFingerprints":{"codehealthFindingId/v1":"2983e0c808ddb520bf26d8c383cd95db48be946cb9f5dbb43298e2f9344cf1ac"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorSearchResultView.emboldenQuery (cognitive 31): PhabricatorSearchResultView.emboldenQuery has cognitive complexity 31 (threshold 15). Drivers by points: if/else 22, loops 7, match/switch 2 (nesting depth added 11). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/search/view/PhabricatorSearchResultView.php"},"region":{"startLine":59}}}],"partialFingerprints":{"codehealthFindingId/v1":"8885f21072deb1011a130e37b307a97298d95242e0365f873a2395dd12adfd9b"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorApplicationTransactionEditor.mergePHIDOrEdgeTransactions (cognitive 31): PhabricatorApplicationTransactionEditor.mergePHIDOrEdgeTransactions has cognitive complexity 31 (threshold 15). Drivers by points: if/else 26, loops 5 (nesting depth added 20). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php"},"region":{"startLine":2481}}}],"partialFingerprints":{"codehealthFindingId/v1":"ba149b546a7c9da4b9f38cc43378a8a724beb39e0cce6163a29293592924e5a3"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorJavelinLinter.lintPath (cognitive 31): PhabricatorJavelinLinter.lintPath has cognitive complexity 31 (threshold 15). Drivers by points: if/else 22, loops 7, boolean chains 2 (nesting depth added 12). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/lint/linter/PhabricatorJavelinLinter.php"},"region":{"startLine":104}}}],"partialFingerprints":{"codehealthFindingId/v1":"e31b4cbc65521f54294e9e0d97ffec783c375372ccd40139defa7a5baccfd3f8"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorManagementWorkflow.loadUsersFromArguments (cognitive 31): PhabricatorManagementWorkflow.loadUsersFromArguments has cognitive complexity 31 (threshold 15). Drivers by points: if/else 17, loops 13, boolean chains 1 (nesting depth added 13). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/management/PhabricatorManagementWorkflow.php"},"region":{"startLine":70}}}],"partialFingerprints":{"codehealthFindingId/v1":"1a2b6b618844853e4a8a28bd2f48c5ef83e4237de3c6a220eac85ace831e847b"}},{"ruleId":"D2","level":"warning","message":{"text":"PhutilXHPASTSyntaxHighlighterFuture.findInterestingSymbols (cognitive 31): PhutilXHPASTSyntaxHighlighterFuture.findInterestingSymbols has cognitive complexity 31 (threshold 15). Drivers by points: loops 15, if/else 14, boolean chains 2 (nesting depth added 15). To reduce it, break up the iteration: give each loop body a named function, and split a multi-phase loop into one function per phase so no single body carries the whole pipeline."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/markup/syntax/highlighter/xhpast/PhutilXHPASTSyntaxHighlighterFuture.php"},"region":{"startLine":164}}}],"partialFingerprints":{"codehealthFindingId/v1":"e7d865f904075a95099b61267065030a7ba56521cffbfb257ff9ba981ad0e794"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorCursorPagedPolicyAwareQuery.buildEdgeLogicWhereClause (cognitive 31): PhabricatorCursorPagedPolicyAwareQuery.buildEdgeLogicWhereClause has cognitive complexity 31 (threshold 15). Drivers by points: if/else 15, loops 12, match/switch 3, boolean chains 1 (nesting depth added 19). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/query/policy/PhabricatorCursorPagedPolicyAwareQuery.php"},"region":{"startLine":2814}}}],"partialFingerprints":{"codehealthFindingId/v1":"186b7714f0cc5fb18dc02247464f19dd1d6be90ba034f5176031da47b87cd856"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorSourceCodeView.render (cognitive 31): PhabricatorSourceCodeView.render has cognitive complexity 31 (threshold 15). Drivers by points: if/else 28, loops 3 (nesting depth added 13). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/layout/PhabricatorSourceCodeView.php"},"region":{"startLine":72}}}],"partialFingerprints":{"codehealthFindingId/v1":"3cfd7b6f4421c589b89da92a687211f1c20c07ec2498e752c519b4d3d6797e74"}},{"ruleId":"D2","level":"warning","message":{"text":"PHPMailer.SmtpConnect (cognitive 30): PHPMailer.SmtpConnect has cognitive complexity 30 (threshold 15). Drivers by points: if/else 22, ternaries 5, boolean chains 1, error handling 1, loops 1 (nesting depth added 16). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"externals/phpmailer/class.phpmailer.php"},"region":{"startLine":756}}}],"partialFingerprints":{"codehealthFindingId/v1":"10c1c55e16d8b4fee5e2192358fb004a9fae9dd92117c6ca479fbd639a262846"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorCalendarEventViewController.buildPropertySection (cognitive 30): PhabricatorCalendarEventViewController.buildPropertySection has cognitive complexity 30 (threshold 15). Drivers by points: if/else 25, loops 5 (nesting depth added 16). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/controller/PhabricatorCalendarEventViewController.php"},"region":{"startLine":275}}}],"partialFingerprints":{"codehealthFindingId/v1":"351e1021104d0df2c614a2bb09695da2aeb450bf7a53e655dddc14c11b7d64f9"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorConfigManagementSetWorkflow.execute (cognitive 30): PhabricatorConfigManagementSetWorkflow.execute has cognitive complexity 30 (threshold 15). Drivers by points: if/else 18, match/switch 6, error handling 5, boolean chains 1 (nesting depth added 11). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/management/PhabricatorConfigManagementSetWorkflow.php"},"region":{"startLine":32}}}],"partialFingerprints":{"codehealthFindingId/v1":"9520359fb0b5e75320f8a1bb7ce2e77d4b3567e333aa18d734fa08fe0d76374d"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorDashboardObjectInstallWorkflow.handleRequest (cognitive 30): PhabricatorDashboardObjectInstallWorkflow.handleRequest has cognitive complexity 30 (threshold 15). Drivers by points: if/else 28, boolean chains 2 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/dashboard/install/PhabricatorDashboardObjectInstallWorkflow.php"},"region":{"startLine":10}}}],"partialFingerprints":{"codehealthFindingId/v1":"fe4d06f4ae766e238b9cf1444df5c8c90cf2165277e2ee211a5637d7bed34e0f"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialQueryConduitAPIMethod.execute (cognitive 30): DifferentialQueryConduitAPIMethod.execute has cognitive complexity 30 (threshold 15). Drivers by points: if/else 25, loops 3, boolean chains 2 (nesting depth added 6). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/conduit/DifferentialQueryConduitAPIMethod.php"},"region":{"startLine":65}}}],"partialFingerprints":{"codehealthFindingId/v1":"3d7f85530255b027f0bba688d9321cb8a3e5d52c2c491091ebea75650d806d5f"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialTransactionEditor.expandTransaction (cognitive 30): DifferentialTransactionEditor.expandTransaction has cognitive complexity 30 (threshold 15). Drivers by points: if/else 24, match/switch 5, boolean chains 1 (nesting depth added 14). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/editor/DifferentialTransactionEditor.php"},"region":{"startLine":152}}}],"partialFingerprints":{"codehealthFindingId/v1":"e802ad392726129a3d36e1b8ee47e5e125d87569d5f8355d47a951064bd1d638"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialDiffExtractionEngine.isDiffChangedBeforeCommit (cognitive 30): DifferentialDiffExtractionEngine.isDiffChangedBeforeCommit has cognitive complexity 30 (threshold 15). Drivers by points: if/else 22, loops 4, error handling 3, boolean chains 1 (nesting depth added 14). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/engine/DifferentialDiffExtractionEngine.php"},"region":{"startLine":119}}}],"partialFingerprints":{"codehealthFindingId/v1":"d2f35d32fa50e364bb69ebcb2bd1cd77a9cea62bb7ffd9ad57baa70e1425d39b"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionLocalRepositoryFilter.execute (cognitive 30): DiffusionLocalRepositoryFilter.execute has cognitive complexity 30 (threshold 15). Drivers by points: if/else 26, loops 4 (nesting depth added 14). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/data/DiffusionLocalRepositoryFilter.php"},"region":{"startLine":50}}}],"partialFingerprints":{"codehealthFindingId/v1":"45152a74c988da1cbf0a4d61f9a79dcd68481b0e363fd8ae1d1590214fabda8b"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorFactDatapointQuery.execute (cognitive 30): PhabricatorFactDatapointQuery.execute has cognitive complexity 30 (threshold 15). Drivers by points: if/else 23, loops 6, boolean chains 1 (nesting depth added 13). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/fact/query/PhabricatorFactDatapointQuery.php"},"region":{"startLine":34}}}],"partialFingerprints":{"codehealthFindingId/v1":"208c2470c97cbfbe01d4c8f8b95d9a6626960d2bc71f0643bd15c402f715ac58"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorPeopleQuery.fillUserCaches (cognitive 30): PhabricatorPeopleQuery.fillUserCaches has cognitive complexity 30 (threshold 15). Drivers by points: if/else 18, loops 10, boolean chains 2 (nesting depth added 12). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/people/query/PhabricatorPeopleQuery.php"},"region":{"startLine":514}}}],"partialFingerprints":{"codehealthFindingId/v1":"d06fea273ac59bab57e5bfce95913fe75ac64973e019c6bfc6f70e1528ccf1dd"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorRepositoryPullEngine.executeGitUpdate (cognitive 30): PhabricatorRepositoryPullEngine.executeGitUpdate has cognitive complexity 30 (threshold 15). Drivers by points: if/else 26, loops 3, boolean chains 1 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/engine/PhabricatorRepositoryPullEngine.php"},"region":{"startLine":275}}}],"partialFingerprints":{"codehealthFindingId/v1":"c1007118e873ffe97b7db076b2e54cf5e11750b1b8ec0c09de720b76350852c3"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorRepositoryPushMailWorker.renderRefs (cognitive 30): PhabricatorRepositoryPushMailWorker.renderRefs has cognitive complexity 30 (threshold 15). Drivers by points: if/else 27, match/switch 2, loops 1 (nesting depth added 17). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/worker/PhabricatorRepositoryPushMailWorker.php"},"region":{"startLine":135}}}],"partialFingerprints":{"codehealthFindingId/v1":"f2f07dd7f2db53948f2d269d1995f062d83790024807b98f426830e6e025fba6"}},{"ruleId":"D2","level":"warning","message":{"text":"PhutilRemarkupLiteralBlockRule.getMatchingLineCount (cognitive 30): PhutilRemarkupLiteralBlockRule.getMatchingLineCount has cognitive complexity 30 (threshold 15). Drivers by points: if/else 28, boolean chains 1, loops 1 (nesting depth added 17). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/markup/blockrule/PhutilRemarkupLiteralBlockRule.php"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"810b94215b7ba7e3392d154261a00c065efada9a127f4c7c7a5abcbb858e58cd"}},{"ruleId":"D2","level":"warning","message":{"text":"PHUITimelineEventView.renderExtra (cognitive 30): PHUITimelineEventView.renderExtra has cognitive complexity 30 (threshold 15). Drivers by points: if/else 26, loops 4 (nesting depth added 16). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/phui/PHUITimelineEventView.php"},"region":{"startLine":560}}}],"partialFingerprints":{"codehealthFindingId/v1":"b3f2c634f241e460818a3ef11d8c03729bae01e83f70a08f2eacac31fe1ead8f"}},{"ruleId":"D2","level":"warning","message":{"text":"getSelectableItems (cognitive 30): getSelectableItems has cognitive complexity 30 (threshold 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"webroot/rsrc/js/application/diff/DiffChangeset.js"},"region":{"startLine":435}}}],"partialFingerprints":{"codehealthFindingId/v1":"4f1e8b4f2801f0b05982077595bc9cea2ba1580c286cc49deff93b07403b3b59"}},{"ruleId":"D2","level":"warning","message":{"text":"Text_Figlet._rep (cognitive 29): Text_Figlet._rep has cognitive complexity 29 (threshold 15). Drivers by points: if/else 19, boolean chains 6, ternaries 4 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"externals/pear-figlet/Text/Figlet.php"},"region":{"startLine":390}}}],"partialFingerprints":{"codehealthFindingId/v1":"c917be5470095a11cd8ce6b14c8cf6fca424b08f336d0ad1e26521c942f8da83"}},{"ruleId":"D2","level":"warning","message":{"text":"PHPMailerLite.EncodeQPphp (cognitive 29): PHPMailerLite.EncodeQPphp has cognitive complexity 29 (threshold 15). Drivers by points: if/else 23, boolean chains 3, loops 3 (nesting depth added 17). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"externals/phpmailer/class.phpmailer-lite.php"},"region":{"startLine":1489}}}],"partialFingerprints":{"codehealthFindingId/v1":"068ebaf0d027ab65571cd40747d152395f323ac7245e8643efb58897cec78d1a"}},{"ruleId":"D2","level":"warning","message":{"text":"PHPMailer.EncodeQPphp (cognitive 29): PHPMailer.EncodeQPphp has cognitive complexity 29 (threshold 15). Drivers by points: if/else 23, boolean chains 3, loops 3 (nesting depth added 17). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"externals/phpmailer/class.phpmailer.php"},"region":{"startLine":1621}}}],"partialFingerprints":{"codehealthFindingId/v1":"7903ddbd47ea711b96f49087acbfee2893efb15426077030d990c408f719baa4"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorAuthPasswordEngine.checkNewPassword (cognitive 29): PhabricatorAuthPasswordEngine.checkNewPassword has cognitive complexity 29 (threshold 15). Drivers by points: if/else 21, loops 7, boolean chains 1 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/engine/PhabricatorAuthPasswordEngine.php"},"region":{"startLine":57}}}],"partialFingerprints":{"codehealthFindingId/v1":"665da476e4736729ccfac5916dd46ed4b676c80a8cc4ab469c51609d6700052f"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorPasswordAuthProvider.processLoginRequest (cognitive 29): PhabricatorPasswordAuthProvider.processLoginRequest has cognitive complexity 29 (threshold 15). Drivers by points: if/else 23, ternaries 3, error handling 2, boolean chains 1 (nesting depth added 17). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/provider/PhabricatorPasswordAuthProvider.php"},"region":{"startLine":251}}}],"partialFingerprints":{"codehealthFindingId/v1":"f2089a38de9e1aff74991e67e319598e5472fe5f42c010312f9305315df63a73"}},{"ruleId":"D2","level":"warning","message":{"text":"PhutilCalendarRecurrenceRule.advanceCursorState (cognitive 29): PhutilCalendarRecurrenceRule.advanceCursorState has cognitive complexity 29 (threshold 15). Drivers by points: if/else 13, loops 10, match/switch 6 (nesting depth added 16). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/parser/data/PhutilCalendarRecurrenceRule.php"},"region":{"startLine":1685}}}],"partialFingerprints":{"codehealthFindingId/v1":"f0b1681e0626100b510348e76b63582c2bc8d1833a1490ad6a1ece89d7e067fe"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorConduitMethodQuery.filterMethods (cognitive 29): PhabricatorConduitMethodQuery.filterMethods has cognitive complexity 29 (threshold 15). Drivers by points: if/else 20, loops 9 (nesting depth added 14). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/conduit/query/PhabricatorConduitMethodQuery.php"},"region":{"startLine":57}}}],"partialFingerprints":{"codehealthFindingId/v1":"4ae7656458f6875e597a45f9410a0627339a1972a424da757d1a5da72459910c"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorDashboardPanelTabsController.handleMoveOperation (cognitive 29): PhabricatorDashboardPanelTabsController.handleMoveOperation has cognitive complexity 29 (threshold 15). Drivers by points: if/else 24, boolean chains 3, loops 2 (nesting depth added 13). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/dashboard/controller/panel/PhabricatorDashboardPanelTabsController.php"},"region":{"startLine":301}}}],"partialFingerprints":{"codehealthFindingId/v1":"41322cdfa16e98422979aebdf2e1b72a81081074e51e6b977a7321d74655251d"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionGitUploadPackWireProtocol.newProtocolRefMessage (cognitive 29): DiffusionGitUploadPackWireProtocol.newProtocolRefMessage has cognitive complexity 29 (threshold 15). Drivers by points: if/else 26, loops 3 (nesting depth added 11). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/protocol/DiffusionGitUploadPackWireProtocol.php"},"region":{"startLine":165}}}],"partialFingerprints":{"codehealthFindingId/v1":"8b7e9d042b7641875334ba4f5d07cb586a10d57d62479106d5204e3965371740"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionLowLevelGitRefQuery.executeQuery (cognitive 29): DiffusionLowLevelGitRefQuery.executeQuery has cognitive complexity 29 (threshold 15). Drivers by points: if/else 27, boolean chains 1, loops 1 (nesting depth added 11). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/query/lowlevel/DiffusionLowLevelGitRefQuery.php"},"region":{"startLine":16}}}],"partialFingerprints":{"codehealthFindingId/v1":"384e07ef663127c687b58e0aa5169acb81ec11b6dc3802b72128d6365b95df78"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionSourceLinkRemarkupRule.didMarkupText (cognitive 29): DiffusionSourceLinkRemarkupRule.didMarkupText has cognitive complexity 29 (threshold 15). Drivers by points: if/else 25, loops 4 (nesting depth added 12). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/remarkup/DiffusionSourceLinkRemarkupRule.php"},"region":{"startLine":46}}}],"partialFingerprints":{"codehealthFindingId/v1":"8e3fa5d32efdf0072584171aaa72f7dff486b20b055f2568da2f37d744baabd2"}},{"ruleId":"D2","level":"warning","message":{"text":"HeraldAction.loadStandardTargets (cognitive 29): HeraldAction.loadStandardTargets has cognitive complexity 29 (threshold 15). Drivers by points: if/else 23, loops 5, boolean chains 1 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/herald/action/HeraldAction.php"},"region":{"startLine":206}}}],"partialFingerprints":{"codehealthFindingId/v1":"e6e498f7047112567db68705dc972442b8195683b0a80d0ffad5f9199a33208a"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorApplicationEditController.handleRequest (cognitive 29): PhabricatorApplicationEditController.handleRequest has cognitive complexity 29 (threshold 15). Drivers by points: if/else 23, loops 3, error handling 2, boolean chains 1 (nesting depth added 16). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/meta/controller/PhabricatorApplicationEditController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"3e9bdd45aad7b088b1ccbd258c8a47d5101186666c7404eb14d80635325a1e53"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorMailReplyHandler.expandRecipientPHIDs (cognitive 29): PhabricatorMailReplyHandler.expandRecipientPHIDs has cognitive complexity 29 (threshold 15). Drivers by points: if/else 19, loops 10 (nesting depth added 20). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/metamta/replyhandler/PhabricatorMailReplyHandler.php"},"region":{"startLine":281}}}],"partialFingerprints":{"codehealthFindingId/v1":"d4ed2a446ff8efa1e680b013727a902b6a0b3e78206eb4af8075cf9c804692ab"}},{"ruleId":"D2","level":"warning","message":{"text":"PhrictionRemarkupRule.markupDocumentLink (cognitive 29): PhrictionRemarkupRule.markupDocumentLink has cognitive complexity 29 (threshold 15). Drivers by points: if/else 25, loops 3, boolean chains 1 (nesting depth added 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phriction/markup/PhrictionRemarkupRule.php"},"region":{"startLine":18}}}],"partialFingerprints":{"codehealthFindingId/v1":"daacec146710feb6bbe01ed4dea5a8ed3fcb75ce323f25f2ac7dc9509760bdb5"}},{"ruleId":"D2","level":"warning","message":{"text":"PhutilDaemonHandle.update (cognitive 29): PhutilDaemonHandle.update has cognitive complexity 29 (threshold 15). Drivers by points: if/else 21, error handling 4, boolean chains 2, loops 2 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/daemon/PhutilDaemonHandle.php"},"region":{"startLine":136}}}],"partialFingerprints":{"codehealthFindingId/v1":"6e9921ee0de799c4709ec73b15ac65d0c5f6951f1497bf248aa7d5937b8cfbf5"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorObjectGraph.newGraphTable (cognitive 29): PhabricatorObjectGraph.newGraphTable has cognitive complexity 29 (threshold 15). Drivers by points: if/else 21, loops 8 (nesting depth added 14). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/graph/PhabricatorObjectGraph.php"},"region":{"startLine":163}}}],"partialFingerprints":{"codehealthFindingId/v1":"5d23e3e15908d4f4d1efcdff848f952439395edb5a0d51b959ce62cad16f65f9"}},{"ruleId":"D2","level":"warning","message":{"text":"markup.javelin_tag (cognitive 29): markup.javelin_tag has cognitive complexity 29 (threshold 15). Drivers by points: if/else 22, match/switch 3, boolean chains 2, loops 2 (nesting depth added 14). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/javelin/markup.php"},"region":{"startLine":3}}}],"partialFingerprints":{"codehealthFindingId/v1":"3a587303097b863e466e0d6032e1ed654488b9c295afe4188ea8e9849933e11f"}},{"ruleId":"D2","level":"warning","message":{"text":"PhutilRemarkupEngine.splitTextIntoBlocks (cognitive 29): PhutilRemarkupEngine.splitTextIntoBlocks has cognitive complexity 29 (threshold 15). Drivers by points: if/else 19, loops 9, boolean chains 1 (nesting depth added 14). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/markup/remarkup/PhutilRemarkupEngine.php"},"region":{"startLine":156}}}],"partialFingerprints":{"codehealthFindingId/v1":"519c6a55be3ace2b206af0dad46473f1e8308dd0adf5dc84ace53545c66dd03b"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorCursorPagedPolicyAwareQuery.validateEdgeLogicConstraints (cognitive 29): PhabricatorCursorPagedPolicyAwareQuery.validateEdgeLogicConstraints has cognitive complexity 29 (threshold 15). Drivers by points: if/else 13, loops 8, match/switch 6, boolean chains 2 (nesting depth added 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/query/policy/PhabricatorCursorPagedPolicyAwareQuery.php"},"region":{"startLine":3000}}}],"partialFingerprints":{"codehealthFindingId/v1":"3291d2ae1925691121e408baf9d5b9e8a2ae004cefc83c466ba9e663f8b095b1"}},{"ruleId":"D2","level":"warning","message":{"text":"PHUIObjectBoxView.getTagContent (cognitive 29): PHUIObjectBoxView.getTagContent has cognitive complexity 29 (threshold 15). Drivers by points: if/else 18, ternaries 6, loops 4, boolean chains 1 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/phui/PHUIObjectBoxView.php"},"region":{"startLine":181}}}],"partialFingerprints":{"codehealthFindingId/v1":"97393ac413e02f4583fb1691ad8349348f2c06e1041b7f20605b9438c89c5dd9"}},{"ruleId":"D2","level":"warning","message":{"text":"PHUIPagerView.render (cognitive 29): PHUIPagerView.render has cognitive complexity 29 (threshold 15). Drivers by points: if/else 22, loops 4, ternaries 2, boolean chains 1 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/phui/PHUIPagerView.php"},"region":{"startLine":119}}}],"partialFingerprints":{"codehealthFindingId/v1":"6a827087a5523a9c2fc9be0ef2edb09e977517ef306f824964d1ad42575acded"}},{"ruleId":"D2","level":"warning","message":{"text":"PHUITimelineView.buildEvents (cognitive 29): PHUITimelineView.buildEvents has cognitive complexity 29 (threshold 15). Drivers by points: if/else 25, match/switch 2, boolean chains 1, loops 1 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/phui/PHUITimelineView.php"},"region":{"startLine":101}}}],"partialFingerprints":{"codehealthFindingId/v1":"f0abc3d4c8660c1ad77c45f928c67adae8b62ed426fb8b2f1e742dcee8c11a5c"}},{"ruleId":"D2","level":"warning","message":{"text":"xhprof_lib.xhprof_prune_run (cognitive 28): xhprof_lib.xhprof_prune_run has cognitive complexity 28 (threshold 15). Drivers by points: if/else 19, loops 7, boolean chains 2 (nesting depth added 12). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"externals/xhprof/xhprof_lib.php"},"region":{"startLine":563}}}],"partialFingerprints":{"codehealthFindingId/v1":"66fafb06ec45b7db63f4ffbf52e672e96ca91e374e96875f5eaff4d51c573abd"}},{"ruleId":"D2","level":"warning","message":{"text":"AphrontHTTPHeaderParser.getHeaderContentAsPairs (cognitive 28): AphrontHTTPHeaderParser.getHeaderContentAsPairs has cognitive complexity 28 (threshold 15). Drivers by points: if/else 23, boolean chains 2, match/switch 2, loops 1 (nesting depth added 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/aphront/headerparser/AphrontHTTPHeaderParser.php"},"region":{"startLine":34}}}],"partialFingerprints":{"codehealthFindingId/v1":"b729e6e4d03b3d3455ea3e246f836d258aca667012fe1302d360ae74f3aeadd3"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorPHPPreflightSetupCheck.executeChecks (cognitive 28): PhabricatorPHPPreflightSetupCheck.executeChecks has cognitive complexity 28 (threshold 15). Drivers by points: if/else 21, loops 5, boolean chains 2 (nesting depth added 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/check/PhabricatorPHPPreflightSetupCheck.php"},"region":{"startLine":13}}}],"partialFingerprints":{"codehealthFindingId/v1":"7f8de6ad15d4f81438831a9513c5d062136022d59aacd94ec479269611e92e04"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialDiffCreateController.handleRequest (cognitive 28): DifferentialDiffCreateController.handleRequest has cognitive complexity 28 (threshold 15). Drivers by points: if/else 25, error handling 3 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/controller/DifferentialDiffCreateController.php"},"region":{"startLine":5}}}],"partialFingerprints":{"codehealthFindingId/v1":"99917e468ce7bfbff7b0d35b2d2a36b58eff741ee6668a7168bfca1f1c2cf8fc"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialTransactionEditor.didApplyTransactions (cognitive 28): DifferentialTransactionEditor.didApplyTransactions has cognitive complexity 28 (threshold 15). Drivers by points: if/else 22, boolean chains 6 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/editor/DifferentialTransactionEditor.php"},"region":{"startLine":1529}}}],"partialFingerprints":{"codehealthFindingId/v1":"05c30f443f8b245717e32eb19e99d7f025b0643eb58cffb71d17a340a5989ba1"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialRevisionQuery.buildWhereClause (cognitive 28): DifferentialRevisionQuery.buildWhereClause has cognitive complexity 28 (threshold 15). Drivers by points: if/else 26, loops 2 (nesting depth added 6). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/query/DifferentialRevisionQuery.php"},"region":{"startLine":630}}}],"partialFingerprints":{"codehealthFindingId/v1":"82ad433604382a1953f56af8a23d04cc219218493b17e05dfe341d67053b5d7a"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialChangesetOneUpMailRenderer.renderPrimitives (cognitive 28): DifferentialChangesetOneUpMailRenderer.renderPrimitives has cognitive complexity 28 (threshold 15). Drivers by points: if/else 21, loops 4, match/switch 2, boolean chains 1 (nesting depth added 11). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/render/DifferentialChangesetOneUpMailRenderer.php"},"region":{"startLine":43}}}],"partialFingerprints":{"codehealthFindingId/v1":"2912c58a4fe15e193aa1678c81bed2db1260047d006b42a0eb205630b58f0549"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialRevisionReviewTransaction.isViewerReviewerStatusFully (cognitive 28): DifferentialRevisionReviewTransaction.isViewerReviewerStatusFully has cognitive complexity 28 (threshold 15). Drivers by points: if/else 27, loops 1 (nesting depth added 16). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/xaction/DifferentialRevisionReviewTransaction.php"},"region":{"startLine":97}}}],"partialFingerprints":{"codehealthFindingId/v1":"bb1f147736737b6cb89fdc986fc40e53bb0e62c2fc5b0afe947733a04647dc2b"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionBlameController.handleRequest (cognitive 28): DiffusionBlameController.handleRequest has cognitive complexity 28 (threshold 15). Drivers by points: if/else 21, loops 5, ternaries 2 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/controller/DiffusionBlameController.php"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"1853fd6fd738752819114476398c7e66b88429ccdd6eb30b30188877ff2175fe"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionCompareController.handleRequest (cognitive 28): DiffusionCompareController.handleRequest has cognitive complexity 28 (threshold 15). Drivers by points: if/else 25, boolean chains 2, error handling 1 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/controller/DiffusionCompareController.php"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"c9f7a03467a7dd243b6624c1ecfa7aea49d24c6e5502e38f96d9a9b298a0710c"}},{"ruleId":"D2","level":"warning","message":{"text":"HeraldRuleController.setupEditorBehavior (cognitive 28): HeraldRuleController.setupEditorBehavior has cognitive complexity 28 (threshold 15). Drivers by points: if/else 13, loops 11, error handling 4 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/herald/controller/HeraldRuleController.php"},"region":{"startLine":400}}}],"partialFingerprints":{"codehealthFindingId/v1":"af0cf5f7c4d8c656fe18153f502d07fbf8ac52608700c480a48aab6386f79c62"}},{"ruleId":"D2","level":"warning","message":{"text":"ManiphestTransactionEditor.getLockValidationErrors (cognitive 28): ManiphestTransactionEditor.getLockValidationErrors has cognitive complexity 28 (threshold 15). Drivers by points: if/else 23, boolean chains 2, match/switch 2, loops 1 (nesting depth added 13). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/maniphest/editor/ManiphestTransactionEditor.php"},"region":{"startLine":774}}}],"partialFingerprints":{"codehealthFindingId/v1":"7f688a7e16407839cac0a4fb1a1dd727533c8d343849396c8e6db6bfeaaeb20c"}},{"ruleId":"D2","level":"warning","message":{"text":"ManiphestTaskSearchEngine.buildQueryFromParameters (cognitive 28): ManiphestTaskSearchEngine.buildQueryFromParameters has cognitive complexity 28 (threshold 15). Drivers by points: if/else 24, boolean chains 2, loops 2 (nesting depth added 4). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/maniphest/query/ManiphestTaskSearchEngine.php"},"region":{"startLine":190}}}],"partialFingerprints":{"codehealthFindingId/v1":"b2544d24511a633b1227ec6424f4ac359ef5e1ba22629fcd8a0846394a362d19"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorRepositoryManagementRebuildIdentitiesWorkflow.execute (cognitive 28): PhabricatorRepositoryManagementRebuildIdentitiesWorkflow.execute has cognitive complexity 28 (threshold 15). Drivers by points: if/else 19, loops 5, boolean chains 4 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/management/PhabricatorRepositoryManagementRebuildIdentitiesWorkflow.php"},"region":{"startLine":63}}}],"partialFingerprints":{"codehealthFindingId/v1":"9330532e3d7a19ad1c07fad562c37b43f0eea52fd990c3c01bdd8e1e8027be81"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorRepositoryManagementUnpublishWorkflow.unpublishEdgeTransaction (cognitive 28): PhabricatorRepositoryManagementUnpublishWorkflow.unpublishEdgeTransaction has cognitive complexity 28 (threshold 15). Drivers by points: if/else 21, loops 7 (nesting depth added 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/management/PhabricatorRepositoryManagementUnpublishWorkflow.php"},"region":{"startLine":154}}}],"partialFingerprints":{"codehealthFindingId/v1":"4f6f51c2f928ca07cebdb7a32f901d284406c8cdefd935473fb7b7eff76c7655"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorRepositoryGitCommitChangeParserWorker.parseCommitChanges (cognitive 28): PhabricatorRepositoryGitCommitChangeParserWorker.parseCommitChanges has cognitive complexity 28 (threshold 15). Drivers by points: if/else 16, loops 6, match/switch 4, ternaries 2 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/worker/commitchangeparser/PhabricatorRepositoryGitCommitChangeParserWorker.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"657ae205b98ae38a7cc61bdb2b465d636b8881839b5bca155aa2e37eb3197e3e"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorApplicationTransactionView.buildEvents (cognitive 28): PhabricatorApplicationTransactionView.buildEvents has cognitive complexity 28 (threshold 15). Drivers by points: if/else 18, loops 8, boolean chains 2 (nesting depth added 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/view/PhabricatorApplicationTransactionView.php"},"region":{"startLine":129}}}],"partialFingerprints":{"codehealthFindingId/v1":"120fed2b810b413bf8e604747ec4bf9b161a93e4f26488197693e732b01b53a3"}},{"ruleId":"D2","level":"warning","message":{"text":"PhutilRemarkupTableBlockRule.newTable (cognitive 28): PhutilRemarkupTableBlockRule.newTable has cognitive complexity 28 (threshold 15). Drivers by points: if/else 20, loops 7, boolean chains 1 (nesting depth added 16). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/markup/blockrule/PhutilRemarkupTableBlockRule.php"},"region":{"startLine":63}}}],"partialFingerprints":{"codehealthFindingId/v1":"c3e2c7bfbcb01d41968209cb8ce3b88803319451a7d40b41997e3f20eee34595"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorCursorPagedPolicyAwareQuery.buildApplicationSearchJoinClause (cognitive 28): PhabricatorCursorPagedPolicyAwareQuery.buildApplicationSearchJoinClause has cognitive complexity 28 (threshold 15). Drivers by points: if/else 20, loops 5, match/switch 2, boolean chains 1 (nesting depth added 14). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/query/policy/PhabricatorCursorPagedPolicyAwareQuery.php"},"region":{"startLine":1535}}}],"partialFingerprints":{"codehealthFindingId/v1":"f9337a9fffdb6b557b1655621261e4e7cb047a799d3d0cd3f14e602d887c271d"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorRemarkupControl.renderInput (cognitive 28): PhabricatorRemarkupControl.renderInput has cognitive complexity 28 (threshold 15). Drivers by points: if/else 26, loops 1, ternaries 1 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/form/control/PhabricatorRemarkupControl.php"},"region":{"startLine":52}}}],"partialFingerprints":{"codehealthFindingId/v1":"614475b8ed3c1ff8ec293e78613e5e7b55fa0801eafb3814a30b92d2c4dba563"}},{"ruleId":"D2","level":"warning","message":{"text":"_newHoverMap (cognitive 28): _newHoverMap has cognitive complexity 28 (threshold 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"webroot/rsrc/js/application/diff/DiffChangesetList.js"},"region":{"startLine":1539}}}],"partialFingerprints":{"codehealthFindingId/v1":"ef7f61c8a59769e00a4cae01c2e699d4119413542130557ad6c2358389b93f9c"}},{"ruleId":"D2","level":"warning","message":{"text":"PHPMailerLite.MsgHTML (cognitive 27): PHPMailerLite.MsgHTML has cognitive complexity 27 (threshold 15). Drivers by points: if/else 18, ternaries 4, boolean chains 3, loops 2 (nesting depth added 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"externals/phpmailer/class.phpmailer-lite.php"},"region":{"startLine":1865}}}],"partialFingerprints":{"codehealthFindingId/v1":"4abe13808c12006ac1ec3b6c443820f28e9acc709b9f63b6a14ffc03c065391f"}},{"ruleId":"D2","level":"warning","message":{"text":"PHPMailer.MsgHTML (cognitive 27): PHPMailer.MsgHTML has cognitive complexity 27 (threshold 15). Drivers by points: if/else 18, ternaries 4, boolean chains 3, loops 2 (nesting depth added 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"externals/phpmailer/class.phpmailer.php"},"region":{"startLine":2003}}}],"partialFingerprints":{"codehealthFindingId/v1":"5e33d10e396fdb6618b14f480b100d917799b7099c55dcce62d49f8233a8b593"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionRepositoryController.handleRequest (cognitive 27): DiffusionRepositoryController.handleRequest has cognitive complexity 27 (threshold 15). Drivers by points: if/else 25, loops 2 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/controller/DiffusionRepositoryController.php"},"region":{"startLine":13}}}],"partialFingerprints":{"codehealthFindingId/v1":"80a9fa3e832150893013104215db5fc30bd9ec67c5ecd07e1331662dc21eb537"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionSymbolController.handleRequest (cognitive 27): DiffusionSymbolController.handleRequest has cognitive complexity 27 (threshold 15). Drivers by points: if/else 22, error handling 2, loops 2, boolean chains 1 (nesting depth added 6). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/controller/DiffusionSymbolController.php"},"region":{"startLine":5}}}],"partialFingerprints":{"codehealthFindingId/v1":"eb4272ad479475b41f9d7415b44e4a826a8aa08dbe072dce57fa70949d5aa175"}},{"ruleId":"D2","level":"warning","message":{"text":"DivinerSymbolRemarkupRule.didMarkupText (cognitive 27): DivinerSymbolRemarkupRule.didMarkupText has cognitive complexity 27 (threshold 15). Drivers by points: if/else 23, match/switch 3, loops 1 (nesting depth added 14). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diviner/markup/DivinerSymbolRemarkupRule.php"},"region":{"startLine":87}}}],"partialFingerprints":{"codehealthFindingId/v1":"6b98ad9c2a5e8436af2c26b83f8a15ce8b2934cd1053dd9c59d13a36345c544f"}},{"ruleId":"D2","level":"warning","message":{"text":"DoorkeeperImportEngine.execute (cognitive 27): DoorkeeperImportEngine.execute has cognitive complexity 27 (threshold 15). Drivers by points: if/else 16, loops 11 (nesting depth added 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/doorkeeper/engine/DoorkeeperImportEngine.php"},"region":{"startLine":65}}}],"partialFingerprints":{"codehealthFindingId/v1":"8df8aecadde96402f992cece8b2b7503867474f7936d588b65aa06cc23cf8f04"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorJupyterDocumentEngine.newCells (cognitive 27): PhabricatorJupyterDocumentEngine.newCells has cognitive complexity 27 (threshold 15). Drivers by points: if/else 16, loops 9, boolean chains 1, error handling 1 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/files/document/PhabricatorJupyterDocumentEngine.php"},"region":{"startLine":307}}}],"partialFingerprints":{"codehealthFindingId/v1":"3ad4dc64b4c6394a3c8cc4453e1d4c701d3f52afe69ea57c214089172a5f36ce"}},{"ruleId":"D2","level":"warning","message":{"text":"HarbormasterPlanViewController.buildArtifactList (cognitive 27): HarbormasterPlanViewController.buildArtifactList has cognitive complexity 27 (threshold 15). Drivers by points: if/else 26, loops 1 (nesting depth added 13). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/harbormaster/controller/HarbormasterPlanViewController.php"},"region":{"startLine":284}}}],"partialFingerprints":{"codehealthFindingId/v1":"b8e51328ed964375002269d6a3564300a692598b9a098c203579360fea902a6b"}},{"ruleId":"D2","level":"warning","message":{"text":"HeraldEngine.applyEffects (cognitive 27): HeraldEngine.applyEffects has cognitive complexity 27 (threshold 15). Drivers by points: if/else 16, loops 9, boolean chains 2 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/herald/engine/HeraldEngine.php"},"region":{"startLine":258}}}],"partialFingerprints":{"codehealthFindingId/v1":"245647b65342a57e92abd6e75041afcaff7aa091cc6e2e93a334e9982cd3b6fc"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorMailManagementSendTestWorkflow.execute (cognitive 27): PhabricatorMailManagementSendTestWorkflow.execute has cognitive complexity 27 (threshold 15). Drivers by points: if/else 22, loops 3, boolean chains 2 (nesting depth added 5). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/metamta/management/PhabricatorMailManagementSendTestWorkflow.php"},"region":{"startLine":72}}}],"partialFingerprints":{"codehealthFindingId/v1":"ebef789618b0ca136c65fb625651e5f241be49ccbe50c7902b6f3acddd6349ff"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorNotificationServersConfigType.validateStoredValue (cognitive 27): PhabricatorNotificationServersConfigType.validateStoredValue has cognitive complexity 27 (threshold 15). Drivers by points: if/else 17, match/switch 4, boolean chains 2, error handling 2, loops 2 (nesting depth added 12). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/notification/config/PhabricatorNotificationServersConfigType.php"},"region":{"startLine":8}}}],"partialFingerprints":{"codehealthFindingId/v1":"a7060887b7302ad094f507c10fdbdf692aa54289668e97d50efa23dcfe1fe442"}},{"ruleId":"D2","level":"warning","message":{"text":"PholioInlineController.handleRequest (cognitive 27): PholioInlineController.handleRequest has cognitive complexity 27 (threshold 15). Drivers by points: if/else 24, loops 2, match/switch 1 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/pholio/controller/PholioInlineController.php"},"region":{"startLine":5}}}],"partialFingerprints":{"codehealthFindingId/v1":"d0284639c0d1fa68628d725c59f46e847829dde0a0bbab3e6427595f612e041e"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorProjectEditController.handleRequest (cognitive 27): PhabricatorProjectEditController.handleRequest has cognitive complexity 27 (threshold 15). Drivers by points: if/else 27 (nesting depth added 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/controller/PhabricatorProjectEditController.php"},"region":{"startLine":17}}}],"partialFingerprints":{"codehealthFindingId/v1":"55cfcb0d13b16f7cd10714bdf7335e138188ac08a76a306a00315d8920da62ae"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorProjectQuery.loadSlugs (cognitive 27): PhabricatorProjectQuery.loadSlugs has cognitive complexity 27 (threshold 15). Drivers by points: if/else 22, loops 5 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/query/PhabricatorProjectQuery.php"},"region":{"startLine":799}}}],"partialFingerprints":{"codehealthFindingId/v1":"6a235c88f1357baabd43b8c1c93c448b09d6af3449a975fd6c983f8305b2b9ee"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorProjectUserListView.render (cognitive 27): PhabricatorProjectUserListView.render has cognitive complexity 27 (threshold 15). Drivers by points: if/else 19, ternaries 4, boolean chains 2, loops 2 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/view/PhabricatorProjectUserListView.php"},"region":{"startLine":55}}}],"partialFingerprints":{"codehealthFindingId/v1":"601ac8c950d6971e2b821e5c6dc79be418fded9bc85985468ba97a4b7d289405"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorApplicationSearchController.processExportRequest (cognitive 27): PhabricatorApplicationSearchController.processExportRequest has cognitive complexity 27 (threshold 15). Drivers by points: if/else 26, loops 1 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/search/controller/PhabricatorApplicationSearchController.php"},"region":{"startLine":399}}}],"partialFingerprints":{"codehealthFindingId/v1":"bb14be59869b8069b9880dc78d96d976783582d4ee39cc49d5c12f8b76106f7d"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorApplicationTransactionEditor.combineTransactions (cognitive 27): PhabricatorApplicationTransactionEditor.combineTransactions has cognitive complexity 27 (threshold 15). Drivers by points: if/else 20, loops 5, boolean chains 2 (nesting depth added 17). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php"},"region":{"startLine":2430}}}],"partialFingerprints":{"codehealthFindingId/v1":"ed8c379b418070552b267b26e9906d319d0648422470f8e9f88050248c69a83f"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorApplicationTransactionEditor.filterTransactions (cognitive 27): PhabricatorApplicationTransactionEditor.filterTransactions has cognitive complexity 27 (threshold 15). Drivers by points: if/else 22, boolean chains 3, loops 2 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php"},"region":{"startLine":2772}}}],"partialFingerprints":{"codehealthFindingId/v1":"a979b702d12ac4c8b301f8350d1aaa6e599b8049fac75207f5d2475a26130ed1"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorTypeaheadCompositeDatasource.loadResultsForPhase (cognitive 27): PhabricatorTypeaheadCompositeDatasource.loadResultsForPhase has cognitive complexity 27 (threshold 15). Drivers by points: if/else 23, loops 4 (nesting depth added 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/typeahead/datasource/PhabricatorTypeaheadCompositeDatasource.php"},"region":{"startLine":67}}}],"partialFingerprints":{"codehealthFindingId/v1":"35b80cfb804a0fff748bcb7fa2745e916dac6a89697e4f823fdb2965fa6e3d07"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorTypeaheadDatasource.renderTokens (cognitive 27): PhabricatorTypeaheadDatasource.renderTokens has cognitive complexity 27 (threshold 15). Drivers by points: if/else 16, loops 11 (nesting depth added 12). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/typeahead/datasource/PhabricatorTypeaheadDatasource.php"},"region":{"startLine":274}}}],"partialFingerprints":{"codehealthFindingId/v1":"dca3453de6a14ced3ad6395c19e575aab82fc5bad18ed8bfea4885724bc7b342"}},{"ruleId":"D2","level":"warning","message":{"text":"PhutilPygmentizeParser.parse (cognitive 27): PhutilPygmentizeParser.parse has cognitive complexity 27 (threshold 15). Drivers by points: if/else 24, match/switch 2, loops 1 (nesting depth added 17). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/parser/PhutilPygmentizeParser.php"},"region":{"startLine":20}}}],"partialFingerprints":{"codehealthFindingId/v1":"52a9c5079065437781f613262bded1401bb68e77be99f1f416dff6d85615bf94"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorSSHPassthruCommand.execute (cognitive 27): PhabricatorSSHPassthruCommand.execute has cognitive complexity 27 (threshold 15). Drivers by points: if/else 19, boolean chains 5, loops 3 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/ssh/PhabricatorSSHPassthruCommand.php"},"region":{"startLine":87}}}],"partialFingerprints":{"codehealthFindingId/v1":"0f4745a9029c9ec9c6a31961702e19f2a2919ec92907b792d3d0f44b197041da"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorCalendarEventSearchEngine.getQueryDateRange (cognitive 26): PhabricatorCalendarEventSearchEngine.getQueryDateRange has cognitive complexity 26 (threshold 15). Drivers by points: if/else 21, boolean chains 5 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/query/PhabricatorCalendarEventSearchEngine.php"},"region":{"startLine":149}}}],"partialFingerprints":{"codehealthFindingId/v1":"cf7dbd9a939f0a3988a148b7f2a6a6fb80e62da0ec20ef216996814b451134c9"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorDashboardPanelTabsController.handleRequest (cognitive 26): PhabricatorDashboardPanelTabsController.handleRequest has cognitive complexity 26 (threshold 15). Drivers by points: if/else 19, loops 4, match/switch 3 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/dashboard/controller/panel/PhabricatorDashboardPanelTabsController.php"},"region":{"startLine":17}}}],"partialFingerprints":{"codehealthFindingId/v1":"ea7cc5e1914e3debb3c40fce86ab8405acbacff551f9a5516dd534efd62443c9"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialChangesetHTMLRenderer.renderShowContextLinks (cognitive 26): DifferentialChangesetHTMLRenderer.renderShowContextLinks has cognitive complexity 26 (threshold 15). Drivers by points: if/else 26 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/render/DifferentialChangesetHTMLRenderer.php"},"region":{"startLine":499}}}],"partialFingerprints":{"codehealthFindingId/v1":"b45dab9f599e52ff443b4ec060b1170e450aa256b4459209da9a3f47925d2368"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionLintController.handleRequest (cognitive 26): DiffusionLintController.handleRequest has cognitive complexity 26 (threshold 15). Drivers by points: if/else 25, loops 1 (nesting depth added 5). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/controller/DiffusionLintController.php"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"b2f99b120b158b3ef452ac50d78f4c9a07c2677e92755807275dc3f328c7af5d"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionSetPasswordSettingsPanel.processRequest (cognitive 26): DiffusionSetPasswordSettingsPanel.processRequest has cognitive complexity 26 (threshold 15). Drivers by points: if/else 22, error handling 4 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/panel/DiffusionSetPasswordSettingsPanel.php"},"region":{"startLine":33}}}],"partialFingerprints":{"codehealthFindingId/v1":"8df9b7c2892cd3f5dfb615ba42779c478c2bd5ae3a7f4e456f4400ac4a3b8a79"}},{"ruleId":"D2","level":"warning","message":{"text":"DrydockLandRepositoryOperation.getBarrierToLanding (cognitive 26): DrydockLandRepositoryOperation.getBarrierToLanding has cognitive complexity 26 (threshold 15). Drivers by points: if/else 24, loops 2 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/drydock/operation/DrydockLandRepositoryOperation.php"},"region":{"startLine":225}}}],"partialFingerprints":{"codehealthFindingId/v1":"3a5a43a3958cf41d2d41569aa0eb7b4c4986e13cd1cb2b25f89bdab5a876888a"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorFileQuery.buildWhereClauseParts (cognitive 26): PhabricatorFileQuery.buildWhereClauseParts has cognitive complexity 26 (threshold 15). Drivers by points: if/else 24, loops 2 (nesting depth added 4). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/files/query/PhabricatorFileQuery.php"},"region":{"startLine":396}}}],"partialFingerprints":{"codehealthFindingId/v1":"a699d1bc135933294881f992eaa9b577d2d3629ee3e98f37252c8599e078f67a"}},{"ruleId":"D2","level":"warning","message":{"text":"HarbormasterUIEventListener.handlePropertyEvent (cognitive 26): HarbormasterUIEventListener.handlePropertyEvent has cognitive complexity 26 (threshold 15). Drivers by points: if/else 15, loops 9, boolean chains 1, error handling 1 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/harbormaster/event/HarbormasterUIEventListener.php"},"region":{"startLine":18}}}],"partialFingerprints":{"codehealthFindingId/v1":"5aa19df8488410f308c128b1dfa421f1d29ccdc4ddbe4d391bf4f1f0bb1df09c"}},{"ruleId":"D2","level":"warning","message":{"text":"HeraldRuleController.handleRequest (cognitive 26): HeraldRuleController.handleRequest has cognitive complexity 26 (threshold 15). Drivers by points: if/else 22, error handling 2, boolean chains 1, ternaries 1 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/herald/controller/HeraldRuleController.php"},"region":{"startLine":5}}}],"partialFingerprints":{"codehealthFindingId/v1":"50b8f8f03b4db254304f92469b7f62d56e618cb9402bc559fc2b9f3cac12b39a"}},{"ruleId":"D2","level":"warning","message":{"text":"HeraldRuleController.saveRule (cognitive 26): HeraldRuleController.saveRule has cognitive complexity 26 (threshold 15). Drivers by points: if/else 15, error handling 7, boolean chains 2, loops 2 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/herald/controller/HeraldRuleController.php"},"region":{"startLine":263}}}],"partialFingerprints":{"codehealthFindingId/v1":"d9714e15c672f84bebaca4a2e06295ee10c20d3da50d813326eff10e2ea475a0"}},{"ruleId":"D2","level":"warning","message":{"text":"ManiphestTaskStatusTransaction.getTitle (cognitive 26): ManiphestTaskStatusTransaction.getTitle has cognitive complexity 26 (threshold 15). Drivers by points: if/else 24, boolean chains 2 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/maniphest/xaction/ManiphestTaskStatusTransaction.php"},"region":{"startLine":49}}}],"partialFingerprints":{"codehealthFindingId/v1":"097c14880567f12374f6129952d5a28fd67dfe8af44b11ba8e2c7fa6d59a6cae"}},{"ruleId":"D2","level":"warning","message":{"text":"ManiphestTaskStatusTransaction.getTitleForFeed (cognitive 26): ManiphestTaskStatusTransaction.getTitleForFeed has cognitive complexity 26 (threshold 15). Drivers by points: if/else 24, boolean chains 2 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/maniphest/xaction/ManiphestTaskStatusTransaction.php"},"region":{"startLine":119}}}],"partialFingerprints":{"codehealthFindingId/v1":"39ecd051b9f2d10f141324cf98edb4c2c299ba64edd9994b15aec27e415a0ae7"}},{"ruleId":"D2","level":"warning","message":{"text":"PhamePostListView.getTagContent (cognitive 26): PhamePostListView.getTagContent has cognitive complexity 26 (threshold 15). Drivers by points: if/else 24, loops 2 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phame/view/PhamePostListView.php"},"region":{"startLine":49}}}],"partialFingerprints":{"codehealthFindingId/v1":"ee5d4ef9be5c1199bcd04d185a397960b0b4ec8a5db53b1c1a11825428cad0c3"}},{"ruleId":"D2","level":"warning","message":{"text":"PhrictionDocumentController.renderDocumentChildren (cognitive 26): PhrictionDocumentController.renderDocumentChildren has cognitive complexity 26 (threshold 15). Drivers by points: if/else 17, loops 8, ternaries 1 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phriction/controller/PhrictionDocumentController.php"},"region":{"startLine":510}}}],"partialFingerprints":{"codehealthFindingId/v1":"4e1500f747638282f7ebd7457056afad3fc2e0366de1595f54a247f5261851c6"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorPolicyQuery.loadPage (cognitive 26): PhabricatorPolicyQuery.loadPage has cognitive complexity 26 (threshold 15). Drivers by points: if/else 18, loops 7, boolean chains 1 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/policy/query/PhabricatorPolicyQuery.php"},"region":{"startLine":58}}}],"partialFingerprints":{"codehealthFindingId/v1":"464f8e86f58c2f0463a30a5632b9fc5a112a208b6159cc7c6f2982865e8c1fc8"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorSearchController.handleRequest (cognitive 26): PhabricatorSearchController.handleRequest has cognitive complexity 26 (threshold 15). Drivers by points: if/else 22, boolean chains 2, error handling 2 (nesting depth added 13). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/search/controller/PhabricatorSearchController.php"},"region":{"startLine":12}}}],"partialFingerprints":{"codehealthFindingId/v1":"2170891d8fdb436f20fd4385220e227366813fa7126d44d0fb3f4e54449953e2"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorEditEngineSubtype.validateConfiguration (cognitive 26): PhabricatorEditEngineSubtype.validateConfiguration has cognitive complexity 26 (threshold 15). Drivers by points: if/else 18, loops 7, boolean chains 1 (nesting depth added 12). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/editengine/PhabricatorEditEngineSubtype.php"},"region":{"startLine":148}}}],"partialFingerprints":{"codehealthFindingId/v1":"c92fd37c593682643f456ae89c50abb2152bd7e8fbcbae7767f60d1efc2d4924"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorMainMenuView.renderNotificationMenu (cognitive 26): PhabricatorMainMenuView.renderNotificationMenu has cognitive complexity 26 (threshold 15). Drivers by points: if/else 25, boolean chains 1 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/page/menu/PhabricatorMainMenuView.php"},"region":{"startLine":365}}}],"partialFingerprints":{"codehealthFindingId/v1":"295fccde5552282b94022ddc4f23cb76b7d31c0a514f964a5a10b5a4c702e5ee"}},{"ruleId":"D2","level":"warning","message":{"text":"PHUIListItemView.getTagContent (cognitive 26): PHUIListItemView.getTagContent has cognitive complexity 26 (threshold 15). Drivers by points: if/else 23, ternaries 2, boolean chains 1 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/phui/PHUIListItemView.php"},"region":{"startLine":286}}}],"partialFingerprints":{"codehealthFindingId/v1":"a4949dffc1f78fb427c206dc578b07336b338ff096401bed2fe6a012a5084f39"}},{"ruleId":"D2","level":"warning","message":{"text":"assist (cognitive 26): assist has cognitive complexity 26 (threshold 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"webroot/rsrc/js/core/behavior-phabricator-remarkup-assist.js"},"region":{"startLine":188}}}],"partialFingerprints":{"codehealthFindingId/v1":"5c08fc820f7b7798f7aaf5f95fec73e17959341bbc84844ade9303b9ea0b6281"}},{"ruleId":"D2","level":"warning","message":{"text":"AphrontApplicationConfiguration.readHTTPPOSTData (cognitive 25): AphrontApplicationConfiguration.readHTTPPOSTData has cognitive complexity 25 (threshold 15). Drivers by points: if/else 19, loops 6 (nesting depth added 14). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/aphront/configuration/AphrontApplicationConfiguration.php"},"region":{"startLine":800}}}],"partialFingerprints":{"codehealthFindingId/v1":"c9da71497d9e7a7ef5d981e82bc2eee6a932ce60fc34ce77f2b7e2366c02e457"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorSetupIssueView.renderPhabricatorConfig (cognitive 25): PhabricatorSetupIssueView.renderPhabricatorConfig has cognitive complexity 25 (threshold 15). Drivers by points: if/else 18, loops 6, boolean chains 1 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/view/PhabricatorSetupIssueView.php"},"region":{"startLine":245}}}],"partialFingerprints":{"codehealthFindingId/v1":"05a871e951de6fe93bfe8eeef3f212bd69bfb05043939ce092249e6341eb55f8"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialReviewersField.getWarningsForRevisionHeader (cognitive 25): DifferentialReviewersField.getWarningsForRevisionHeader has cognitive complexity 25 (threshold 15). Drivers by points: if/else 24, loops 1 (nesting depth added 11). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/customfield/DifferentialReviewersField.php"},"region":{"startLine":68}}}],"partialFingerprints":{"codehealthFindingId/v1":"839dcc4dd83ec9b13bf6ca2f304aef2df2f66ce3d8121002d2a7e1dbcc8a22f3"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialTransactionEditor.didApplyHeraldRules (cognitive 25): DifferentialTransactionEditor.didApplyHeraldRules has cognitive complexity 25 (threshold 15). Drivers by points: if/else 18, loops 5, match/switch 2 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/editor/DifferentialTransactionEditor.php"},"region":{"startLine":1034}}}],"partialFingerprints":{"codehealthFindingId/v1":"74c3a3000a9dbe66506567e7ef90ad33f8e346ace591a9bea770994a1786fb5a"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialDiffExtractionEngine.loadConcerningBuilds (cognitive 25): DifferentialDiffExtractionEngine.loadConcerningBuilds has cognitive complexity 25 (threshold 15). Drivers by points: if/else 21, loops 3, boolean chains 1 (nesting depth added 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/engine/DifferentialDiffExtractionEngine.php"},"region":{"startLine":335}}}],"partialFingerprints":{"codehealthFindingId/v1":"b07cfb0fccebf7184098fa1628b691feff0e89f7b24d58f87893da997d925cec"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionBrowseController.browseFile (cognitive 25): DiffusionBrowseController.browseFile has cognitive complexity 25 (threshold 15). Drivers by points: if/else 23, match/switch 2 (nesting depth added 11). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/controller/DiffusionBrowseController.php"},"region":{"startLine":100}}}],"partialFingerprints":{"codehealthFindingId/v1":"fcabf054db85454883e74a5a391289fe3e6dc8d0567ff17091cc02ea17578bfe"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionExternalController.handleRequest (cognitive 25): DiffusionExternalController.handleRequest has cognitive complexity 25 (threshold 15). Drivers by points: if/else 20, loops 5 (nesting depth added 12). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/controller/DiffusionExternalController.php"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"69a37b6c6d7af58ee7d401b11a1d48444af74faf4039efe4dcebd768a814d468"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionRepositoryURICredentialController.handleRequest (cognitive 25): DiffusionRepositoryURICredentialController.handleRequest has cognitive complexity 25 (threshold 15). Drivers by points: if/else 25 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/controller/DiffusionRepositoryURICredentialController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"52e8989ab693f449f0b66023c295a32bd27e3a5ea20bac179a50627aaa13eb06"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionServeController.serveGitLFSBatchRequest (cognitive 25): DiffusionServeController.serveGitLFSBatchRequest has cognitive complexity 25 (threshold 15). Drivers by points: if/else 22, loops 2, match/switch 1 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/controller/DiffusionServeController.php"},"region":{"startLine":1068}}}],"partialFingerprints":{"codehealthFindingId/v1":"7fb12181835044f79fe4f70b0fbf2d4c5e3eb4d4f0c90d9bb164d0fe1cceeee3"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionBranchListView.render (cognitive 25): DiffusionBranchListView.render has cognitive complexity 25 (threshold 15). Drivers by points: if/else 24, loops 1 (nesting depth added 12). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/view/DiffusionBranchListView.php"},"region":{"startLine":20}}}],"partialFingerprints":{"codehealthFindingId/v1":"24daed9856c03de0f0697b43bf5312e1e13294072ecffc4e9ea044a551a1c3c6"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionPatternSearchView.render (cognitive 25): DiffusionPatternSearchView.render has cognitive complexity 25 (threshold 15). Drivers by points: if/else 18, loops 7 (nesting depth added 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/view/DiffusionPatternSearchView.php"},"region":{"startLine":24}}}],"partialFingerprints":{"codehealthFindingId/v1":"b2420d3d52a2db9133b235f2e777ee869a263e95e5ff65c22c19c2d75ac12d0a"}},{"ruleId":"D2","level":"warning","message":{"text":"DivinerAtomController.renderFullSignature (cognitive 25): DivinerAtomController.renderFullSignature has cognitive complexity 25 (threshold 15). Drivers by points: if/else 12, match/switch 7, loops 3, ternaries 3 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diviner/controller/DivinerAtomController.php"},"region":{"startLine":472}}}],"partialFingerprints":{"codehealthFindingId/v1":"7c21a01c8cd5d321dd54dcacc8c65f3299a88aa66c61c767e3015133be13bc6e"}},{"ruleId":"D2","level":"warning","message":{"text":"DivinerAtomizeWorkflow.execute (cognitive 25): DivinerAtomizeWorkflow.execute has cognitive complexity 25 (threshold 15). Drivers by points: if/else 16, loops 9 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diviner/workflow/DivinerAtomizeWorkflow.php"},"region":{"startLine":32}}}],"partialFingerprints":{"codehealthFindingId/v1":"e28752b5c5c3c68342b526682c2888522c00361d784c45d810466d93a4532d44"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorTransactionFactEngine.groupTransactions (cognitive 25): PhabricatorTransactionFactEngine.groupTransactions has cognitive complexity 25 (threshold 15). Drivers by points: if/else 19, boolean chains 4, loops 2 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/fact/engine/PhabricatorTransactionFactEngine.php"},"region":{"startLine":21}}}],"partialFingerprints":{"codehealthFindingId/v1":"2eabaa6cabc120374afb37f61ca6f1760b6923e35596e3b4bc8383f2feb72950"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorMemeEngine.getMetrics (cognitive 25): PhabricatorMemeEngine.getMetrics has cognitive complexity 25 (threshold 15). Drivers by points: if/else 19, loops 5, boolean chains 1 (nesting depth added 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/macro/engine/PhabricatorMemeEngine.php"},"region":{"startLine":308}}}],"partialFingerprints":{"codehealthFindingId/v1":"5547390475bb8b3185ca82983c133474d3c2bb196b39fbf69a79e7c030faec1d"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorApplicationPolicyChangeTransaction.validateTransactions (cognitive 25): PhabricatorApplicationPolicyChangeTransaction.validateTransactions has cognitive complexity 25 (threshold 15). Drivers by points: if/else 19, loops 5, boolean chains 1 (nesting depth added 11). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/meta/xactions/PhabricatorApplicationPolicyChangeTransaction.php"},"region":{"startLine":73}}}],"partialFingerprints":{"codehealthFindingId/v1":"706be0e53adafe9179c87b0fae18e9bee16fe82acb03441c5bef03e943f8d362"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorMailSMTPAdapter.sendMessage (cognitive 25): PhabricatorMailSMTPAdapter.sendMessage has cognitive complexity 25 (threshold 15). Drivers by points: if/else 17, loops 8 (nesting depth added 7). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/metamta/adapter/PhabricatorMailSMTPAdapter.php"},"region":{"startLine":47}}}],"partialFingerprints":{"codehealthFindingId/v1":"3dfe307342987a24cbddd383f6a00266d95b4af9fae4dcb4788baa86888220a5"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorMailManagementShowInboundWorkflow.execute (cognitive 25): PhabricatorMailManagementShowInboundWorkflow.execute has cognitive complexity 25 (threshold 15). Drivers by points: if/else 17, loops 8 (nesting depth added 12). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/metamta/management/PhabricatorMailManagementShowInboundWorkflow.php"},"region":{"startLine":23}}}],"partialFingerprints":{"codehealthFindingId/v1":"8dfb7b2eb2d907d77450f59d15adfabc5c8908a508f99dbba5c57157008cfbc2"}},{"ruleId":"D2","level":"warning","message":{"text":"PhortuneAccountEditor.validateTransaction (cognitive 25): PhortuneAccountEditor.validateTransaction has cognitive complexity 25 (threshold 15). Drivers by points: if/else 14, loops 6, match/switch 4, boolean chains 1 (nesting depth added 17). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phortune/editor/PhortuneAccountEditor.php"},"region":{"startLine":24}}}],"partialFingerprints":{"codehealthFindingId/v1":"61c0d6c174c36a2d27bf20cd7341319226589a44dd7769e9a23dc82f4fd87b94"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorProjectColumnHideController.handleRequest (cognitive 25): PhabricatorProjectColumnHideController.handleRequest has cognitive complexity 25 (threshold 15). Drivers by points: if/else 23, loops 2 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/controller/PhabricatorProjectColumnHideController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"c0c883f78abc93727eeac12b25eefb5e41e92f20ef2580290899b9c3bab03e07"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorApplicationTransactionCommentView.renderCommentPanel (cognitive 25): PhabricatorApplicationTransactionCommentView.renderCommentPanel has cognitive complexity 25 (threshold 15). Drivers by points: if/else 20, loops 5 (nesting depth added 12). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/view/PhabricatorApplicationTransactionCommentView.php"},"region":{"startLine":296}}}],"partialFingerprints":{"codehealthFindingId/v1":"069df6f674809d3f19e19c6aaf9a224ec91116d7a33d8ef446c65d99d9293457"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorInlineSummaryView.renderTable (cognitive 25): PhabricatorInlineSummaryView.renderTable has cognitive complexity 25 (threshold 15). Drivers by points: if/else 14, ternaries 6, loops 5 (nesting depth added 14). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/diff/view/PhabricatorInlineSummaryView.php"},"region":{"startLine":21}}}],"partialFingerprints":{"codehealthFindingId/v1":"3f76be8e4f2e4ee9b82a44b172e55391251abc0c85b3a7723a924be023e58a6d"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorCursorPagedPolicyAwareQuery.buildApplicationSearchWhereClause (cognitive 25): PhabricatorCursorPagedPolicyAwareQuery.buildApplicationSearchWhereClause has cognitive complexity 25 (threshold 15). Drivers by points: match/switch 11, if/else 9, loops 5 (nesting depth added 17). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/query/policy/PhabricatorCursorPagedPolicyAwareQuery.php"},"region":{"startLine":1657}}}],"partialFingerprints":{"codehealthFindingId/v1":"5f7907269b1eb7d80bcc01c7c2275c6efe39a7eca81780be0f7cb65291f0c226"}},{"ruleId":"D2","level":"warning","message":{"text":"PHUICrumbsView.render (cognitive 25): PHUICrumbsView.render has cognitive complexity 25 (threshold 15). Drivers by points: if/else 23, loops 2 (nesting depth added 14). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/phui/PHUICrumbsView.php"},"region":{"startLine":48}}}],"partialFingerprints":{"codehealthFindingId/v1":"f093d034eb60b8004a928a2d3eb6e1b792f5e9c58bfe49d5cca43ee20999e21d"}},{"ruleId":"D2","level":"warning","message":{"text":"seek_anchor (cognitive 25): seek_anchor has cognitive complexity 25 (threshold 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"webroot/rsrc/js/core/behavior-watch-anchor.js"},"region":{"startLine":34}}}],"partialFingerprints":{"codehealthFindingId/v1":"0e53329135b7d64e5d42b8f1e1f80b6e5679659e5ffee70670a96f1c7fd5def0"}},{"ruleId":"D2","level":"warning","message":{"text":"Porter.step1ab (cognitive 24): Porter.step1ab has cognitive complexity 24 (threshold 15). Drivers by points: boolean chains 13, if/else 11 (nesting depth added 6). To reduce it, name the conditions: bind each compound test to a well-named local or a small predicate function, so the body reads as a sequence of named decisions rather than a chain of operators."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"externals/porter-stemmer/src/Porter.php"},"region":{"startLine":83}}}],"partialFingerprints":{"codehealthFindingId/v1":"7cd6d45bae3443dc51a02d94feb28f93168755be24b67215f9f7de006301df42"}},{"ruleId":"D2","level":"warning","message":{"text":"ConpherenceListController.handleRequest (cognitive 24): ConpherenceListController.handleRequest has cognitive complexity 24 (threshold 15). Drivers by points: if/else 20, loops 2, match/switch 2 (nesting depth added 11). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/conpherence/controller/ConpherenceListController.php"},"region":{"startLine":32}}}],"partialFingerprints":{"codehealthFindingId/v1":"d3687710f711c72a63eab412f7a88b237621e04a5920a47ac119ab48b76aba3c"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialRevisionReviewersTransaction.generateNewValue (cognitive 24): DifferentialRevisionReviewersTransaction.generateNewValue has cognitive complexity 24 (threshold 15). Drivers by points: if/else 16, loops 5, boolean chains 3 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/xaction/DifferentialRevisionReviewersTransaction.php"},"region":{"startLine":15}}}],"partialFingerprints":{"codehealthFindingId/v1":"dc9584d5672af7201fc86bb6385db59bfacef7ebe33cbda4d004ce482fa6f0a9"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionSubversionServeSSHWorkflow.willReadMessageCallback (cognitive 24): DiffusionSubversionServeSSHWorkflow.willReadMessageCallback has cognitive complexity 24 (threshold 15). Drivers by points: if/else 13, loops 6, match/switch 4, boolean chains 1 (nesting depth added 14). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/ssh/DiffusionSubversionServeSSHWorkflow.php"},"region":{"startLine":278}}}],"partialFingerprints":{"codehealthFindingId/v1":"eec927069556e07fa394abcca0da10206616a4adda74e9d9b0342feee3f4b897"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionSourceLinkView.render (cognitive 24): DiffusionSourceLinkView.render has cognitive complexity 24 (threshold 15). Drivers by points: if/else 22, boolean chains 2 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/view/DiffusionSourceLinkView.php"},"region":{"startLine":157}}}],"partialFingerprints":{"codehealthFindingId/v1":"cde854c9e634e3c2f7d734e547f6671a325850690f8709eb33e2c9af891dadbc"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorChartFunctionArgumentParser.parseArguments (cognitive 24): PhabricatorChartFunctionArgumentParser.parseArguments has cognitive complexity 24 (threshold 15). Drivers by points: if/else 20, error handling 2, boolean chains 1, loops 1 (nesting depth added 11). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/fact/chart/PhabricatorChartFunctionArgumentParser.php"},"region":{"startLine":111}}}],"partialFingerprints":{"codehealthFindingId/v1":"934d9df6bfe4618e62107f2baef65de8b8f584cbee1db69ee6f83c635eb4b718"}},{"ruleId":"D2","level":"warning","message":{"text":"HeraldTranscriptController.getTranscriptPHIDs (cognitive 24): HeraldTranscriptController.getTranscriptPHIDs has cognitive complexity 24 (threshold 15). Drivers by points: if/else 13, loops 9, match/switch 2 (nesting depth added 13). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/herald/controller/HeraldTranscriptController.php"},"region":{"startLine":131}}}],"partialFingerprints":{"codehealthFindingId/v1":"242cd040b497ed106e9bcdfc3f0bceeac7703cf03ff365998042c42b507ec15a"}},{"ruleId":"D2","level":"warning","message":{"text":"LegalpadDocumentSignatureSearchEngine.renderResultList (cognitive 24): LegalpadDocumentSignatureSearchEngine.renderResultList has cognitive complexity 24 (threshold 15). Drivers by points: if/else 21, ternaries 2, loops 1 (nesting depth added 11). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/legalpad/query/LegalpadDocumentSignatureSearchEngine.php"},"region":{"startLine":150}}}],"partialFingerprints":{"codehealthFindingId/v1":"5ab1f0a7369047044bb30b000248609d6dd0cf404e05bda91394e07ec4033822"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorMailManagementReceiveTestWorkflow.execute (cognitive 24): PhabricatorMailManagementReceiveTestWorkflow.execute has cognitive complexity 24 (threshold 15). Drivers by points: if/else 21, loops 2, boolean chains 1 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/metamta/management/PhabricatorMailManagementReceiveTestWorkflow.php"},"region":{"startLine":41}}}],"partialFingerprints":{"codehealthFindingId/v1":"ad1da01d5dcb4da1621add2a8ff56a2ca2274448156cad5800f0f588a4a97655"}},{"ruleId":"D2","level":"warning","message":{"text":"NuanceGitHubRawEvent.getTargetObjectName (cognitive 24): NuanceGitHubRawEvent.getTargetObjectName has cognitive complexity 24 (threshold 15). Drivers by points: if/else 15, match/switch 9 (nesting depth added 14). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/nuance/github/NuanceGitHubRawEvent.php"},"region":{"startLine":244}}}],"partialFingerprints":{"codehealthFindingId/v1":"06bc39687bf8286429cffbd3741c7af67d8e0c14a34d65df14b58ccdd0e69c1a"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorOAuthServerAuthController.handleRequest (cognitive 24): PhabricatorOAuthServerAuthController.handleRequest has cognitive complexity 24 (threshold 15). Drivers by points: if/else 20, error handling 2, loops 2 (nesting depth added 4). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/oauthserver/controller/PhabricatorOAuthServerAuthController.php"},"region":{"startLine":12}}}],"partialFingerprints":{"codehealthFindingId/v1":"649cfc132df1b7c8ffe5cedf496c38ecf5e9b26eb0baa161f0dac5f6a49cc92a"}},{"ruleId":"D2","level":"warning","message":{"text":"PholioMockThumbGridView.render (cognitive 24): PholioMockThumbGridView.render has cognitive complexity 24 (threshold 15). Drivers by points: if/else 15, loops 8, boolean chains 1 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/pholio/view/PholioMockThumbGridView.php"},"region":{"startLine":12}}}],"partialFingerprints":{"codehealthFindingId/v1":"d6328dfd4e9e930e74fe027908f00232b7049b9c47c1fe4161dd59e015adda5a"}},{"ruleId":"D2","level":"warning","message":{"text":"PhortunePayPalPaymentProvider.processControllerRequest (cognitive 24): PhortunePayPalPaymentProvider.processControllerRequest has cognitive complexity 24 (threshold 15). Drivers by points: if/else 20, match/switch 4 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phortune/provider/PhortunePayPalPaymentProvider.php"},"region":{"startLine":287}}}],"partialFingerprints":{"codehealthFindingId/v1":"e745c3acd6179c42027194cec4382dd77ade4f6a1b8b1bb31d3aa59b7810cadb"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorProjectMembersViewController.buildCurtainView (cognitive 24): PhabricatorProjectMembersViewController.buildCurtainView has cognitive complexity 24 (threshold 15). Drivers by points: if/else 18, boolean chains 6 (nesting depth added 3). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/controller/PhabricatorProjectMembersViewController.php"},"region":{"startLine":70}}}],"partialFingerprints":{"codehealthFindingId/v1":"0369e7e4e0299b3969b13f20f5468feec77604f7ceb39cde3f13b41658d6ea9b"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorProjectTriggerEditController.handleRequest (cognitive 24): PhabricatorProjectTriggerEditController.handleRequest has cognitive complexity 24 (threshold 15). Drivers by points: if/else 22, error handling 2 (nesting depth added 6). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/controller/trigger/PhabricatorProjectTriggerEditController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"f6d4167cec3775466e066366c4c400115c396025825a7912e9b7b4528f82909c"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorBoardLayoutEngine.loadColumns (cognitive 24): PhabricatorBoardLayoutEngine.loadColumns has cognitive complexity 24 (threshold 15). Drivers by points: if/else 14, loops 8, boolean chains 2 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/engine/PhabricatorBoardLayoutEngine.php"},"region":{"startLine":321}}}],"partialFingerprints":{"codehealthFindingId/v1":"397a7d0e9ef149133243f6d749954787477e618aa2dabfbad0d5c1edc503a046"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorRepositoryRefEngine.loadNewCommitIdentifiers (cognitive 24): PhabricatorRepositoryRefEngine.loadNewCommitIdentifiers has cognitive complexity 24 (threshold 15). Drivers by points: loops 13, if/else 10, match/switch 1 (nesting depth added 13). To reduce it, break up the iteration: give each loop body a named function, and split a multi-phase loop into one function per phase so no single body carries the whole pipeline."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/engine/PhabricatorRepositoryRefEngine.php"},"region":{"startLine":414}}}],"partialFingerprints":{"codehealthFindingId/v1":"803fa8c624ef9a7e78338a83c8664b817b2b03a2b9676f9c3d40fa435367f67b"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorMultiFactorSettingsPanel.processNew (cognitive 24): PhabricatorMultiFactorSettingsPanel.processNew has cognitive complexity 24 (threshold 15). Drivers by points: if/else 21, loops 2, boolean chains 1 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/settings/panel/PhabricatorMultiFactorSettingsPanel.php"},"region":{"startLine":175}}}],"partialFingerprints":{"codehealthFindingId/v1":"59e4a18ef24b368dc27267275c223234b2cfb6c905a81c677bf7d3974645a91c"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorApplicationTransactionEditor.applyCapabilityChecks (cognitive 24): PhabricatorApplicationTransactionEditor.applyCapabilityChecks has cognitive complexity 24 (threshold 15). Drivers by points: if/else 16, loops 7, boolean chains 1 (nesting depth added 12). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php"},"region":{"startLine":1841}}}],"partialFingerprints":{"codehealthFindingId/v1":"cf075a65961a63b1d9ea3ad898b5eb1f03374951cc104d5caefb26ad7364d85e"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorApplicationTransactionEditor.buildSubscribeTransaction (cognitive 24): PhabricatorApplicationTransactionEditor.buildSubscribeTransaction has cognitive complexity 24 (threshold 15). Drivers by points: if/else 22, loops 2 (nesting depth added 12). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php"},"region":{"startLine":2039}}}],"partialFingerprints":{"codehealthFindingId/v1":"3f21f8acad96b4032de52044c78040cfb3b5dafd79b73bb3bdaad8e31046b840"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorApplicationTransactionEditor.getMailCC (cognitive 24): PhabricatorApplicationTransactionEditor.getMailCC has cognitive complexity 24 (threshold 15). Drivers by points: if/else 13, loops 11 (nesting depth added 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php"},"region":{"startLine":3730}}}],"partialFingerprints":{"codehealthFindingId/v1":"f6644a81bf1f0987ab4c86a40cf3870510a4e70bc6edef7a9831b7b0c9f83b6d"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorApplicationTransactionEditor.newMFATransactions (cognitive 24): PhabricatorApplicationTransactionEditor.newMFATransactions has cognitive complexity 24 (threshold 15). Drivers by points: if/else 20, loops 4 (nesting depth added 12). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php"},"region":{"startLine":5514}}}],"partialFingerprints":{"codehealthFindingId/v1":"cbc4722ecfabff700802d42324c09112685bd3fcee2655f747444bd91507afbd"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorApplicationTransactionWarningResponse.reduceProxyResponse (cognitive 24): PhabricatorApplicationTransactionWarningResponse.reduceProxyResponse has cognitive complexity 24 (threshold 15). Drivers by points: if/else 18, loops 6 (nesting depth added 6). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/response/PhabricatorApplicationTransactionWarningResponse.php"},"region":{"startLine":39}}}],"partialFingerprints":{"codehealthFindingId/v1":"37fa67255fbf47c3d87d110e7b8bb4a8381403516b702072f4afb0ed133e3c76"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorWorkerLeaseQuery.execute (cognitive 24): PhabricatorWorkerLeaseQuery.execute has cognitive complexity 24 (threshold 15). Drivers by points: if/else 22, loops 2 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/daemon/workers/query/PhabricatorWorkerLeaseQuery.php"},"region":{"startLine":75}}}],"partialFingerprints":{"codehealthFindingId/v1":"f4ca7104e50dca03d6968e1aabae209378fce454bc3a351659d39d79e78899d6"}},{"ruleId":"D2","level":"warning","message":{"text":"AphrontDialogView.render (cognitive 24): AphrontDialogView.render has cognitive complexity 24 (threshold 15). Drivers by points: if/else 18, loops 3, boolean chains 2, match/switch 1 (nesting depth added 3). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/AphrontDialogView.php"},"region":{"startLine":255}}}],"partialFingerprints":{"codehealthFindingId/v1":"92c43952079d20f67d10090e5eb51cdda4376ba0800c41336f1f31d07bdcf98a"}},{"ruleId":"D2","level":"warning","message":{"text":"_onresults (cognitive 24): _onresults has cognitive complexity 24 (threshold 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"webroot/rsrc/js/phuix/PHUIXAutocomplete.js"},"region":{"startLine":230}}}],"partialFingerprints":{"codehealthFindingId/v1":"d18716d0a89ec674fc5771d2b591370ccffdf7425ce9a59beea373b6ceae4a5f"}},{"ruleId":"D2","level":"warning","message":{"text":"buildPaths (cognitive 24): buildPaths has cognitive complexity 24 (threshold 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"webroot/rsrc/js/application/diffusion/DiffusionLocateFileSource.js"},"region":{"startLine":219}}}],"partialFingerprints":{"codehealthFindingId/v1":"e11a0874f46f819ffb33065dc5ac4d490866bd4e95415b55ce4afe9100528f9c"}},{"ruleId":"D2","level":"warning","message":{"text":"PHPMailerLite.newFromMessage (cognitive 23): PHPMailerLite.newFromMessage has cognitive complexity 23 (threshold 15). Drivers by points: if/else 15, loops 8 (nesting depth added 7). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"externals/phpmailer/class.phpmailer-lite.php"},"region":{"startLine":45}}}],"partialFingerprints":{"codehealthFindingId/v1":"60e475651dafac76f82924361b5406ec639f18019f7f3acd1e54ce4717a10567"}},{"ruleId":"D2","level":"warning","message":{"text":"AphrontApplicationConfiguration.buildController (cognitive 23): AphrontApplicationConfiguration.buildController has cognitive complexity 23 (threshold 15). Drivers by points: if/else 22, boolean chains 1 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/aphront/configuration/AphrontApplicationConfiguration.php"},"region":{"startLine":394}}}],"partialFingerprints":{"codehealthFindingId/v1":"f3c74bb4c6cf9c5b1d3758f688bbf13b4c8f1e0b25256564ddfc2619121d2131"}},{"ruleId":"D2","level":"warning","message":{"text":"PhutilCalendarRecurrenceRule.nextDay (cognitive 23): PhutilCalendarRecurrenceRule.nextDay has cognitive complexity 23 (threshold 15). Drivers by points: if/else 11, boolean chains 8, ternaries 3, loops 1 (nesting depth added 6). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/parser/data/PhutilCalendarRecurrenceRule.php"},"region":{"startLine":900}}}],"partialFingerprints":{"codehealthFindingId/v1":"a4c6a10a1a36c11c69b8e494f0bfc5b878f37b3a13ed5de7064ec96983ec33e3"}},{"ruleId":"D2","level":"warning","message":{"text":"PhutilCalendarRecurrenceRuleTestCase.assertRules (cognitive 23): PhutilCalendarRecurrenceRuleTestCase.assertRules has cognitive complexity 23 (threshold 15). Drivers by points: if/else 22, loops 1 (nesting depth added 11). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/parser/data/__tests__/PhutilCalendarRecurrenceRuleTestCase.php"},"region":{"startLine":1672}}}],"partialFingerprints":{"codehealthFindingId/v1":"3330097f896de68007ce569fab9d63893116feca1df163865518fe19e0f41ed7"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorConfigDatabaseStatusController.renderTable (cognitive 23): PhabricatorConfigDatabaseStatusController.renderTable has cognitive complexity 23 (threshold 15). Drivers by points: if/else 19, loops 4 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/controller/services/PhabricatorConfigDatabaseStatusController.php"},"region":{"startLine":332}}}],"partialFingerprints":{"codehealthFindingId/v1":"989f9503f5d0ed79bee602a27b0d30cdcd01f4a6de6df255f7b07216acf68c66"}},{"ruleId":"D2","level":"warning","message":{"text":"ConpherenceThreadQuery.loadPage (cognitive 23): ConpherenceThreadQuery.loadPage has cognitive complexity 23 (threshold 15). Drivers by points: if/else 20, loops 3 (nesting depth added 14). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/conpherence/query/ConpherenceThreadQuery.php"},"region":{"startLine":79}}}],"partialFingerprints":{"codehealthFindingId/v1":"9eb12c18b1a7c584bbc0b9715b08dabbfbd76badeb21818eba0fe1b4ed195aef"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorLockLogManagementWorkflow.execute (cognitive 23): PhabricatorLockLogManagementWorkflow.execute has cognitive complexity 23 (threshold 15). Drivers by points: if/else 20, boolean chains 2, loops 1 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/daemon/management/PhabricatorLockLogManagementWorkflow.php"},"region":{"startLine":28}}}],"partialFingerprints":{"codehealthFindingId/v1":"54ade51399f4247ea852e5ce4b6e0afeeca97edc7ad654ff1a707bddf2c9052f"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorDifferentialMigrateHunkWorkflow.execute (cognitive 23): PhabricatorDifferentialMigrateHunkWorkflow.execute has cognitive complexity 23 (threshold 15). Drivers by points: if/else 16, boolean chains 4, error handling 2, loops 1 (nesting depth added 6). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/management/PhabricatorDifferentialMigrateHunkWorkflow.php"},"region":{"startLine":40}}}],"partialFingerprints":{"codehealthFindingId/v1":"ed981c9813774c1525ae8ec903bb19d7430c5d9aacd52d5324e17838049d876c"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialLineAdjustmentMap.newInverseMap (cognitive 23): DifferentialLineAdjustmentMap.newInverseMap has cognitive complexity 23 (threshold 15). Drivers by points: if/else 15, loops 8 (nesting depth added 13). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/parser/DifferentialLineAdjustmentMap.php"},"region":{"startLine":213}}}],"partialFingerprints":{"codehealthFindingId/v1":"9b5db1be644ea4e7d7c036751534029804bc9dae1fbca6a8cb437e312cb7544d"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialRevisionAcceptTransaction.getActionOptions (cognitive 23): DifferentialRevisionAcceptTransaction.getActionOptions has cognitive complexity 23 (threshold 15). Drivers by points: if/else 20, loops 3 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/xaction/DifferentialRevisionAcceptTransaction.php"},"region":{"startLine":55}}}],"partialFingerprints":{"codehealthFindingId/v1":"fc412536bd7080465181390406ae2c7eaf08ab4ccd34f88d61e2e1a18f9f7f2a"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionBrowseQueryConduitAPIMethod.getMercurialResult (cognitive 23): DiffusionBrowseQueryConduitAPIMethod.getMercurialResult has cognitive complexity 23 (threshold 15). Drivers by points: if/else 18, boolean chains 2, loops 2, ternaries 1 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/conduit/DiffusionBrowseQueryConduitAPIMethod.php"},"region":{"startLine":267}}}],"partialFingerprints":{"codehealthFindingId/v1":"c06b31f81374127abd4c6d67ea1cf8dfb169c632053d9536a7a6cc615e32bcaf"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionLintController.loadLintCodes (cognitive 23): DiffusionLintController.loadLintCodes has cognitive complexity 23 (threshold 15). Drivers by points: if/else 18, ternaries 3, loops 2 (nesting depth added 12). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/controller/DiffusionLintController.php"},"region":{"startLine":219}}}],"partialFingerprints":{"codehealthFindingId/v1":"db16a0a092baf59a554961c141587923b070a7334e7e822c35c4f5c5fa2c028c"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionLowLevelCommitQuery.loadGitCommitRef (cognitive 23): DiffusionLowLevelCommitQuery.loadGitCommitRef has cognitive complexity 23 (threshold 15). Drivers by points: if/else 21, boolean chains 1, loops 1 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/query/lowlevel/DiffusionLowLevelCommitQuery.php"},"region":{"startLine":41}}}],"partialFingerprints":{"codehealthFindingId/v1":"c11dd101f26301ce34f05716a04d60f3e40a62bb26350836e0ffa7daef221c25"}},{"ruleId":"D2","level":"warning","message":{"text":"DivinerAtomController.buildParametersAndReturn (cognitive 23): DivinerAtomController.buildParametersAndReturn has cognitive complexity 23 (threshold 15). Drivers by points: if/else 18, loops 5 (nesting depth added 11). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diviner/controller/DivinerAtomController.php"},"region":{"startLine":568}}}],"partialFingerprints":{"codehealthFindingId/v1":"a4ca9a0a74b2e51d164c798108325fbde64f84ad85ba0aff21c97958655ba15a"}},{"ruleId":"D2","level":"warning","message":{"text":"DoorkeeperJIRAFeedWorker.publishFeedStory (cognitive 23): DoorkeeperJIRAFeedWorker.publishFeedStory has cognitive complexity 23 (threshold 15). Drivers by points: if/else 12, loops 6, error handling 4, boolean chains 1 (nesting depth added 12). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/doorkeeper/worker/DoorkeeperJIRAFeedWorker.php"},"region":{"startLine":26}}}],"partialFingerprints":{"codehealthFindingId/v1":"de439549b3d3c71265632d25ae41e9253c6068ef1a28988db09c0e0703c1d747"}},{"ruleId":"D2","level":"warning","message":{"text":"DrydockManagementLeaseWorkflow.execute (cognitive 23): DrydockManagementLeaseWorkflow.execute has cognitive complexity 23 (threshold 15). Drivers by points: if/else 18, loops 5 (nesting depth added 5). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/drydock/management/DrydockManagementLeaseWorkflow.php"},"region":{"startLine":44}}}],"partialFingerprints":{"codehealthFindingId/v1":"a339ddb83beee1c8ae285bb00adf66ff4148a8963cb1fea34d1d5bfd414aefc8"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorChartDataQuery.selectInputValues (cognitive 23): PhabricatorChartDataQuery.selectInputValues has cognitive complexity 23 (threshold 15). Drivers by points: if/else 15, loops 7, boolean chains 1 (nesting depth added 12). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/fact/chart/PhabricatorChartDataQuery.php"},"region":{"startLine":37}}}],"partialFingerprints":{"codehealthFindingId/v1":"b9f743e2f2967147c07c0204ca246d823dfdc1b4ef8f7ef19ffb479083343dc6"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorChartStackedAreaDataset.getGeometry (cognitive 23): PhabricatorChartStackedAreaDataset.getGeometry has cognitive complexity 23 (threshold 15). Drivers by points: if/else 14, loops 8, boolean chains 1 (nesting depth added 12). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/fact/chart/PhabricatorChartStackedAreaDataset.php"},"region":{"startLine":234}}}],"partialFingerprints":{"codehealthFindingId/v1":"06a7006e7bcd882ba7ee63339911212e447df72a42a6c8bf596f18375405f8fb"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorKeyringConfigOptionType.validateOption (cognitive 23): PhabricatorKeyringConfigOptionType.validateOption has cognitive complexity 23 (threshold 15). Drivers by points: if/else 17, error handling 2, loops 2, match/switch 2 (nesting depth added 11). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/files/keyring/PhabricatorKeyringConfigOptionType.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"2579ee0e8db71484447fdcb50f2287d11ca524a3881f6d6b4df90274f527a8da"}},{"ruleId":"D2","level":"warning","message":{"text":"HarbormasterBuildLogRenderController.mergeOverlappingViews (cognitive 23): HarbormasterBuildLogRenderController.mergeOverlappingViews has cognitive complexity 23 (threshold 15). Drivers by points: if/else 18, loops 3, boolean chains 2 (nesting depth added 13). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/harbormaster/controller/HarbormasterBuildLogRenderController.php"},"region":{"startLine":558}}}],"partialFingerprints":{"codehealthFindingId/v1":"196da706bf5368d75f2fc5764f6f4a757bf72c4341d70b8f7e44f0264c9fade0"}},{"ruleId":"D2","level":"warning","message":{"text":"HarbormasterStepEditController.handleRequest (cognitive 23): HarbormasterStepEditController.handleRequest has cognitive complexity 23 (threshold 15). Drivers by points: if/else 20, error handling 2, ternaries 1 (nesting depth added 6). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/harbormaster/controller/HarbormasterStepEditController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"7fb6681658b85f0bd87d60fc0abecf6e761cb574c1bbc680d8f4f974dbb86770"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorAppSearchEngine.renderResultList (cognitive 23): PhabricatorAppSearchEngine.renderResultList has cognitive complexity 23 (threshold 15). Drivers by points: if/else 19, loops 3, boolean chains 1 (nesting depth added 12). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/meta/query/PhabricatorAppSearchEngine.php"},"region":{"startLine":181}}}],"partialFingerprints":{"codehealthFindingId/v1":"83b16ab711b2c32f0abdfd8d64329eb8e8b949a828c4bdbdb3da23b637a90934"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorOAuthServerTokenController.handleRequest (cognitive 23): PhabricatorOAuthServerTokenController.handleRequest has cognitive complexity 23 (threshold 15). Drivers by points: if/else 20, boolean chains 2, error handling 1 (nesting depth added 3). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/oauthserver/controller/PhabricatorOAuthServerTokenController.php"},"region":{"startLine":17}}}],"partialFingerprints":{"codehealthFindingId/v1":"31a7ae6800a6e93ae4a6a9f7c4f52689edb386c6bd9f1193fe1f9c0d0f944331"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorPeopleUserPHIDType.loadHandles (cognitive 23): PhabricatorPeopleUserPHIDType.loadHandles has cognitive complexity 23 (threshold 15). Drivers by points: if/else 22, loops 1 (nesting depth added 12). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/people/phid/PhabricatorPeopleUserPHIDType.php"},"region":{"startLine":34}}}],"partialFingerprints":{"codehealthFindingId/v1":"85f005417a7b8f2cccbffc607d33671304c3dcc5cb519cece2147f6b0f27a3c5"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorProjectQuery.didFilterPage (cognitive 23): PhabricatorProjectQuery.didFilterPage has cognitive complexity 23 (threshold 15). Drivers by points: if/else 12, loops 11 (nesting depth added 14). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/query/PhabricatorProjectQuery.php"},"region":{"startLine":385}}}],"partialFingerprints":{"codehealthFindingId/v1":"98f52ac1e0515ce98f134c50840746a7c4a9df4115484903bf67f0aa824cc14d"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorProjectLogicalAncestorDatasource.didEvaluateTokens (cognitive 23): PhabricatorProjectLogicalAncestorDatasource.didEvaluateTokens has cognitive complexity 23 (threshold 15). Drivers by points: if/else 13, loops 9, boolean chains 1 (nesting depth added 11). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/typeahead/PhabricatorProjectLogicalAncestorDatasource.php"},"region":{"startLine":24}}}],"partialFingerprints":{"codehealthFindingId/v1":"6a6e252334d944727b7d26e71d6417d55b544da184bc2760ef3c5b77a92953dd"}},{"ruleId":"D2","level":"warning","message":{"text":"ProjectBoardTaskCard.getItem (cognitive 23): ProjectBoardTaskCard.getItem has cognitive complexity 23 (threshold 15). Drivers by points: if/else 19, loops 3, boolean chains 1 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/view/ProjectBoardTaskCard.php"},"region":{"startLine":83}}}],"partialFingerprints":{"codehealthFindingId/v1":"1a320d925d2da5d847cc2f5c710bb5073850f035e0057d27e76c86dfbe2407b1"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorRepositoryManagementRebuildIdentitiesWorkflow.rebuildIdentities (cognitive 23): PhabricatorRepositoryManagementRebuildIdentitiesWorkflow.rebuildIdentities has cognitive complexity 23 (threshold 15). Drivers by points: if/else 21, boolean chains 1, loops 1 (nesting depth added 12). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/management/PhabricatorRepositoryManagementRebuildIdentitiesWorkflow.php"},"region":{"startLine":330}}}],"partialFingerprints":{"codehealthFindingId/v1":"fc8de8c5e4dcb8f9546e9681e3a3d70e926b0568fd970c3b9327c7b56985907a"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorProfileMenuItemView.newListItemView (cognitive 23): PhabricatorProfileMenuItemView.newListItemView has cognitive complexity 23 (threshold 15). Drivers by points: if/else 16, loops 5, boolean chains 2 (nesting depth added 6). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/search/engine/PhabricatorProfileMenuItemView.php"},"region":{"startLine":138}}}],"partialFingerprints":{"codehealthFindingId/v1":"9be059424a5b398b828bac658bdb4c504d26c72550f389a178e25555447fcc73"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorDestructionEngine.destroyObject (cognitive 23): PhabricatorDestructionEngine.destroyObject has cognitive complexity 23 (threshold 15). Drivers by points: if/else 14, loops 7, error handling 2 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/system/engine/PhabricatorDestructionEngine.php"},"region":{"startLine":34}}}],"partialFingerprints":{"codehealthFindingId/v1":"9da111afd36132b6a3393132452698ba937223f22ff95c8653eb8306a6ea5477"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorApplicationTransactionEditor.getTransactionOldValue (cognitive 23): PhabricatorApplicationTransactionEditor.getTransactionOldValue has cognitive complexity 23 (threshold 15). Drivers by points: if/else 22, match/switch 1 (nesting depth added 11). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php"},"region":{"startLine":490}}}],"partialFingerprints":{"codehealthFindingId/v1":"5a703e05256a6add35773542fc05fddcd846a48f932f69ffd1fffc5c5347aa50"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorApplicationTransactionEditor.applyBuiltinExternalTransaction (cognitive 23): PhabricatorApplicationTransactionEditor.applyBuiltinExternalTransaction has cognitive complexity 23 (threshold 15). Drivers by points: if/else 16, loops 6, match/switch 1 (nesting depth added 14). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php"},"region":{"startLine":904}}}],"partialFingerprints":{"codehealthFindingId/v1":"a2c49c5336b7649b0da4742b93791eab1b20a2cc3ea53c62e627904e653ee2e3"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorApplicationTransactionEditor.expandRemarkupBlockTransactions (cognitive 23): PhabricatorApplicationTransactionEditor.expandRemarkupBlockTransactions has cognitive complexity 23 (threshold 15). Drivers by points: if/else 18, loops 4, boolean chains 1 (nesting depth added 12). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php"},"region":{"startLine":2348}}}],"partialFingerprints":{"codehealthFindingId/v1":"4bb0ea628d74988e881a65815d85b6b32b6f3fac8309ca2f078dca3a3afc040b"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorApplicationTransactionEditor.validateFileTransactions (cognitive 23): PhabricatorApplicationTransactionEditor.validateFileTransactions has cognitive complexity 23 (threshold 15). Drivers by points: if/else 16, loops 6, boolean chains 1 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php"},"region":{"startLine":2942}}}],"partialFingerprints":{"codehealthFindingId/v1":"d39ea41873a90abf55aa55af46ac401925e29f1c417c579e51d82cfdab6cbd38"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorApplicationTransactionEditor.applyProjectConflictRules (cognitive 23): PhabricatorApplicationTransactionEditor.applyProjectConflictRules has cognitive complexity 23 (threshold 15). Drivers by points: if/else 17, loops 6 (nesting depth added 11). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php"},"region":{"startLine":4755}}}],"partialFingerprints":{"codehealthFindingId/v1":"8f5c56a60be3b275ec1625d447c20a8a7af75a1839f3a6c625e72934acbe5ef2"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorCustomField.buildFieldList (cognitive 23): PhabricatorCustomField.buildFieldList has cognitive complexity 23 (threshold 15). Drivers by points: if/else 17, loops 6 (nesting depth added 12). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/customfield/field/PhabricatorCustomField.php"},"region":{"startLine":125}}}],"partialFingerprints":{"codehealthFindingId/v1":"9eef6d0c28cd3fe54d297dd90271eee9468cbfd4b7f9788c28289248c8445fdc"}},{"ruleId":"D2","level":"warning","message":{"text":"PhutilMarkupTestCase.testTagJavascriptProtocolRejection (cognitive 23): PhutilMarkupTestCase.testTagJavascriptProtocolRejection has cognitive complexity 23 (threshold 15). Drivers by points: ternaries 10, if/else 7, error handling 3, loops 3 (nesting depth added 14). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/markup/__tests__/PhutilMarkupTestCase.php"},"region":{"startLine":65}}}],"partialFingerprints":{"codehealthFindingId/v1":"3d9634587fc67b02b7aa8edffc250cbe3e4fc8178d606a0f1a6511e3f76e3760"}},{"ruleId":"D2","level":"warning","message":{"text":"onupdate (cognitive 23): onupdate has cognitive complexity 23 (threshold 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"webroot/rsrc/js/core/behavior-audio-source.js"},"region":{"startLine":39}}}],"partialFingerprints":{"codehealthFindingId/v1":"421ea65c89c6eb49b2b05b1c75f54afe50b170862cfae130afac93bd1a52bfad"}},{"ruleId":"D2","level":"warning","message":{"text":"_onmove (cognitive 23): _onmove has cognitive complexity 23 (threshold 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"webroot/rsrc/js/core/DraggableList.js"},"region":{"startLine":486}}}],"partialFingerprints":{"codehealthFindingId/v1":"c4d9d9d4e9a77bcff873a41f5e4d16c5eac121b443950623fa6de19b575f52ae"}},{"ruleId":"D2","level":"warning","message":{"text":"_redrawBanner (cognitive 23): _redrawBanner has cognitive complexity 23 (threshold 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"webroot/rsrc/js/application/diff/DiffChangesetList.js"},"region":{"startLine":1817}}}],"partialFingerprints":{"codehealthFindingId/v1":"dca8a2265e133b20525260045f73c45e26a43f19677bcb58b10019bf60f1a266"}},{"ruleId":"D2","level":"warning","message":{"text":"PHPMailer.CreateHeader (cognitive 22): PHPMailer.CreateHeader has cognitive complexity 22 (threshold 15). Drivers by points: if/else 16, loops 4, boolean chains 2 (nesting depth added 5). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"externals/phpmailer/class.phpmailer.php"},"region":{"startLine":1057}}}],"partialFingerprints":{"codehealthFindingId/v1":"6ac92836f8f69d10cecd4f06972d5ad378a37e05af47aacc52ae9a7f14b40240"}},{"ruleId":"D2","level":"warning","message":{"text":"Stripe_ApiRequestor._curlRequest (cognitive 22): Stripe_ApiRequestor._curlRequest has cognitive complexity 22 (threshold 15). Drivers by points: if/else 20, boolean chains 2 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"externals/stripe-php/lib/Stripe/ApiRequestor.php"},"region":{"startLine":218}}}],"partialFingerprints":{"codehealthFindingId/v1":"2c683b83a4f577939f43c6f0bec37194badecbc08fe6dd70fb823255e45552ca"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorAuthOneTimeLoginController.handleRequest (cognitive 22): PhabricatorAuthOneTimeLoginController.handleRequest has cognitive complexity 22 (threshold 15). Drivers by points: if/else 18, boolean chains 2, loops 1, match/switch 1 (nesting depth added 5). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/controller/PhabricatorAuthOneTimeLoginController.php"},"region":{"startLine":10}}}],"partialFingerprints":{"codehealthFindingId/v1":"777ca136122ebe27be314ca83abc04c3a7ec7b59079820460fcce23035b011f2"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorAuthSSHKeyEditor.validateTransaction (cognitive 22): PhabricatorAuthSSHKeyEditor.validateTransaction has cognitive complexity 22 (threshold 15). Drivers by points: if/else 12, loops 5, error handling 4, match/switch 1 (nesting depth added 13). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/editor/PhabricatorAuthSSHKeyEditor.php"},"region":{"startLine":101}}}],"partialFingerprints":{"codehealthFindingId/v1":"ac9b90c960104f724d9318e11254f6251baf8412a54074858d63fb2d3f2dbcba"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorAuthSSHPrivateKey.newBarePrivateKey (cognitive 22): PhabricatorAuthSSHPrivateKey.newBarePrivateKey has cognitive complexity 22 (threshold 15). Drivers by points: if/else 21, loops 1 (nesting depth added 5). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/sshkey/PhabricatorAuthSSHPrivateKey.php"},"region":{"startLine":36}}}],"partialFingerprints":{"codehealthFindingId/v1":"1a350364a8b067b478c775ad23410b482374d9ccf32a1f5f4528c10b2b31c0a3"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorCalendarEventQuery.buildWhereClauseParts (cognitive 22): PhabricatorCalendarEventQuery.buildWhereClauseParts has cognitive complexity 22 (threshold 15). Drivers by points: if/else 20, loops 2 (nesting depth added 2). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/query/PhabricatorCalendarEventQuery.php"},"region":{"startLine":357}}}],"partialFingerprints":{"codehealthFindingId/v1":"bf6f1bd22f67cc04947b1f5821387c3e761c8f453d5f362a881cbda149e3c8c7"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorDashboardQueryPanelInstallController.handleRequest (cognitive 22): PhabricatorDashboardQueryPanelInstallController.handleRequest has cognitive complexity 22 (threshold 15). Drivers by points: if/else 22 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/dashboard/controller/PhabricatorDashboardQueryPanelInstallController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"6325cd80a403fd077f6058d608a694011fa55427ad564328ad97058eec0375d2"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialCreateInlineConduitAPIMethod.execute (cognitive 22): DifferentialCreateInlineConduitAPIMethod.execute has cognitive complexity 22 (threshold 15). Drivers by points: if/else 20, boolean chains 1, loops 1 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/conduit/DifferentialCreateInlineConduitAPIMethod.php"},"region":{"startLine":45}}}],"partialFingerprints":{"codehealthFindingId/v1":"5c009a748068a72429ff1a5a8ee5a38b064f409c030a8b0dc16eb243965f9cea"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialTransactionEditor.expandCustomRemarkupBlockTransactions (cognitive 22): DifferentialTransactionEditor.expandCustomRemarkupBlockTransactions has cognitive complexity 22 (threshold 15). Drivers by points: if/else 11, loops 11 (nesting depth added 6). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/editor/DifferentialTransactionEditor.php"},"region":{"startLine":807}}}],"partialFingerprints":{"codehealthFindingId/v1":"1c5b859781dce3c23578523612e6d33369ce75937cb8b989910a69d431c09c3b"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialInlineCommentMailView.buildMailSection (cognitive 22): DifferentialInlineCommentMailView.buildMailSection has cognitive complexity 22 (threshold 15). Drivers by points: if/else 18, loops 3, boolean chains 1 (nesting depth added 12). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/mail/DifferentialInlineCommentMailView.php"},"region":{"startLine":29}}}],"partialFingerprints":{"codehealthFindingId/v1":"dc2b91c11fbe294183cccc86f0ce8057244fb79f665eedc3e5a81fc214030909"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialChangesetDetailView.render (cognitive 22): DifferentialChangesetDetailView.render has cognitive complexity 22 (threshold 15). Drivers by points: if/else 22 (nesting depth added 6). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/view/DifferentialChangesetDetailView.php"},"region":{"startLine":105}}}],"partialFingerprints":{"codehealthFindingId/v1":"6e72311b624d935ee6b8f29dcdf0df586552c7fa54ad96a5d8b8e803139d42ac"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialTransactionView.renderTransactionContent (cognitive 22): DifferentialTransactionView.renderTransactionContent has cognitive complexity 22 (threshold 15). Drivers by points: if/else 14, loops 6, match/switch 2 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/view/DifferentialTransactionView.php"},"region":{"startLine":82}}}],"partialFingerprints":{"codehealthFindingId/v1":"bfeb82a3e02f3a579fd57e14e563e1ba6b51c36a5367ec5a5d76f837c1374ac0"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionLintSaveRunner.runArcLint (cognitive 22): DiffusionLintSaveRunner.runArcLint has cognitive complexity 22 (threshold 15). Drivers by points: if/else 11, loops 6, error handling 3, boolean chains 2 (nesting depth added 11). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/DiffusionLintSaveRunner.php"},"region":{"startLine":157}}}],"partialFingerprints":{"codehealthFindingId/v1":"cbd71dd2ae33702041b157741928bf88c5a690aa25a9addc89fb365041370dc2"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionSubversionServeSSHWorkflow.willWriteMessageCallback (cognitive 22): DiffusionSubversionServeSSHWorkflow.willWriteMessageCallback has cognitive complexity 22 (threshold 15). Drivers by points: if/else 16, match/switch 4, boolean chains 1, loops 1 (nesting depth added 13). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/ssh/DiffusionSubversionServeSSHWorkflow.php"},"region":{"startLine":197}}}],"partialFingerprints":{"codehealthFindingId/v1":"bc93b023984d9a678cc5a47f76c3d9b2729b3787141e610e9780b97d602923d1"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionPushLogListView.render (cognitive 22): DiffusionPushLogListView.render has cognitive complexity 22 (threshold 15). Drivers by points: if/else 18, loops 4 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/view/DiffusionPushLogListView.php"},"region":{"startLine":13}}}],"partialFingerprints":{"codehealthFindingId/v1":"d44b5213189a519c6dba9c8c01db327afd68605f6ab9051faa1fdd6b10537ba9"}},{"ruleId":"D2","level":"warning","message":{"text":"DoorkeeperBridgeGitHubUser.pullRefs (cognitive 22): DoorkeeperBridgeGitHubUser.pullRefs has cognitive complexity 22 (threshold 15). Drivers by points: if/else 15, loops 3, boolean chains 2, error handling 2 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/doorkeeper/bridge/DoorkeeperBridgeGitHubUser.php"},"region":{"startLine":20}}}],"partialFingerprints":{"codehealthFindingId/v1":"bdbf0ef8a0468e47a4b5c431acc7f7351462cece2cd0d6cd90b6c82544658649"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorFileDataController.handleRequest (cognitive 22): PhabricatorFileDataController.handleRequest has cognitive complexity 22 (threshold 15). Drivers by points: if/else 15, boolean chains 7 (nesting depth added 2). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/files/controller/PhabricatorFileDataController.php"},"region":{"startLine":17}}}],"partialFingerprints":{"codehealthFindingId/v1":"100923cc9209aba5a39146c500222bf05f44e2b45c6582c0f8e5b452aaa5e5ca"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorEmbedFileRemarkupRule.renderImageFile (cognitive 22): PhabricatorEmbedFileRemarkupRule.renderImageFile has cognitive complexity 22 (threshold 15). Drivers by points: if/else 14, match/switch 5, boolean chains 2, ternaries 1 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/files/markup/PhabricatorEmbedFileRemarkupRule.php"},"region":{"startLine":129}}}],"partialFingerprints":{"codehealthFindingId/v1":"bb34a4ef64c3b7df9a2d867b8a85258b050636a3a66a34d2994edf3b8b7eccff"}},{"ruleId":"D2","level":"warning","message":{"text":"ManiphestEditEngine.getColumnMap (cognitive 22): ManiphestEditEngine.getColumnMap has cognitive complexity 22 (threshold 15). Drivers by points: if/else 18, loops 3, boolean chains 1 (nesting depth added 11). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/maniphest/editor/ManiphestEditEngine.php"},"region":{"startLine":466}}}],"partialFingerprints":{"codehealthFindingId/v1":"56f610a13d8c8f22be38953a79fe0d1455f56d260782bd63f849e5a0fcd82213"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorPasteRemarkupRule.renderObjectEmbed (cognitive 22): PhabricatorPasteRemarkupRule.renderObjectEmbed has cognitive complexity 22 (threshold 15). Drivers by points: if/else 15, loops 7 (nesting depth added 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/paste/remarkup/PhabricatorPasteRemarkupRule.php"},"region":{"startLine":20}}}],"partialFingerprints":{"codehealthFindingId/v1":"9f72e596d9aae972deb20f5e4a88e863fe24875c359ecd7d80c931b324284038"}},{"ruleId":"D2","level":"warning","message":{"text":"PhameBlogQuery.didFilterPage (cognitive 22): PhameBlogQuery.didFilterPage has cognitive complexity 22 (threshold 15). Drivers by points: if/else 18, loops 4 (nesting depth added 11). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phame/query/PhameBlogQuery.php"},"region":{"startLine":82}}}],"partialFingerprints":{"codehealthFindingId/v1":"97032ed07188528f41d48902761d029a6d0f1b441781b811607db393ce01e2a2"}},{"ruleId":"D2","level":"warning","message":{"text":"PhortuneMerchantInvoiceCreateController.handleMerchantRequest (cognitive 22): PhortuneMerchantInvoiceCreateController.handleMerchantRequest has cognitive complexity 22 (threshold 15). Drivers by points: if/else 18, error handling 3, boolean chains 1 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phortune/controller/merchant/PhortuneMerchantInvoiceCreateController.php"},"region":{"startLine":10}}}],"partialFingerprints":{"codehealthFindingId/v1":"543e062e87b0903a210f035e63e9278fb21bb2c001fbd380e67679c461462014"}},{"ruleId":"D2","level":"warning","message":{"text":"PhortuneOrderSummaryView.newMessagesView (cognitive 22): PhortuneOrderSummaryView.newMessagesView has cognitive complexity 22 (threshold 15). Drivers by points: if/else 21, match/switch 1 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phortune/view/PhortuneOrderSummaryView.php"},"region":{"startLine":49}}}],"partialFingerprints":{"codehealthFindingId/v1":"59fe6d10402ee1f2336db0f922f1a45b2166a7bd695275e3cc448ddd33a0dedf"}},{"ruleId":"D2","level":"warning","message":{"text":"PhortuneOrderTableView.render (cognitive 22): PhortuneOrderTableView.render has cognitive complexity 22 (threshold 15). Drivers by points: if/else 13, loops 6, boolean chains 2, ternaries 1 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phortune/view/PhortuneOrderTableView.php"},"region":{"startLine":56}}}],"partialFingerprints":{"codehealthFindingId/v1":"d054ddced14546937acc935b5bbf45ecb9cd636b12891843f416faa3308013bb"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorProjectHeraldAction.applyProjects (cognitive 22): PhabricatorProjectHeraldAction.applyProjects has cognitive complexity 22 (threshold 15). Drivers by points: if/else 18, loops 4 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/herald/PhabricatorProjectHeraldAction.php"},"region":{"startLine":21}}}],"partialFingerprints":{"codehealthFindingId/v1":"31f76f3ad6803dcbe1add827cab5423296718b1e34b344b83807dd70600b7882"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorRepositoryManagementClusterizeWorkflow.execute (cognitive 22): PhabricatorRepositoryManagementClusterizeWorkflow.execute has cognitive complexity 22 (threshold 15). Drivers by points: if/else 17, loops 3, boolean chains 2 (nesting depth added 6). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/management/PhabricatorRepositoryManagementClusterizeWorkflow.php"},"region":{"startLine":32}}}],"partialFingerprints":{"codehealthFindingId/v1":"1d2ec2706dc120af49660697b93924a01fdb3327ef24d9f8c1fffd764071f9ca"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorRepositoryCommitPublishWorker.shouldTriggerAudit (cognitive 22): PhabricatorRepositoryCommitPublishWorker.shouldTriggerAudit has cognitive complexity 22 (threshold 15). Drivers by points: if/else 21, match/switch 1 (nesting depth added 12). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/worker/PhabricatorRepositoryCommitPublishWorker.php"},"region":{"startLine":229}}}],"partialFingerprints":{"codehealthFindingId/v1":"320daa3079d3a45586f7d37aee4046aefd2e1c4fe9559a10dafb81bff791cb2a"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorSearchEditController.handleRequest (cognitive 22): PhabricatorSearchEditController.handleRequest has cognitive complexity 22 (threshold 15). Drivers by points: if/else 21, boolean chains 1 (nesting depth added 6). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/search/controller/PhabricatorSearchEditController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"5b5c786a7629e6e15fdd5d427c5df7c05b8563a766b95af474124a9938107d1b"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorFerretFulltextEngineExtension.updateStoredNgrams (cognitive 22): PhabricatorFerretFulltextEngineExtension.updateStoredNgrams has cognitive complexity 22 (threshold 15). Drivers by points: if/else 12, loops 10 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/search/engineextension/PhabricatorFerretFulltextEngineExtension.php"},"region":{"startLine":341}}}],"partialFingerprints":{"codehealthFindingId/v1":"69a6cab188b49e94cc2ff418a3cc435e9bb14ec370fda2e68555016935a7f797"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorSearchManagementIndexWorkflow.getIndexableObjectsByTypes (cognitive 22): PhabricatorSearchManagementIndexWorkflow.getIndexableObjectsByTypes has cognitive complexity 22 (threshold 15). Drivers by points: if/else 16, loops 6 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/search/management/PhabricatorSearchManagementIndexWorkflow.php"},"region":{"startLine":317}}}],"partialFingerprints":{"codehealthFindingId/v1":"5421c4eaf08a2fb89786f325fe7a3faffe85e2b809dec094458c755e5c40b5fe"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorSettingsMainController.buildPanels (cognitive 22): PhabricatorSettingsMainController.buildPanels has cognitive complexity 22 (threshold 15). Drivers by points: if/else 19, boolean chains 2, loops 1 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/settings/controller/PhabricatorSettingsMainController.php"},"region":{"startLine":139}}}],"partialFingerprints":{"codehealthFindingId/v1":"276eb669779cfd145fc5883b4d7b4a778abbf35be80454d7148101bf30c60a31"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorWorkerTriggerQuery.loadPage (cognitive 22): PhabricatorWorkerTriggerQuery.loadPage has cognitive complexity 22 (threshold 15). Drivers by points: if/else 9, loops 7, error handling 6 (nesting depth added 13). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/daemon/workers/query/PhabricatorWorkerTriggerQuery.php"},"region":{"startLine":80}}}],"partialFingerprints":{"codehealthFindingId/v1":"9465ba7672851dad3519a7bee0d64affb30df87a2d989cf9bd62566c3f3b3e80"}},{"ruleId":"D2","level":"warning","message":{"text":"PhutilProseDiff.reorderParts (cognitive 22): PhutilProseDiff.reorderParts has cognitive complexity 22 (threshold 15). Drivers by points: if/else 10, loops 8, boolean chains 2, match/switch 2 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/diff/prose/PhutilProseDiff.php"},"region":{"startLine":79}}}],"partialFingerprints":{"codehealthFindingId/v1":"a44522e622f4b80060ce49839de4085a9feb97b0bb7cfe7af670b74f459daaf1"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorDiffInlineCommentQuery.loadInlineCommentContext (cognitive 22): PhabricatorDiffInlineCommentQuery.loadInlineCommentContext has cognitive complexity 22 (threshold 15). Drivers by points: if/else 17, loops 5 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/diff/query/PhabricatorDiffInlineCommentQuery.php"},"region":{"startLine":281}}}],"partialFingerprints":{"codehealthFindingId/v1":"3d269590e751f26168f31c40f81dbfabd87479b03b5c62110cb945fa8a836a1d"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorChangesetViewStateEngine.updateHiddenState (cognitive 22): PhabricatorChangesetViewStateEngine.updateHiddenState has cognitive complexity 22 (threshold 15). Drivers by points: if/else 22 (nesting depth added 13). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/diff/viewstate/PhabricatorChangesetViewStateEngine.php"},"region":{"startLine":189}}}],"partialFingerprints":{"codehealthFindingId/v1":"f7803bb63408254a831eb4dbb6c069a1906018f1ee7daa635689ec74715c4d82"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorEdgeQuery.execute (cognitive 22): PhabricatorEdgeQuery.execute has cognitive complexity 22 (threshold 15). Drivers by points: loops 15, if/else 7 (nesting depth added 12). To reduce it, break up the iteration: give each loop body a named function, and split a multi-phase loop into one function per phase so no single body carries the whole pipeline."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/edges/query/PhabricatorEdgeQuery.php"},"region":{"startLine":167}}}],"partialFingerprints":{"codehealthFindingId/v1":"d7d2d4b947f00f094d200076c1d31449f897e4f09d7b6d7825ad02fe00ba763c"}},{"ruleId":"D2","level":"warning","message":{"text":"PhutilRemarkupQuotedBlockRule.normalizeQuotedBody (cognitive 22): PhutilRemarkupQuotedBlockRule.normalizeQuotedBody has cognitive complexity 22 (threshold 15). Drivers by points: if/else 16, loops 5, boolean chains 1 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/markup/blockrule/PhutilRemarkupQuotedBlockRule.php"},"region":{"startLine":26}}}],"partialFingerprints":{"codehealthFindingId/v1":"1850b33501599292d6980e15b825520b9dc736e81aa1e93292afbb0c345065f0"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorNavigationRemarkupRule.markupNavigation (cognitive 22): PhabricatorNavigationRemarkupRule.markupNavigation has cognitive complexity 22 (threshold 15). Drivers by points: if/else 20, loops 2 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/markup/rule/PhabricatorNavigationRemarkupRule.php"},"region":{"startLine":16}}}],"partialFingerprints":{"codehealthFindingId/v1":"62228aab75f6817db2d9c9d363b06d433194d6532be617c265d0d334c252071b"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorCursorPagedPolicyAwareQuery.formatOrderClause (cognitive 22): PhabricatorCursorPagedPolicyAwareQuery.formatOrderClause has cognitive complexity 22 (threshold 15). Drivers by points: if/else 18, match/switch 3, loops 1 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/query/policy/PhabricatorCursorPagedPolicyAwareQuery.php"},"region":{"startLine":1270}}}],"partialFingerprints":{"codehealthFindingId/v1":"f3edef59d497aecd300f78b94fc5de01813e04cba8fe167982219fb40f43e051"}},{"ruleId":"D2","level":"warning","message":{"text":"PHUIObjectItemView.getTagAttributes (cognitive 22): PHUIObjectItemView.getTagAttributes has cognitive complexity 22 (threshold 15). Drivers by points: if/else 20, boolean chains 1, match/switch 1 (nesting depth added 2). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/phui/PHUIObjectItemView.php"},"region":{"startLine":287}}}],"partialFingerprints":{"codehealthFindingId/v1":"f248e340ead37f5baf1e29f3a039434ad2f649f25277deed69e4da9773a94221"}},{"ruleId":"D2","level":"warning","message":{"text":"AphrontStackTraceView.render (cognitive 22): AphrontStackTraceView.render has cognitive complexity 22 (threshold 15). Drivers by points: if/else 18, loops 3, boolean chains 1 (nesting depth added 11). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/widget/AphrontStackTraceView.php"},"region":{"startLine":12}}}],"partialFingerprints":{"codehealthFindingId/v1":"bede8db5ce966ddd94cb698cf2fed7c6192dff4faf234c8dfe338a4c88f291c4"}},{"ruleId":"D2","level":"warning","message":{"text":"getNewValue (cognitive 22): getNewValue has cognitive complexity 22 (threshold 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"webroot/rsrc/js/core/behavior-time-typeahead.js"},"region":{"startLine":82}}}],"partialFingerprints":{"codehealthFindingId/v1":"327a4f9695059990a560a057253fd969d6ce8d1b2f1a839de64854e52b525dac"}},{"ruleId":"D2","level":"warning","message":{"text":"redraw (cognitive 22): redraw has cognitive complexity 22 (threshold 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"webroot/rsrc/js/application/projects/WorkboardColumn.js"},"region":{"startLine":210}}}],"partialFingerprints":{"codehealthFindingId/v1":"bcb03fbca9d17f208b809a82f8b5e0c776bb089450c4b61c42c89b90b395bd43"}},{"ruleId":"D2","level":"warning","message":{"text":"PHPMailerLite.CreateHeader (cognitive 21): PHPMailerLite.CreateHeader has cognitive complexity 21 (threshold 15). Drivers by points: if/else 17, loops 4 (nesting depth added 5). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"externals/phpmailer/class.phpmailer-lite.php"},"region":{"startLine":924}}}],"partialFingerprints":{"codehealthFindingId/v1":"ab1bda3c50e04290a02269e5e36fdc194eac74eacd271d5c2a2b0961670505a8"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorExternalAccountQuery.willFilterPage (cognitive 21): PhabricatorExternalAccountQuery.willFilterPage has cognitive complexity 21 (threshold 15). Drivers by points: if/else 15, loops 5, boolean chains 1 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/query/PhabricatorExternalAccountQuery.php"},"region":{"startLine":69}}}],"partialFingerprints":{"codehealthFindingId/v1":"d13358c897e13f8ef5ecfe8dc5e83104f72d73ea816ae091d32bd55291732ec5"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorCalendarEventEditController.handleRequest (cognitive 21): PhabricatorCalendarEventEditController.handleRequest has cognitive complexity 21 (threshold 15). Drivers by points: if/else 21 (nesting depth added 12). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/controller/PhabricatorCalendarEventEditController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"25866b00f9eb082c6c3067bcc972243c9fdbea211655243244a800d091f88657"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorCalendarEventEditor.validateAllTransactions (cognitive 21): PhabricatorCalendarEventEditor.validateAllTransactions has cognitive complexity 21 (threshold 15). Drivers by points: if/else 19, boolean chains 1, loops 1 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/editor/PhabricatorCalendarEventEditor.php"},"region":{"startLine":188}}}],"partialFingerprints":{"codehealthFindingId/v1":"a3752dd3d3e21e19797f6985307940d95e02f5d63436cb540aa292a23a98b3ad"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorChatLogChannelLogController.handleRequest (cognitive 21): PhabricatorChatLogChannelLogController.handleRequest has cognitive complexity 21 (threshold 15). Drivers by points: if/else 15, loops 3, ternaries 2, boolean chains 1 (nesting depth added 6). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/chatlog/controller/PhabricatorChatLogChannelLogController.php"},"region":{"startLine":10}}}],"partialFingerprints":{"codehealthFindingId/v1":"3c0179cc49033ae6fd466bc05b0cb59fab1ea73b3e95b16d1e6fe86c286b8687"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialRevisionQuery.loadReviewers (cognitive 21): DifferentialRevisionQuery.loadReviewers has cognitive complexity 21 (threshold 15). Drivers by points: if/else 15, loops 4, boolean chains 2 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/query/DifferentialRevisionQuery.php"},"region":{"startLine":956}}}],"partialFingerprints":{"codehealthFindingId/v1":"81e96e3c79db90379e8d27bd2921385ce2e9645f587e11b1a5a9946b595aded9"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionRepositoryBasicsManagementPanel.buildStateView (cognitive 21): DiffusionRepositoryBasicsManagementPanel.buildStateView has cognitive complexity 21 (threshold 15). Drivers by points: if/else 21 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/management/DiffusionRepositoryBasicsManagementPanel.php"},"region":{"startLine":745}}}],"partialFingerprints":{"codehealthFindingId/v1":"037f1086ee188276e1a134a776a19788708e673e77afe372112bb099593be0c8"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionSubversionServeSSHWorkflow.identifyRepository (cognitive 21): DiffusionSubversionServeSSHWorkflow.identifyRepository has cognitive complexity 21 (threshold 15). Drivers by points: if/else 19, loops 2 (nesting depth added 11). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/ssh/DiffusionSubversionServeSSHWorkflow.php"},"region":{"startLine":41}}}],"partialFingerprints":{"codehealthFindingId/v1":"4c4da7d34ac211194d8dcc40703882ca0af79741ca323be26ba5fae10f418de4"}},{"ruleId":"D2","level":"warning","message":{"text":"DivinerPHPAtomizer.parseReturnType (cognitive 21): DivinerPHPAtomizer.parseReturnType has cognitive complexity 21 (threshold 15). Drivers by points: if/else 20, boolean chains 1 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diviner/atomizer/DivinerPHPAtomizer.php"},"region":{"startLine":266}}}],"partialFingerprints":{"codehealthFindingId/v1":"00a52bd1db94b05d5e9abf76b0759d8e10368f57dd54b61d892fe21a409d27e2"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorFaviconRef.newTemplateFile (cognitive 21): PhabricatorFaviconRef.newTemplateFile has cognitive complexity 21 (threshold 15). Drivers by points: if/else 20, loops 1 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/files/favicon/PhabricatorFaviconRef.php"},"region":{"startLine":344}}}],"partialFingerprints":{"codehealthFindingId/v1":"4979f5f0f6fb94c0f0b0846611afa93a2e8728fac34c670fd2935623fa1dd728"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorImageMacroRemarkupRule.didMarkupText (cognitive 21): PhabricatorImageMacroRemarkupRule.didMarkupText has cognitive complexity 21 (threshold 15). Drivers by points: if/else 15, match/switch 3, loops 2, boolean chains 1 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/macro/markup/PhabricatorImageMacroRemarkupRule.php"},"region":{"startLine":52}}}],"partialFingerprints":{"codehealthFindingId/v1":"1ab1bc0e55cbce2fe1b3ac49093b1fedda7e446f1452cd530d1101e52760a95a"}},{"ruleId":"D2","level":"warning","message":{"text":"ManiphestTaskListView.render (cognitive 21): ManiphestTaskListView.render has cognitive complexity 21 (threshold 15). Drivers by points: if/else 19, boolean chains 1, loops 1 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/maniphest/view/ManiphestTaskListView.php"},"region":{"startLine":32}}}],"partialFingerprints":{"codehealthFindingId/v1":"2ee641deb9abad40b39548c50b0e35696111281d9a495e300f1d0cb37fd7cde6"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorMailManagementVolumeWorkflow.execute (cognitive 21): PhabricatorMailManagementVolumeWorkflow.execute has cognitive complexity 21 (threshold 15). Drivers by points: if/else 14, loops 7 (nesting depth added 12). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/metamta/management/PhabricatorMailManagementVolumeWorkflow.php"},"region":{"startLine":25}}}],"partialFingerprints":{"codehealthFindingId/v1":"0348830068eca0a5e0ac1b5a0a7af76ac575fb05f1c97efd519ed022cecfa4cb"}},{"ruleId":"D2","level":"warning","message":{"text":"NuanceSourceQuery.buildWhereClauseParts (cognitive 21): NuanceSourceQuery.buildWhereClauseParts has cognitive complexity 21 (threshold 15). Drivers by points: if/else 19, loops 2 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/nuance/query/NuanceSourceQuery.php"},"region":{"startLine":68}}}],"partialFingerprints":{"codehealthFindingId/v1":"fe4a7676faface0ea9fe3c2986576596c9ddc2d882fdd245278b156ceecebfe5"}},{"ruleId":"D2","level":"warning","message":{"text":"PhameLiveController.buildApplicationCrumbs (cognitive 21): PhameLiveController.buildApplicationCrumbs has cognitive complexity 21 (threshold 15). Drivers by points: if/else 20, boolean chains 1 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phame/controller/PhameLiveController.php"},"region":{"startLine":155}}}],"partialFingerprints":{"codehealthFindingId/v1":"23416c7a6729bedcf4358908002bc3d09218bdb6eea4394fe29bc5462f68498c"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorHandleQuery.loadPage (cognitive 21): PhabricatorHandleQuery.loadPage has cognitive complexity 21 (threshold 15). Drivers by points: if/else 17, loops 4 (nesting depth added 11). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phid/query/PhabricatorHandleQuery.php"},"region":{"startLine":26}}}],"partialFingerprints":{"codehealthFindingId/v1":"5b9e92df69b8d1e737cb7c792f171651eaa9fb2c55fb40280039ffca5912b26e"}},{"ruleId":"D2","level":"warning","message":{"text":"PhortuneCartCheckoutController.handleCartRequest (cognitive 21): PhortuneCartCheckoutController.handleCartRequest has cognitive complexity 21 (threshold 15). Drivers by points: if/else 12, loops 4, error handling 3, boolean chains 1, match/switch 1 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phortune/controller/cart/PhortuneCartCheckoutController.php"},"region":{"startLine":14}}}],"partialFingerprints":{"codehealthFindingId/v1":"d9530e174fedb061fdd05496ca659e59f830ebe25c31acd3bc7213409fb4f48a"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorProjectTransactionEditor.validateAllTransactions (cognitive 21): PhabricatorProjectTransactionEditor.validateAllTransactions has cognitive complexity 21 (threshold 15). Drivers by points: if/else 15, match/switch 4, loops 2 (nesting depth added 12). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/editor/PhabricatorProjectTransactionEditor.php"},"region":{"startLine":44}}}],"partialFingerprints":{"codehealthFindingId/v1":"3631df3ebcacaa1da0268c2371b10d568155631dfd17a72217729ffb9952fe74"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorBoardResponseEngine.buildResponse (cognitive 21): PhabricatorBoardResponseEngine.buildResponse has cognitive complexity 21 (threshold 15). Drivers by points: if/else 17, loops 4 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/engine/PhabricatorBoardResponseEngine.php"},"region":{"startLine":76}}}],"partialFingerprints":{"codehealthFindingId/v1":"3590e564daa0a85bedf98cfb4dc31db261225203c8966d6b98100d9658de7863"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorProjectPointsProfileMenuItem.newMenuItemViewList (cognitive 21): PhabricatorProjectPointsProfileMenuItem.newMenuItemViewList has cognitive complexity 21 (threshold 15). Drivers by points: if/else 19, loops 2 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/menuitem/PhabricatorProjectPointsProfileMenuItem.php"},"region":{"startLine":55}}}],"partialFingerprints":{"codehealthFindingId/v1":"8a76ea3e61b6ca8877bf5138305bac93ca13cc122eef37b254e01e48d0bbe9af"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorSearchManagementNgramsWorkflow.execute (cognitive 21): PhabricatorSearchManagementNgramsWorkflow.execute has cognitive complexity 21 (threshold 15). Drivers by points: if/else 13, loops 5, boolean chains 3 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/search/management/PhabricatorSearchManagementNgramsWorkflow.php"},"region":{"startLine":29}}}],"partialFingerprints":{"codehealthFindingId/v1":"2ea98cb938167a8abda83247bf6c6f5d0ce420eac0b033b19b6d1f375a8e6be8"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorApplicationTransactionEditor.validateEditParameters (cognitive 21): PhabricatorApplicationTransactionEditor.validateEditParameters has cognitive complexity 21 (threshold 15). Drivers by points: if/else 17, boolean chains 3, loops 1 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php"},"region":{"startLine":1756}}}],"partialFingerprints":{"codehealthFindingId/v1":"cced05504ea12e29a264cdc09bb94dcfae9070f28e2df272857866562e586be2"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorApplicationEditHTTPParameterHelpView.render (cognitive 21): PhabricatorApplicationEditHTTPParameterHelpView.render has cognitive complexity 21 (threshold 15). Drivers by points: if/else 12, loops 7, ternaries 2 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/view/PhabricatorApplicationEditHTTPParameterHelpView.php"},"region":{"startLine":33}}}],"partialFingerprints":{"codehealthFindingId/v1":"41d00cdecca1f898328c28ff3d3be7c6efc94536cd329964710472a2c49fca9a"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorCustomFieldList.appendFieldsToPropertyList (cognitive 21): PhabricatorCustomFieldList.appendFieldsToPropertyList has cognitive complexity 21 (threshold 15). Drivers by points: if/else 12, match/switch 5, loops 4 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/customfield/field/PhabricatorCustomFieldList.php"},"region":{"startLine":100}}}],"partialFingerprints":{"codehealthFindingId/v1":"774bad3d8e3872d7b83f322a4d63aacb0c42ad0de48551230c90963b868f17de"}},{"ruleId":"D2","level":"warning","message":{"text":"PhutilRemarkupCodeBlockRule.getMatchingLineCount (cognitive 21): PhutilRemarkupCodeBlockRule.getMatchingLineCount has cognitive complexity 21 (threshold 15). Drivers by points: if/else 19, boolean chains 1, loops 1 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/markup/blockrule/PhutilRemarkupCodeBlockRule.php"},"region":{"startLine":5}}}],"partialFingerprints":{"codehealthFindingId/v1":"a830c783c8b7768fab9afe89c048cad6233bc40380717c7239477deb48c21a4c"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorGlobalLock.newHint (cognitive 21): PhabricatorGlobalLock.newHint has cognitive complexity 21 (threshold 15). Drivers by points: if/else 21 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/util/PhabricatorGlobalLock.php"},"region":{"startLine":331}}}],"partialFingerprints":{"codehealthFindingId/v1":"4091ee9af064cdb67df498c0720cf0300f87977d6bd7dd05f1916d55d9aa219f"}},{"ruleId":"D2","level":"warning","message":{"text":"AphrontFormDateControl.getTimeTypeaheadValues (cognitive 21): AphrontFormDateControl.getTimeTypeaheadValues has cognitive complexity 21 (threshold 15). Drivers by points: loops 9, ternaries 8, if/else 4 (nesting depth added 12). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/form/control/AphrontFormDateControl.php"},"region":{"startLine":346}}}],"partialFingerprints":{"codehealthFindingId/v1":"86be5a561a985a6c27ccbb7a4cf409c0a3b60a14b9e4f08dd0711ff8d8a08c73"}},{"ruleId":"D2","level":"warning","message":{"text":"AphrontFormPolicyControl.getOptions (cognitive 21): AphrontFormPolicyControl.getOptions has cognitive complexity 21 (threshold 15). Drivers by points: if/else 17, boolean chains 2, loops 2 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/form/control/AphrontFormPolicyControl.php"},"region":{"startLine":103}}}],"partialFingerprints":{"codehealthFindingId/v1":"20c83d1825c279480e947dffedaabcab5493c217338712ecd22f25098b97bb8c"}},{"ruleId":"D2","level":"warning","message":{"text":"_redrawFrame (cognitive 21): _redrawFrame has cognitive complexity 21 (threshold 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"webroot/rsrc/js/application/projects/WorkboardColumn.js"},"region":{"startLine":394}}}],"partialFingerprints":{"codehealthFindingId/v1":"815bb40fb7e60e2c5600c8627cb3716b99a5d295e958471b893c4c2d1b9ce42b"}},{"ruleId":"D2","level":"warning","message":{"text":"_findContentCells (cognitive 21): _findContentCells has cognitive complexity 21 (threshold 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"webroot/rsrc/js/application/diff/DiffChangesetList.js"},"region":{"startLine":1490}}}],"partialFingerprints":{"codehealthFindingId/v1":"69d75b75514d56859ba52baf1acb64eccaba91873f541f687cd8f3db4814638d"}},{"ruleId":"D2","level":"warning","message":{"text":"redrawFileTree (cognitive 21): redrawFileTree has cognitive complexity 21 (threshold 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"webroot/rsrc/js/application/diff/DiffChangeset.js"},"region":{"startLine":860}}}],"partialFingerprints":{"codehealthFindingId/v1":"862e9f9e5b2cc47bb9b977fe778e6380001e4bc4fea68ad77afc576525ace6b6"}},{"ruleId":"D2","level":"warning","message":{"text":"PHPMailerLite.AttachAll (cognitive 20): PHPMailerLite.AttachAll has cognitive complexity 20 (threshold 15). Drivers by points: if/else 18, boolean chains 1, loops 1 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"externals/phpmailer/class.phpmailer-lite.php"},"region":{"startLine":1242}}}],"partialFingerprints":{"codehealthFindingId/v1":"e98bc4a7925de235e3112c0db51516fb578f04da70cf8d50fc8daca88ac60387"}},{"ruleId":"D2","level":"warning","message":{"text":"PHPMailer.AttachAll (cognitive 20): PHPMailer.AttachAll has cognitive complexity 20 (threshold 15). Drivers by points: if/else 18, boolean chains 1, loops 1 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"externals/phpmailer/class.phpmailer.php"},"region":{"startLine":1374}}}],"partialFingerprints":{"codehealthFindingId/v1":"64a1f8d0825cf90bc4560c2fc8a140ab64ec661b20d8c2038f762253a1e91ceb"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorElasticsearchSetupCheck.executeChecks (cognitive 20): PhabricatorElasticsearchSetupCheck.executeChecks has cognitive complexity 20 (threshold 15). Drivers by points: if/else 14, error handling 5, loops 1 (nesting depth added 11). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/check/PhabricatorElasticsearchSetupCheck.php"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"4d2ebf2ee6f5618b67b3f691e23b6fde6c1eee08cfca6a8a51ddb708ef190e5f"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorMySQLSetupCheck.executeRefChecks (cognitive 20): PhabricatorMySQLSetupCheck.executeRefChecks has cognitive complexity 20 (threshold 15). Drivers by points: if/else 20 (nesting depth added 5). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/check/PhabricatorMySQLSetupCheck.php"},"region":{"startLine":22}}}],"partialFingerprints":{"codehealthFindingId/v1":"dcb00a2d5c9db9cb1cc90c92f6923c23ee12f87e79581acaedcabeca678a2e5b"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorConfigClusterNotificationsController.buildClusterNotificationStatus (cognitive 20): PhabricatorConfigClusterNotificationsController.buildClusterNotificationStatus has cognitive complexity 20 (threshold 15). Drivers by points: if/else 13, error handling 6, loops 1 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/controller/services/PhabricatorConfigClusterNotificationsController.php"},"region":{"startLine":38}}}],"partialFingerprints":{"codehealthFindingId/v1":"64368a0b365173e2248fd0279ba8eb2bb8f3034d619f005b0eff175862bd408d"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorConfigDatabaseStatusController.handleRequest (cognitive 20): PhabricatorConfigDatabaseStatusController.handleRequest has cognitive complexity 20 (threshold 15). Drivers by points: if/else 20 (nesting depth added 11). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/controller/services/PhabricatorConfigDatabaseStatusController.php"},"region":{"startLine":12}}}],"partialFingerprints":{"codehealthFindingId/v1":"86faea4a3a98fd1b0b7dacc36ecc6bacfa02571d8340fc6c2c466f8955bebc1b"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorConfigManagementMigrateWorkflow.execute (cognitive 20): PhabricatorConfigManagementMigrateWorkflow.execute has cognitive complexity 20 (threshold 15). Drivers by points: if/else 17, loops 3 (nesting depth added 11). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/management/PhabricatorConfigManagementMigrateWorkflow.php"},"region":{"startLine":14}}}],"partialFingerprints":{"codehealthFindingId/v1":"cf1da326091dd3bc8beca8b778423b7c46dd8c4280ab3effbe8c31bccbe235ac"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorSetupIssueView.renderValueForDisplay (cognitive 20): PhabricatorSetupIssueView.renderValueForDisplay has cognitive complexity 20 (threshold 15). Drivers by points: if/else 20 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/view/PhabricatorSetupIssueView.php"},"region":{"startLine":554}}}],"partialFingerprints":{"codehealthFindingId/v1":"2ea7f96499e1fb290ed0adcd4065dbbde151f8779f360dc22c4496672d2a6230"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorDashboardPanelTabsController.handleAddOperation (cognitive 20): PhabricatorDashboardPanelTabsController.handleAddOperation has cognitive complexity 20 (threshold 15). Drivers by points: if/else 16, loops 4 (nesting depth added 11). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/dashboard/controller/panel/PhabricatorDashboardPanelTabsController.php"},"region":{"startLine":149}}}],"partialFingerprints":{"codehealthFindingId/v1":"7706a92f8fd92edf0c0191690839fee366aa5e661efa21a84b882341cc5e7cbb"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialHarbormasterField.renderDiffPropertyViewValue (cognitive 20): DifferentialHarbormasterField.renderDiffPropertyViewValue has cognitive complexity 20 (threshold 15). Drivers by points: if/else 10, loops 6, error handling 4 (nesting depth added 8). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/customfield/DifferentialHarbormasterField.php"},"region":{"startLine":16}}}],"partialFingerprints":{"codehealthFindingId/v1":"9a6e30d0e8f8030801bd6669a4aca24210e7bbfa804981f7a6452ac759df20d4"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialReviewersHeraldAction.applyReviewers (cognitive 20): DifferentialReviewersHeraldAction.applyReviewers has cognitive complexity 20 (threshold 15). Drivers by points: if/else 17, loops 3 (nesting depth added 5). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/herald/DifferentialReviewersHeraldAction.php"},"region":{"startLine":18}}}],"partialFingerprints":{"codehealthFindingId/v1":"87e0a0cde8aac64af30b1b0e1a173ff7e14caf8f0fdc5ac79d8a6150d3ef3257"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialCreateMailReceiver.processReceivedMail (cognitive 20): DifferentialCreateMailReceiver.processReceivedMail has cognitive complexity 20 (threshold 15). Drivers by points: if/else 9, loops 7, error handling 4 (nesting depth added 7). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/mail/DifferentialCreateMailReceiver.php"},"region":{"startLine":10}}}],"partialFingerprints":{"codehealthFindingId/v1":"c2b06238d1a9738c4745489299ca9107b0bf7a7ca2f4ad1d3ffc17c035c81acb"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialChangesetParser.calculateGapsAndMask (cognitive 20): DifferentialChangesetParser.calculateGapsAndMask has cognitive complexity 20 (threshold 15). Drivers by points: if/else 14, loops 6 (nesting depth added 12). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/parser/DifferentialChangesetParser.php"},"region":{"startLine":1197}}}],"partialFingerprints":{"codehealthFindingId/v1":"dfec7b6a64a7bed49521a29bc99c2374a4fc863032715986c8812af7106e047a"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialHunkParser.reparseHunksForSpecialAttributes (cognitive 20): DifferentialHunkParser.reparseHunksForSpecialAttributes has cognitive complexity 20 (threshold 15). Drivers by points: if/else 16, boolean chains 3, loops 1 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/parser/DifferentialHunkParser.php"},"region":{"startLine":215}}}],"partialFingerprints":{"codehealthFindingId/v1":"0d59d2849f3f69d4e49c2d75b508888261a6f51a8ae514e9e94bd2d1b85d2b5c"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialChangesetHTMLRenderer.renderChangeTypeHeader (cognitive 20): DifferentialChangesetHTMLRenderer.renderChangeTypeHeader has cognitive complexity 20 (threshold 15). Drivers by points: match/switch 17, if/else 3 (nesting depth added 10). To reduce it, keep the dispatch but shrink the arms: move each non-trivial case body into its own named function (or onto the value being matched) so the dispatch reads one line per case, and group related cases into a sub-dispatch. Keep every case explicit, and make the behaviour for cases you do not list a deliberate choice rather than an accident."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/render/DifferentialChangesetHTMLRenderer.php"},"region":{"startLine":21}}}],"partialFingerprints":{"codehealthFindingId/v1":"287d0df0380704b256ed25a7f0fe81e861b5b6c2f67eb4f22bbc098427a49837"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialRevisionReviewersTransaction.validateTransactions (cognitive 20): DifferentialRevisionReviewersTransaction.validateTransactions has cognitive complexity 20 (threshold 15). Drivers by points: if/else 13, loops 3, match/switch 3, boolean chains 1 (nesting depth added 11). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/xaction/DifferentialRevisionReviewersTransaction.php"},"region":{"startLine":316}}}],"partialFingerprints":{"codehealthFindingId/v1":"73e1341ee47acf5f1111a1256188b25d5730c408717e69984f43f0117bb128cd"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionURIEditEngine.buildCustomEditFields (cognitive 20): DiffusionURIEditEngine.buildCustomEditFields has cognitive complexity 20 (threshold 15). Drivers by points: if/else 18, match/switch 2 (nesting depth added 11). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/editor/DiffusionURIEditEngine.php"},"region":{"startLine":83}}}],"partialFingerprints":{"codehealthFindingId/v1":"9e298591654fabd3c54a3943e97671b8b96d98f31c72d09bf928b44ce0f6bc46"}},{"ruleId":"D2","level":"warning","message":{"text":"HeraldPreCommitContentAdapter.getDiffContent (cognitive 20): HeraldPreCommitContentAdapter.getDiffContent has cognitive complexity 20 (threshold 15). Drivers by points: if/else 7, loops 7, match/switch 4, error handling 2 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/herald/HeraldPreCommitContentAdapter.php"},"region":{"startLine":40}}}],"partialFingerprints":{"codehealthFindingId/v1":"813c7520d5501707ce3897ae51e9b023049d15b80623da8711cb9e5ac228d121"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionCommitQuery.loadPage (cognitive 20): DiffusionCommitQuery.loadPage has cognitive complexity 20 (threshold 15). Drivers by points: if/else 14, error handling 4, loops 2 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/query/DiffusionCommitQuery.php"},"region":{"startLine":207}}}],"partialFingerprints":{"codehealthFindingId/v1":"b1708f02f33ea0faba5b43188540e3aa08ec12795bc779fc9f294905890ff54e"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionPathChangeQuery.executeQuery (cognitive 20): DiffusionPathChangeQuery.executeQuery has cognitive complexity 20 (threshold 15). Drivers by points: if/else 14, loops 5, boolean chains 1 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/query/pathchange/DiffusionPathChangeQuery.php"},"region":{"startLine":37}}}],"partialFingerprints":{"codehealthFindingId/v1":"d7ec50f412a29b3c6456640746d65f0bbe17b1dd56fb79ece822b19ea1dcbef1"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionTagListView.render (cognitive 20): DiffusionTagListView.render has cognitive complexity 20 (threshold 15). Drivers by points: if/else 19, loops 1 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/view/DiffusionTagListView.php"},"region":{"startLine":28}}}],"partialFingerprints":{"codehealthFindingId/v1":"af85b559ce790061b6fda73ee31343b58173c631753a6df086382ce692799505"}},{"ruleId":"D2","level":"warning","message":{"text":"DoorkeeperBridgeAsana.pullRefs (cognitive 20): DoorkeeperBridgeAsana.pullRefs has cognitive complexity 20 (threshold 15). Drivers by points: if/else 14, loops 3, error handling 2, boolean chains 1 (nesting depth added 6). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/doorkeeper/bridge/DoorkeeperBridgeAsana.php"},"region":{"startLine":25}}}],"partialFingerprints":{"codehealthFindingId/v1":"d0c6baf66619660efa77cc23bbbb35b02e43060be117dc8c5de23487d5448cde"}},{"ruleId":"D2","level":"warning","message":{"text":"DoorkeeperBridgeJIRA.pullRefs (cognitive 20): DoorkeeperBridgeJIRA.pullRefs has cognitive complexity 20 (threshold 15). Drivers by points: if/else 14, loops 3, error handling 2, boolean chains 1 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/doorkeeper/bridge/DoorkeeperBridgeJIRA.php"},"region":{"startLine":20}}}],"partialFingerprints":{"codehealthFindingId/v1":"271a06289cf381437abe0e60363315964c4f9f17e4b184424ed2f7a9b8dcc606"}},{"ruleId":"D2","level":"warning","message":{"text":"DrydockWorkingCopyBlueprintImplementation.activateLease (cognitive 20): DrydockWorkingCopyBlueprintImplementation.activateLease has cognitive complexity 20 (threshold 15). Drivers by points: if/else 13, loops 4, error handling 3 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/drydock/blueprint/DrydockWorkingCopyBlueprintImplementation.php"},"region":{"startLine":265}}}],"partialFingerprints":{"codehealthFindingId/v1":"cbf7e56968d9497bd9312592deb911e686302ca88b39eb03fa51a46c6fb524bf"}},{"ruleId":"D2","level":"warning","message":{"text":"DrydockLogQuery.didFilterPage (cognitive 20): DrydockLogQuery.didFilterPage has cognitive complexity 20 (threshold 15). Drivers by points: if/else 16, loops 4 (nesting depth added 4). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/drydock/query/DrydockLogQuery.php"},"region":{"startLine":40}}}],"partialFingerprints":{"codehealthFindingId/v1":"8686f4ca838dd2f36942daffd13da29eb7eb5c002a751fb06313ab7433770718"}},{"ruleId":"D2","level":"warning","message":{"text":"DrydockLogListView.render (cognitive 20): DrydockLogListView.render has cognitive complexity 20 (threshold 15). Drivers by points: if/else 19, loops 1 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/drydock/view/DrydockLogListView.php"},"region":{"startLine":53}}}],"partialFingerprints":{"codehealthFindingId/v1":"10a5c4849fe61b02be93e8ed250529adc5f5bb3a43f6ddf8c628fa8c6668768a"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorChartFunctionArgument.newValue (cognitive 20): PhabricatorChartFunctionArgument.newValue has cognitive complexity 20 (threshold 15). Drivers by points: if/else 18, boolean chains 1, match/switch 1 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/fact/chart/PhabricatorChartFunctionArgument.php"},"region":{"startLine":53}}}],"partialFingerprints":{"codehealthFindingId/v1":"abb1caf7d6f05e4e97fb1739302631444a9abacfd8e0c3201e2dca1dc2566f21"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorDocumentEngineBlocks.newTwoUpLayout (cognitive 20): PhabricatorDocumentEngineBlocks.newTwoUpLayout has cognitive complexity 20 (threshold 15). Drivers by points: if/else 17, loops 2, boolean chains 1 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/files/diff/PhabricatorDocumentEngineBlocks.php"},"region":{"startLine":59}}}],"partialFingerprints":{"codehealthFindingId/v1":"b0d7ef9f1e6dbdf383fda0de79e4b50796d8a82e86d80c7e27e87dc595e5cbe4"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorFilesManagementCompactWorkflow.execute (cognitive 20): PhabricatorFilesManagementCompactWorkflow.execute has cognitive complexity 20 (threshold 15). Drivers by points: if/else 12, error handling 5, loops 3 (nesting depth added 11). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/files/management/PhabricatorFilesManagementCompactWorkflow.php"},"region":{"startLine":22}}}],"partialFingerprints":{"codehealthFindingId/v1":"e6cd8b8adb665c1bdfb3e792e20d5ac04cab87cde8f3be33a3a07cb7a017f71e"}},{"ruleId":"D2","level":"warning","message":{"text":"ManiphestTransactionEditor.didApplyTransactions (cognitive 20): ManiphestTransactionEditor.didApplyTransactions has cognitive complexity 20 (threshold 15). Drivers by points: if/else 10, loops 10 (nesting depth added 13). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/maniphest/editor/ManiphestTransactionEditor.php"},"region":{"startLine":868}}}],"partialFingerprints":{"codehealthFindingId/v1":"b07c351c15d7b2ca7d6741e95bac4b44ee4d1fda0b8770b920dcada8a610f33c"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorMailReplyHandler.getMailTargets (cognitive 20): PhabricatorMailReplyHandler.getMailTargets has cognitive complexity 20 (threshold 15). Drivers by points: if/else 17, loops 2, boolean chains 1 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/metamta/replyhandler/PhabricatorMailReplyHandler.php"},"region":{"startLine":206}}}],"partialFingerprints":{"codehealthFindingId/v1":"57b8c14c3ebc094ff7819f9f3727aa8a10608630298a7cf779987f4e3abec514"}},{"ruleId":"D2","level":"warning","message":{"text":"NuanceGitHubRawEvent.getURI (cognitive 20): NuanceGitHubRawEvent.getURI has cognitive complexity 20 (threshold 15). Drivers by points: if/else 17, match/switch 2, boolean chains 1 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/nuance/github/NuanceGitHubRawEvent.php"},"region":{"startLine":103}}}],"partialFingerprints":{"codehealthFindingId/v1":"225eb5c687df3edb6f1ff97b9dacc6d71b1ac073e7da8b9b5dea6990383ed525"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorOwnersPackagePathsTransaction.validateTransactions (cognitive 20): PhabricatorOwnersPackagePathsTransaction.validateTransactions has cognitive complexity 20 (threshold 15). Drivers by points: if/else 11, loops 6, error handling 3 (nesting depth added 11). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/owners/xaction/PhabricatorOwnersPackagePathsTransaction.php"},"region":{"startLine":42}}}],"partialFingerprints":{"codehealthFindingId/v1":"259a7ae0d649bf500c097e4be74eff0b13df31a61d01d43fa51c7b8916886635"}},{"ruleId":"D2","level":"warning","message":{"text":"PassphraseCredentialQuery.willFilterPage (cognitive 20): PassphraseCredentialQuery.willFilterPage has cognitive complexity 20 (threshold 15). Drivers by points: if/else 14, loops 6 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/passphrase/query/PassphraseCredentialQuery.php"},"region":{"startLine":60}}}],"partialFingerprints":{"codehealthFindingId/v1":"e9d2a9dbb373fce6ccab5494bcebaed514cadb507a12768284b81a0cf7cd2e50"}},{"ruleId":"D2","level":"warning","message":{"text":"PassphraseCredentialControl.renderInput (cognitive 20): PassphraseCredentialControl.renderInput has cognitive complexity 20 (threshold 15). Drivers by points: if/else 14, boolean chains 2, error handling 2, loops 1, ternaries 1 (nesting depth added 6). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/passphrase/view/PassphraseCredentialControl.php"},"region":{"startLine":39}}}],"partialFingerprints":{"codehealthFindingId/v1":"0faf033e11bdf7f44bdc5d792ac5cab1e4963abc404669036384fcbd476a149b"}},{"ruleId":"D2","level":"warning","message":{"text":"PhameBlogHeaderPictureController.handleRequest (cognitive 20): PhameBlogHeaderPictureController.handleRequest has cognitive complexity 20 (threshold 15). Drivers by points: if/else 19, boolean chains 1 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phame/controller/blog/PhameBlogHeaderPictureController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"723f942bdeedeac24d688a640a308288ef20548dcd2a123c068a624a8b106cc3"}},{"ruleId":"D2","level":"warning","message":{"text":"PhamePostHeaderPictureController.handleRequest (cognitive 20): PhamePostHeaderPictureController.handleRequest has cognitive complexity 20 (threshold 15). Drivers by points: if/else 19, boolean chains 1 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phame/controller/post/PhamePostHeaderPictureController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"f83ae77fd12593c766239c5480a7e18be70adb6aa524fe7738d82eef8bd961ba"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorObjectQuery.loadPage (cognitive 20): PhabricatorObjectQuery.loadPage has cognitive complexity 20 (threshold 15). Drivers by points: if/else 15, loops 5 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phid/query/PhabricatorObjectQuery.php"},"region":{"startLine":27}}}],"partialFingerprints":{"codehealthFindingId/v1":"ed34df58e35e75df3e3944b4d10fe47817f675b965ae8f094bbd35002dd33b0e"}},{"ruleId":"D2","level":"warning","message":{"text":"PolicyLockOptionType.validateOption (cognitive 20): PolicyLockOptionType.validateOption has cognitive complexity 20 (threshold 15). Drivers by points: if/else 14, error handling 3, loops 3 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/policy/config/PolicyLockOptionType.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"44f461186d2bebadf1e15f2ce47be6d6604db03232a1a3748130e69494f79a9c"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorPolicyQuery.loadObjectPolicyPHIDs (cognitive 20): PhabricatorPolicyQuery.loadObjectPolicyPHIDs has cognitive complexity 20 (threshold 15). Drivers by points: if/else 15, loops 5 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/policy/query/PhabricatorPolicyQuery.php"},"region":{"startLine":193}}}],"partialFingerprints":{"codehealthFindingId/v1":"55964c04985859f89c70b87c69a2b9e0b553f594e68f4acfa7b3e86bba1086d2"}},{"ruleId":"D2","level":"warning","message":{"text":"ProjectQueryConduitAPIMethod.execute (cognitive 20): ProjectQueryConduitAPIMethod.execute has cognitive complexity 20 (threshold 15). Drivers by points: if/else 15, loops 5 (nesting depth added 6). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/conduit/ProjectQueryConduitAPIMethod.php"},"region":{"startLine":55}}}],"partialFingerprints":{"codehealthFindingId/v1":"d020c04fe813d6cc8cd7d32965652071360ef309712852bebdff52eac3bac4c7"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorProjectSubprojectsController.buildCurtainView (cognitive 20): PhabricatorProjectSubprojectsController.buildCurtainView has cognitive complexity 20 (threshold 15). Drivers by points: if/else 14, boolean chains 6 (nesting depth added 2). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/controller/PhabricatorProjectSubprojectsController.php"},"region":{"startLine":121}}}],"partialFingerprints":{"codehealthFindingId/v1":"a2df89402b21ae90125130135b3dda46ce2e81ad4ac59c4784f72a3d3a2e6c96"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorRepositoryManagementImportingWorkflow.execute (cognitive 20): PhabricatorRepositoryManagementImportingWorkflow.execute has cognitive complexity 20 (threshold 15). Drivers by points: if/else 18, loops 2 (nesting depth added 12). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/management/PhabricatorRepositoryManagementImportingWorkflow.php"},"region":{"startLine":26}}}],"partialFingerprints":{"codehealthFindingId/v1":"f660ca14a7aa5e1b699127bb239fee4d2bf93f0dc0cc8c86af7858334aba3b7a"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorElasticFulltextStorageEngine.buildSpec (cognitive 20): PhabricatorElasticFulltextStorageEngine.buildSpec has cognitive complexity 20 (threshold 15). Drivers by points: if/else 16, boolean chains 3, loops 1 (nesting depth added 3). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/search/fulltextstorage/PhabricatorElasticFulltextStorageEngine.php"},"region":{"startLine":108}}}],"partialFingerprints":{"codehealthFindingId/v1":"43273d58f2ce2d06118ee4a1442b5d24929815ef73740091501c1e4c41b5f3f7"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorBulkManagementExportWorkflow.execute (cognitive 20): PhabricatorBulkManagementExportWorkflow.execute has cognitive complexity 20 (threshold 15). Drivers by points: if/else 14, loops 4, boolean chains 2 (nesting depth added 3). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/bulk/management/PhabricatorBulkManagementExportWorkflow.php"},"region":{"startLine":48}}}],"partialFingerprints":{"codehealthFindingId/v1":"639af7d10f309d5e30fff7096164876823aa0f68199d5c75fc1b421d282a759b"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorEditEngineConfigurationSearchEngine.renderResultList (cognitive 20): PhabricatorEditEngineConfigurationSearchEngine.renderResultList has cognitive complexity 20 (threshold 15). Drivers by points: if/else 19, loops 1 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/query/PhabricatorEditEngineConfigurationSearchEngine.php"},"region":{"startLine":103}}}],"partialFingerprints":{"codehealthFindingId/v1":"ab44b0c1b19af40e0d695b26f2b9983db1cd107fd398e52c439fdd78f56306b5"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorApplicationTransactionReplyHandler.processMailCommands (cognitive 20): PhabricatorApplicationTransactionReplyHandler.processMailCommands has cognitive complexity 20 (threshold 15). Drivers by points: loops 12, if/else 8 (nesting depth added 12). To reduce it, break up the iteration: give each loop body a named function, and split a multi-phase loop into one function per phase so no single body carries the whole pipeline."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/replyhandler/PhabricatorApplicationTransactionReplyHandler.php"},"region":{"startLine":115}}}],"partialFingerprints":{"codehealthFindingId/v1":"ea231d207487ec362b6e79fae6b9d1b450a034fa2db799fb87c1189df9eb7261"}},{"ruleId":"D2","level":"warning","message":{"text":"PhutilProseDifferenceEngine.newEditDistanceMatrixDiff (cognitive 20): PhutilProseDifferenceEngine.newEditDistanceMatrixDiff has cognitive complexity 20 (threshold 15). Drivers by points: if/else 19, loops 1 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/diff/prose/PhutilProseDifferenceEngine.php"},"region":{"startLine":163}}}],"partialFingerprints":{"codehealthFindingId/v1":"337837667d2fa906486aec6316375e74e617f78dd4f94c4fd6b380ece846b26c"}},{"ruleId":"D2","level":"warning","message":{"text":"PhutilRemarkupBlockStorage.restore (cognitive 20): PhutilRemarkupBlockStorage.restore has cognitive complexity 20 (threshold 15). Drivers by points: if/else 15, loops 5 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/markup/PhutilRemarkupBlockStorage.php"},"region":{"startLine":53}}}],"partialFingerprints":{"codehealthFindingId/v1":"8ad3f8d9f236696d63144aac5d91ef0f9bf4f4017533a31d7bed2b693ba3007a"}},{"ruleId":"D2","level":"warning","message":{"text":"PhutilRemarkupHyperlinkRule.didMarkupText (cognitive 20): PhutilRemarkupHyperlinkRule.didMarkupText has cognitive complexity 20 (threshold 15). Drivers by points: if/else 12, loops 6, boolean chains 2 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/markup/markuprule/PhutilRemarkupHyperlinkRule.php"},"region":{"startLine":180}}}],"partialFingerprints":{"codehealthFindingId/v1":"2c40788e403eb20bee29df578b09a736297e40332f735f0a4d7814602de82848"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorPolicyAwareQuery.applyWillFilterPageExtensions (cognitive 20): PhabricatorPolicyAwareQuery.applyWillFilterPageExtensions has cognitive complexity 20 (threshold 15). Drivers by points: if/else 15, loops 5 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/query/policy/PhabricatorPolicyAwareQuery.php"},"region":{"startLine":736}}}],"partialFingerprints":{"codehealthFindingId/v1":"50259929444975624de6d45f2aabbd2f698dede955fde0a953bc8c34c3b8023b"}},{"ruleId":"D2","level":"warning","message":{"text":"PHUITimelineEventView.getMenuItems (cognitive 20): PHUITimelineEventView.getMenuItems has cognitive complexity 20 (threshold 15). Drivers by points: if/else 18, boolean chains 2 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/phui/PHUITimelineEventView.php"},"region":{"startLine":661}}}],"partialFingerprints":{"codehealthFindingId/v1":"281690698d3aa1406ec925d1eedad43ee0e24285717ebe35fea854b5855e4e17"}},{"ruleId":"D2","level":"warning","message":{"text":"_getTargetList (cognitive 20): _getTargetList has cognitive complexity 20 (threshold 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"webroot/rsrc/js/core/DraggableList.js"},"region":{"startLine":304}}}],"partialFingerprints":{"codehealthFindingId/v1":"a816b96a07db98ab1b6fa3ee987919fb3923ec04354194f91f496f075dec613b"}},{"ruleId":"D2","level":"warning","message":{"text":"Stripe_ApiRequestor._encodeObjects (cognitive 19): Stripe_ApiRequestor._encodeObjects has cognitive complexity 19 (threshold 15). Drivers by points: if/else 14, loops 5 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"externals/stripe-php/lib/Stripe/ApiRequestor.php"},"region":{"startLine":52}}}],"partialFingerprints":{"codehealthFindingId/v1":"f184214ccc925d84a9d0aeb0c6d2a55d93089f75a1e5598fb0767ac79424c6b7"}},{"ruleId":"D2","level":"warning","message":{"text":"xhprof_lib.xhprof_compute_inclusive_times (cognitive 19): xhprof_lib.xhprof_compute_inclusive_times has cognitive complexity 19 (threshold 15). Drivers by points: if/else 12, loops 7 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"externals/xhprof/xhprof_lib.php"},"region":{"startLine":491}}}],"partialFingerprints":{"codehealthFindingId/v1":"0727df9e63c2a7328ef16bac2d5d60f944815e8db78ebf7f6d418b0614d7cef6"}},{"ruleId":"D2","level":"warning","message":{"text":"PhutilLDAPAuthAdapter.loadLDAPUserData (cognitive 19): PhutilLDAPAuthAdapter.loadLDAPUserData has cognitive complexity 19 (threshold 15). Drivers by points: if/else 17, loops 2 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/adapter/PhutilLDAPAuthAdapter.php"},"region":{"startLine":212}}}],"partialFingerprints":{"codehealthFindingId/v1":"0934e657b8e61e716632e608a44e62839b406bb63596aed2bb545a2cd0e9fab9"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorAuthInviteEngine.processInviteCode (cognitive 19): PhabricatorAuthInviteEngine.processInviteCode has cognitive complexity 19 (threshold 15). Drivers by points: if/else 19 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/engine/PhabricatorAuthInviteEngine.php"},"region":{"startLine":35}}}],"partialFingerprints":{"codehealthFindingId/v1":"9bdb68760ce446c64719cc9f47b22f9637c100fb699df3ae8acf8f0ae4238fbe"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorAuthInviteEngine.handleLoggedInInvite (cognitive 19): PhabricatorAuthInviteEngine.handleLoggedInInvite has cognitive complexity 19 (threshold 15). Drivers by points: if/else 18, boolean chains 1 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/engine/PhabricatorAuthInviteEngine.php"},"region":{"startLine":125}}}],"partialFingerprints":{"codehealthFindingId/v1":"b75e8e230639925f6875590a3ffa2d43f56d95cfaa14c53d8c90772bdce376b5"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorAuthAccountView.render (cognitive 19): PhabricatorAuthAccountView.render has cognitive complexity 19 (threshold 15). Drivers by points: if/else 18, boolean chains 1 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/view/PhabricatorAuthAccountView.php"},"region":{"startLine":19}}}],"partialFingerprints":{"codehealthFindingId/v1":"e7435b324f836f7592dbbf495aa252bed4f0bd610f60692aa059f2cb9bdb6982"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorCalendarEventEditEngine.willApplyTransactions (cognitive 19): PhabricatorCalendarEventEditEngine.willApplyTransactions has cognitive complexity 19 (threshold 15). Drivers by points: if/else 14, boolean chains 4, loops 1 (nesting depth added 6). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/editor/PhabricatorCalendarEventEditEngine.php"},"region":{"startLine":314}}}],"partialFingerprints":{"codehealthFindingId/v1":"a44bf64d0f24be01680e343905d66de60d6e4bbdf28caaae00e4d545694d2e08"}},{"ruleId":"D2","level":"warning","message":{"text":"PhutilCalendarRecurrenceRule.generateNextEvent (cognitive 19): PhutilCalendarRecurrenceRule.generateNextEvent has cognitive complexity 19 (threshold 15). Drivers by points: if/else 16, loops 3 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/parser/data/PhutilCalendarRecurrenceRule.php"},"region":{"startLine":733}}}],"partialFingerprints":{"codehealthFindingId/v1":"f87a6ffc7bfc0a48f36c9c2d098657895e2fa0d5724bf0403a00009173bb3a99"}},{"ruleId":"D2","level":"warning","message":{"text":"PhutilCalendarRecurrenceRule.isCursorBehind (cognitive 19): PhutilCalendarRecurrenceRule.isCursorBehind has cognitive complexity 19 (threshold 15). Drivers by points: if/else 19 (nesting depth added 4). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/parser/data/PhutilCalendarRecurrenceRule.php"},"region":{"startLine":1779}}}],"partialFingerprints":{"codehealthFindingId/v1":"2325cf3bb3054275003cef42ec6a61eb112409b6aa0370ef86fe6085d580b0f0"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorConfigSchemaQuery.buildComparisonSchemaForServer (cognitive 19): PhabricatorConfigSchemaQuery.buildComparisonSchemaForServer has cognitive complexity 19 (threshold 15). Drivers by points: if/else 10, loops 9 (nesting depth added 11). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/schema/PhabricatorConfigSchemaQuery.php"},"region":{"startLine":268}}}],"partialFingerprints":{"codehealthFindingId/v1":"3df37f9677d6cc2cc7c8131a078c30e32d51724265b0191769cf19ce8f82448f"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorDaemonBulkJobMonitorController.handleRequest (cognitive 19): PhabricatorDaemonBulkJobMonitorController.handleRequest has cognitive complexity 19 (threshold 15). Drivers by points: if/else 13, loops 4, match/switch 2 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/daemon/controller/PhabricatorDaemonBulkJobMonitorController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"5af801bd61512dba27204579ae90f1515a53c4452f2cdd2711cff4de3bebd1ca"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorWorkerTaskDetailController.buildPropertyListView (cognitive 19): PhabricatorWorkerTaskDetailController.buildPropertyListView has cognitive complexity 19 (threshold 15). Drivers by points: if/else 15, match/switch 2, boolean chains 1, ternaries 1 (nesting depth added 3). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/daemon/controller/PhabricatorWorkerTaskDetailController.php"},"region":{"startLine":82}}}],"partialFingerprints":{"codehealthFindingId/v1":"949c7416872a47e16658d5c9191cedeee4591a0e935434ae477f280802756592"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorDaemonLogQuery.willFilterPage (cognitive 19): PhabricatorDaemonLogQuery.willFilterPage has cognitive complexity 19 (threshold 15). Drivers by points: if/else 14, boolean chains 4, loops 1 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/daemon/query/PhabricatorDaemonLogQuery.php"},"region":{"startLine":70}}}],"partialFingerprints":{"codehealthFindingId/v1":"fbaeb3727e2a20aa244fa1dc46ffa5b2c1d1e807e30f4b04393c075ed2546b67"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialBranchField.getBranchDescription (cognitive 19): DifferentialBranchField.getBranchDescription has cognitive complexity 19 (threshold 15). Drivers by points: if/else 16, boolean chains 3 (nesting depth added 6). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/customfield/DifferentialBranchField.php"},"region":{"startLine":38}}}],"partialFingerprints":{"codehealthFindingId/v1":"8a8fe7ec99ca80e6cca148e24ead670420574149ad2bd9ba0dc4582f6b759936"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialHunkParser.parseHunksForLineData (cognitive 19): DifferentialHunkParser.parseHunksForLineData has cognitive complexity 19 (threshold 15). Drivers by points: if/else 7, match/switch 7, loops 5 (nesting depth added 11). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/parser/DifferentialHunkParser.php"},"region":{"startLine":477}}}],"partialFingerprints":{"codehealthFindingId/v1":"01f039e6fb93d49930ea023dceccaee729247a587a77615105ce0f3d9e8be628"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialRevisionUpdateTransaction.validateTransactions (cognitive 19): DifferentialRevisionUpdateTransaction.validateTransactions has cognitive complexity 19 (threshold 15). Drivers by points: if/else 16, boolean chains 2, loops 1 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/xaction/DifferentialRevisionUpdateTransaction.php"},"region":{"startLine":160}}}],"partialFingerprints":{"codehealthFindingId/v1":"b340a22696971e73287d40bbdb18a0658e51fcad8b8387db052e329c3055087a"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionController.buildCrumbList (cognitive 19): DiffusionController.buildCrumbList has cognitive complexity 19 (threshold 15). Drivers by points: if/else 13, boolean chains 5, match/switch 1 (nesting depth added 2). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/controller/DiffusionController.php"},"region":{"startLine":128}}}],"partialFingerprints":{"codehealthFindingId/v1":"7a1354c0d99f537a53aeb0212b3edb0d715cd1add1d535b7b34f7708d76804a4"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionLowLevelCommitFieldsQuery.executeQuery (cognitive 19): DiffusionLowLevelCommitFieldsQuery.executeQuery has cognitive complexity 19 (threshold 15). Drivers by points: if/else 13, loops 5, boolean chains 1 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/query/lowlevel/DiffusionLowLevelCommitFieldsQuery.php"},"region":{"startLine":29}}}],"partialFingerprints":{"codehealthFindingId/v1":"a3355956ece5ec77c913e7cf3721cdc8c06c2de9fecbea431d877e30ae83d2a0"}},{"ruleId":"D2","level":"warning","message":{"text":"DivinerPHPAtomizer.parseParams (cognitive 19): DivinerPHPAtomizer.parseParams has cognitive complexity 19 (threshold 15). Drivers by points: if/else 16, loops 3 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diviner/atomizer/DivinerPHPAtomizer.php"},"region":{"startLine":129}}}],"partialFingerprints":{"codehealthFindingId/v1":"4757c0f530c23c42fbb8121bd4806535d63d3ba9e5a8b71854c2854945121c1e"}},{"ruleId":"D2","level":"warning","message":{"text":"DivinerPHPAtomizer.findAtomDocblock (cognitive 19): DivinerPHPAtomizer.findAtomDocblock has cognitive complexity 19 (threshold 15). Drivers by points: if/else 15, loops 3, boolean chains 1 (nesting depth added 11). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diviner/atomizer/DivinerPHPAtomizer.php"},"region":{"startLine":193}}}],"partialFingerprints":{"codehealthFindingId/v1":"cd6353889c840a115cac4405208aabdc750065a75815e8357a13149446681ab7"}},{"ruleId":"D2","level":"warning","message":{"text":"DoorkeeperHyperlinkEngineExtension.processHyperlinks (cognitive 19): DoorkeeperHyperlinkEngineExtension.processHyperlinks has cognitive complexity 19 (threshold 15). Drivers by points: if/else 14, loops 4, boolean chains 1 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/doorkeeper/engineextension/DoorkeeperHyperlinkEngineExtension.php"},"region":{"startLine":8}}}],"partialFingerprints":{"codehealthFindingId/v1":"bfa646a3adcb9e9c770bdaa630f2705204d6a954057ad64a2b4a70913fbdb6d2"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorEmbedFileRemarkupRule.renderObjectEmbed (cognitive 19): PhabricatorEmbedFileRemarkupRule.renderObjectEmbed has cognitive complexity 19 (threshold 15). Drivers by points: if/else 13, boolean chains 6 (nesting depth added 4). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/files/markup/PhabricatorEmbedFileRemarkupRule.php"},"region":{"startLine":68}}}],"partialFingerprints":{"codehealthFindingId/v1":"a7ac37809c340c750a6b8e287d5b1e744fb5066f8e0a8e14173f93361aa3cc45"}},{"ruleId":"D2","level":"warning","message":{"text":"HarbormasterBuildableActionController.handleRequest (cognitive 19): HarbormasterBuildableActionController.handleRequest has cognitive complexity 19 (threshold 15). Drivers by points: if/else 13, loops 3, error handling 2, boolean chains 1 (nesting depth added 4). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/harbormaster/controller/HarbormasterBuildableActionController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"cbd27a95fdf064aa30d8d60c2bb638b1cd869914a7e2c3b6ece86d8f056b35e2"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorMacroAudioController.handleRequest (cognitive 19): PhabricatorMacroAudioController.handleRequest has cognitive complexity 19 (threshold 15). Drivers by points: if/else 19 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/macro/controller/PhabricatorMacroAudioController.php"},"region":{"startLine":5}}}],"partialFingerprints":{"codehealthFindingId/v1":"7a9710c913cbd0b0f4b98196a669eac2e88d5a94bcb9691d5ed5f5ae4c0a2774"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorMacroQuery.buildWhereClauseParts (cognitive 19): PhabricatorMacroQuery.buildWhereClauseParts has cognitive complexity 19 (threshold 15). Drivers by points: if/else 15, boolean chains 3, match/switch 1 (nesting depth added 2). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/macro/query/PhabricatorMacroQuery.php"},"region":{"startLine":103}}}],"partialFingerprints":{"codehealthFindingId/v1":"6c1ab7931c7a70a1f700de8b025ee9f54b5a1bc026c63e09c0032edaf5ae829e"}},{"ruleId":"D2","level":"warning","message":{"text":"ManiphestTransactionEditor.expandTransactions (cognitive 19): ManiphestTransactionEditor.expandTransactions has cognitive complexity 19 (threshold 15). Drivers by points: if/else 11, boolean chains 4, loops 2, match/switch 2 (nesting depth added 4). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/maniphest/editor/ManiphestTransactionEditor.php"},"region":{"startLine":319}}}],"partialFingerprints":{"codehealthFindingId/v1":"76f2941f9cb0e47eff2fb522d2ac603f117a934a9cbfd97e2553462f6986daa9"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorUserCardView.getTagContent (cognitive 19): PhabricatorUserCardView.getTagContent has cognitive complexity 19 (threshold 15). Drivers by points: if/else 19 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/people/view/PhabricatorUserCardView.php"},"region":{"startLine":55}}}],"partialFingerprints":{"codehealthFindingId/v1":"4f7f64ef5e20e1d1c97b2118389e2f76adfc433d82b17752ba5e3effa7fc8bfb"}},{"ruleId":"D2","level":"warning","message":{"text":"PhortuneSubscriptionQuery.willFilterPage (cognitive 19): PhortuneSubscriptionQuery.willFilterPage has cognitive complexity 19 (threshold 15). Drivers by points: if/else 13, loops 6 (nesting depth added 6). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phortune/query/PhortuneSubscriptionQuery.php"},"region":{"startLine":54}}}],"partialFingerprints":{"codehealthFindingId/v1":"f2e9db5a2755081bf157240216d68e7d7c5a5716e9efc3bc854ca417fbf07ed4"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorProjectColumnEditController.handleRequest (cognitive 19): PhabricatorProjectColumnEditController.handleRequest has cognitive complexity 19 (threshold 15). Drivers by points: if/else 16, error handling 2, ternaries 1 (nesting depth added 6). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/controller/PhabricatorProjectColumnEditController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"e676329ff98bb85a422aaca3e8fa65e2415ba993fd1b7fc233cd3437d64b9159"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorProjectTransactionEditor.adjustObjectForPolicyChecks (cognitive 19): PhabricatorProjectTransactionEditor.adjustObjectForPolicyChecks has cognitive complexity 19 (threshold 15). Drivers by points: if/else 16, loops 2, boolean chains 1 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/editor/PhabricatorProjectTransactionEditor.php"},"region":{"startLine":330}}}],"partialFingerprints":{"codehealthFindingId/v1":"08aaf78b6ed1e64f6da772958566e32e55549835676a729f150c093286bd24be"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorRepositoryPullLocalDaemon.loadPullableRepositories (cognitive 19): PhabricatorRepositoryPullLocalDaemon.loadPullableRepositories has cognitive complexity 19 (threshold 15). Drivers by points: if/else 11, loops 8 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/daemon/PhabricatorRepositoryPullLocalDaemon.php"},"region":{"startLine":405}}}],"partialFingerprints":{"codehealthFindingId/v1":"34a16fb1cd55b5dfa419c40b5e2409eee787732229e387b32cc5e44519999bb9"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorRepositoryDiscoveryEngine.discoverSubversionCommits (cognitive 19): PhabricatorRepositoryDiscoveryEngine.discoverSubversionCommits has cognitive complexity 19 (threshold 15). Drivers by points: if/else 11, loops 4, boolean chains 2, error handling 2 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/engine/PhabricatorRepositoryDiscoveryEngine.php"},"region":{"startLine":234}}}],"partialFingerprints":{"codehealthFindingId/v1":"fafe00d8612901ffa5cc697dbc67912a953b44eb11c67b58f92c00ff0c87b0ae"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorRepositoryGraphCache.rebuildBucket (cognitive 19): PhabricatorRepositoryGraphCache.rebuildBucket has cognitive complexity 19 (threshold 15). Drivers by points: if/else 10, loops 9 (nesting depth added 7). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/graphcache/PhabricatorRepositoryGraphCache.php"},"region":{"startLine":295}}}],"partialFingerprints":{"codehealthFindingId/v1":"ebcb00421bdf0920466b8516980efc30bd6be23e0a44129a567fb4275ec4419b"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorRepositoryQuery.didFilterPage (cognitive 19): PhabricatorRepositoryQuery.didFilterPage has cognitive complexity 19 (threshold 15). Drivers by points: if/else 13, loops 6 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/query/PhabricatorRepositoryQuery.php"},"region":{"startLine":347}}}],"partialFingerprints":{"codehealthFindingId/v1":"3a610ab00485a37f0a34ee8734edaebe071f6f40e8ca5527be12426c01e3b586"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorRepositorySvnCommitChangeParserWorker.lookupPathFileTypes (cognitive 19): PhabricatorRepositorySvnCommitChangeParserWorker.lookupPathFileTypes has cognitive complexity 19 (threshold 15). Drivers by points: loops 12, if/else 7 (nesting depth added 9). To reduce it, break up the iteration: give each loop body a named function, and split a multi-phase loop into one function per phase so no single body carries the whole pipeline."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/worker/commitchangeparser/PhabricatorRepositorySvnCommitChangeParserWorker.php"},"region":{"startLine":558}}}],"partialFingerprints":{"codehealthFindingId/v1":"0c23df07397a8eb7a49a447c6c8b2a06baeea9ef5ad39bf2584ba8d2d1822cc3"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorApplicationSearchController.processCustomizeRequest (cognitive 19): PhabricatorApplicationSearchController.processCustomizeRequest has cognitive complexity 19 (threshold 15). Drivers by points: if/else 18, boolean chains 1 (nesting depth added 5). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/search/controller/PhabricatorApplicationSearchController.php"},"region":{"startLine":999}}}],"partialFingerprints":{"codehealthFindingId/v1":"1c52aa78b2042ac63b7f5f09b33859451a7067eb756d3e36076e8fece5e563bf"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorEmailAddressesSettingsPanel.processRequest (cognitive 19): PhabricatorEmailAddressesSettingsPanel.processRequest has cognitive complexity 19 (threshold 15). Drivers by points: if/else 18, loops 1 (nesting depth added 6). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/settings/panel/PhabricatorEmailAddressesSettingsPanel.php"},"region":{"startLine":30}}}],"partialFingerprints":{"codehealthFindingId/v1":"724ac8dec193eed20901373e6860232cd9c7dd995ceea8f59f0b1751e07bf498"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorPasswordSettingsPanel.processRequest (cognitive 19): PhabricatorPasswordSettingsPanel.processRequest has cognitive complexity 19 (threshold 15). Drivers by points: if/else 15, error handling 4 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/settings/panel/PhabricatorPasswordSettingsPanel.php"},"region":{"startLine":31}}}],"partialFingerprints":{"codehealthFindingId/v1":"da1553981b6d01b8d4466a366add932d9fcf46ff964d42815b0e6259c50cd6ef"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorWorkerTriggerManagementFireWorkflow.execute (cognitive 19): PhabricatorWorkerTriggerManagementFireWorkflow.execute has cognitive complexity 19 (threshold 15). Drivers by points: if/else 18, loops 1 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/daemon/workers/management/PhabricatorWorkerTriggerManagementFireWorkflow.php"},"region":{"startLine":44}}}],"partialFingerprints":{"codehealthFindingId/v1":"4f15ce2a3fc0b8e9a4f51c305df81dd4ec25a2690e25f73502bd475dd754df43"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorDiffInlineCommentQuery.buildWhereClauseParts (cognitive 19): PhabricatorDiffInlineCommentQuery.buildWhereClauseParts has cognitive complexity 19 (threshold 15). Drivers by points: if/else 17, boolean chains 1, loops 1 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/diff/query/PhabricatorDiffInlineCommentQuery.php"},"region":{"startLine":61}}}],"partialFingerprints":{"codehealthFindingId/v1":"608521c83f1aa678156cdc76c2de5953f825d5ce7f8390629b2c08b170fedf26"}},{"ruleId":"D2","level":"warning","message":{"text":"PHUIDiffTableOfContentsItemView.renderChangesetMetadata (cognitive 19): PHUIDiffTableOfContentsItemView.renderChangesetMetadata has cognitive complexity 19 (threshold 15). Drivers by points: if/else 16, loops 3 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/diff/view/PHUIDiffTableOfContentsItemView.php"},"region":{"startLine":179}}}],"partialFingerprints":{"codehealthFindingId/v1":"46c52699775d748a515c146cb7951795c968c1504d3c179efd67a3bda6dd2793"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorEnv.buildConfigurationSourceStack (cognitive 19): PhabricatorEnv.buildConfigurationSourceStack has cognitive complexity 19 (threshold 15). Drivers by points: if/else 13, loops 4, error handling 2 (nesting depth added 6). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/env/PhabricatorEnv.php"},"region":{"startLine":182}}}],"partialFingerprints":{"codehealthFindingId/v1":"5de59d60cefa48fcfaf3864d4643b41588d136cd046566441d9cfd61d75f99ad"}},{"ruleId":"D2","level":"warning","message":{"text":"PhutilContextFreeGrammar.applyRules (cognitive 19): PhutilContextFreeGrammar.applyRules has cognitive complexity 19 (threshold 15). Drivers by points: if/else 15, match/switch 3, loops 1 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/lipsum/PhutilContextFreeGrammar.php"},"region":{"startLine":26}}}],"partialFingerprints":{"codehealthFindingId/v1":"61cc7a896dfac3a0ab9c25acc3d5429b59c00a6ec8182572587062ae5800835f"}},{"ruleId":"D2","level":"warning","message":{"text":"render.phutil_tag (cognitive 19): render.phutil_tag has cognitive complexity 19 (threshold 15). Drivers by points: if/else 17, boolean chains 1, loops 1 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/markup/render.php"},"region":{"startLine":24}}}],"partialFingerprints":{"codehealthFindingId/v1":"29eed0e290dcf8cf4930f96d309c51736a3727cc55a45f23c00c032704c4b6c8"}},{"ruleId":"D2","level":"warning","message":{"text":"PhutilLexerSyntaxHighlighter.getHighlightFuture (cognitive 19): PhutilLexerSyntaxHighlighter.getHighlightFuture has cognitive complexity 19 (threshold 15). Drivers by points: if/else 14, loops 3, match/switch 2 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/markup/syntax/highlighter/PhutilLexerSyntaxHighlighter.php"},"region":{"startLine":12}}}],"partialFingerprints":{"codehealthFindingId/v1":"95c483723032cea0b8c7be8fbed72ebe26bafa505e0a157b0171652d4338a529"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorCursorPagedPolicyAwareQuery.buildEdgeLogicSelectClause (cognitive 19): PhabricatorCursorPagedPolicyAwareQuery.buildEdgeLogicSelectClause has cognitive complexity 19 (threshold 15). Drivers by points: if/else 8, loops 8, match/switch 3 (nesting depth added 13). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/query/policy/PhabricatorCursorPagedPolicyAwareQuery.php"},"region":{"startLine":2622}}}],"partialFingerprints":{"codehealthFindingId/v1":"c5fbbb4750feed046b80605394ef562195dc4ee187e6d613477a2c97dcf6e9cd"}},{"ruleId":"D2","level":"warning","message":{"text":"PHUIHeaderView.renderPolicyProperty (cognitive 19): PHUIHeaderView.renderPolicyProperty has cognitive complexity 19 (threshold 15). Drivers by points: if/else 17, loops 2 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/phui/PHUIHeaderView.php"},"region":{"startLine":429}}}],"partialFingerprints":{"codehealthFindingId/v1":"5e69235c1f6661ae2a41034df020329b39bd873b02d5f4e1e4c4d217ff50c53b"}},{"ruleId":"D2","level":"warning","message":{"text":"PHUIHovercardView.getTagContent (cognitive 19): PHUIHovercardView.getTagContent has cognitive complexity 19 (threshold 15). Drivers by points: if/else 14, loops 4, ternaries 1 (nesting depth added 3). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/phui/PHUIHovercardView.php"},"region":{"startLine":92}}}],"partialFingerprints":{"codehealthFindingId/v1":"fc4a1b7d76e11b200ea54812f1ae41c9de5e0029d4786bef84f7d61b53bcbe43"}},{"ruleId":"D2","level":"warning","message":{"text":"PHUICalendarDayView.render (cognitive 19): PHUICalendarDayView.render has cognitive complexity 19 (threshold 15). Drivers by points: if/else 12, boolean chains 4, loops 3 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/phui/calendar/PHUICalendarDayView.php"},"region":{"startLine":52}}}],"partialFingerprints":{"codehealthFindingId/v1":"dbcd357573127dee2aee16adfaa34c0cc5af705c3ac074601ce0d24708a6e42f"}},{"ruleId":"D2","level":"warning","message":{"text":"PHUICalendarListView.getTagContent (cognitive 19): PHUICalendarListView.getTagContent has cognitive complexity 19 (threshold 15). Drivers by points: if/else 17, boolean chains 1, loops 1 (nesting depth added 6). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/phui/calendar/PHUICalendarListView.php"},"region":{"startLine":52}}}],"partialFingerprints":{"codehealthFindingId/v1":"56c8accb38d848c564971bdeb1fddf06e9eaed2116e5b2b638c24845f6a5ad82"}},{"ruleId":"D2","level":"warning","message":{"text":"_hasUnrefinableResults (cognitive 19): _hasUnrefinableResults has cognitive complexity 19 (threshold 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"webroot/rsrc/js/phuix/PHUIXAutocomplete.js"},"region":{"startLine":381}}}],"partialFingerprints":{"codehealthFindingId/v1":"ac11037852df2141043852f584a1dcc5c714a087a97fc2810ecb3f0b0b899e18"}},{"ruleId":"D2","level":"warning","message":{"text":"(anonymous) (cognitive 19): (anonymous) has cognitive complexity 19 (threshold 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"webroot/rsrc/js/application/projects/behavior-project-boards.js"},"region":{"startLine":13}}}],"partialFingerprints":{"codehealthFindingId/v1":"e5df27d0b067ad0f2fc898f20638535d8738201d3f1b0b70b622e9613a90867e"}},{"ruleId":"D2","level":"warning","message":{"text":"blame (cognitive 19): blame has cognitive complexity 19 (threshold 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"webroot/rsrc/js/application/files/behavior-document-engine.js"},"region":{"startLine":262}}}],"partialFingerprints":{"codehealthFindingId/v1":"c2ae59125fa76b9fdd1412a842348fb1af2a33a4c386e85938383406d8be2946"}},{"ruleId":"D2","level":"warning","message":{"text":"_onresponse (cognitive 19): _onresponse has cognitive complexity 19 (threshold 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"webroot/rsrc/js/application/diff/DiffChangeset.js"},"region":{"startLine":580}}}],"partialFingerprints":{"codehealthFindingId/v1":"7297cb14a63510bd495034859c8e0dd57ef5bd64f195496b7b335a046c8bb7c5"}},{"ruleId":"D2","level":"warning","message":{"text":"PHPMailer.SmtpSend (cognitive 18): PHPMailer.SmtpSend has cognitive complexity 18 (threshold 15). Drivers by points: if/else 14, loops 3, ternaries 1 (nesting depth added 3). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"externals/phpmailer/class.phpmailer.php"},"region":{"startLine":685}}}],"partialFingerprints":{"codehealthFindingId/v1":"727178990b5ae884604b91881678562fdfac5fc0c4fe4d9320324083442ee18e"}},{"ruleId":"D2","level":"warning","message":{"text":"AphrontRequest.newClusterProxyFuture (cognitive 18): AphrontRequest.newClusterProxyFuture has cognitive complexity 18 (threshold 15). Drivers by points: if/else 12, loops 4, match/switch 2 (nesting depth added 5). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/aphront/AphrontRequest.php"},"region":{"startLine":851}}}],"partialFingerprints":{"codehealthFindingId/v1":"010268059094cdc026a8b865ac88b99d6458de0b3c95c291af260d47e6beecd8"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorAuthSSHKeyEditController.handleRequest (cognitive 18): PhabricatorAuthSSHKeyEditController.handleRequest has cognitive complexity 18 (threshold 15). Drivers by points: if/else 12, boolean chains 2, error handling 2, ternaries 2 (nesting depth added 4). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/controller/PhabricatorAuthSSHKeyEditController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"ef31fbf1585d1d2864d7c793f101b77a229afed89046a08257ed6d943422c837"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorCalendarEventViewController.buildRecurringSection (cognitive 18): PhabricatorCalendarEventViewController.buildRecurringSection has cognitive complexity 18 (threshold 15). Drivers by points: if/else 17, match/switch 1 (nesting depth added 4). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/controller/PhabricatorCalendarEventViewController.php"},"region":{"startLine":439}}}],"partialFingerprints":{"codehealthFindingId/v1":"17313c7a8893afda572f20a6ad476aa7c39b36e7ca10c0bdeb194d99ab3748f2"}},{"ruleId":"D2","level":"warning","message":{"text":"PhutilCalendarRecurrenceRule.newFromRRULE (cognitive 18): PhutilCalendarRecurrenceRule.newFromRRULE has cognitive complexity 18 (threshold 15). Drivers by points: if/else 11, loops 5, match/switch 2 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/parser/data/PhutilCalendarRecurrenceRule.php"},"region":{"startLine":237}}}],"partialFingerprints":{"codehealthFindingId/v1":"d9fdb55824306381bb63dede81442308ac60acea2afbdb7d5f3c206d59198291"}},{"ruleId":"D2","level":"warning","message":{"text":"PhutilICSParser.unescapeFieldValue (cognitive 18): PhutilICSParser.unescapeFieldValue has cognitive complexity 18 (threshold 15). Drivers by points: if/else 12, loops 5, match/switch 1 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/parser/ics/PhutilICSParser.php"},"region":{"startLine":386}}}],"partialFingerprints":{"codehealthFindingId/v1":"45f676f2304e365611c0dbcd252090f8c8401f25c2acb499936f1ee3487673c8"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorConduitAPIController.decodeConduitParams (cognitive 18): PhabricatorConduitAPIController.decodeConduitParams has cognitive complexity 18 (threshold 15). Drivers by points: if/else 12, loops 3, error handling 2, boolean chains 1 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/conduit/controller/PhabricatorConduitAPIController.php"},"region":{"startLine":627}}}],"partialFingerprints":{"codehealthFindingId/v1":"007c6f921dbd57b9717e9005e3e970a4c6986cf3d410712a528ee3008327c16c"}},{"ruleId":"D2","level":"warning","message":{"text":"ConpherenceViewController.handleRequest (cognitive 18): ConpherenceViewController.handleRequest has cognitive complexity 18 (threshold 15). Drivers by points: if/else 14, boolean chains 4 (nesting depth added 1). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/conpherence/controller/ConpherenceViewController.php"},"region":{"startLine":12}}}],"partialFingerprints":{"codehealthFindingId/v1":"98dee54a3b920bdac370a09e3c06447efa49ed2bc68db9737574035b60c70e6f"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorDaemonManagementWorkflow.launchDaemons (cognitive 18): PhabricatorDaemonManagementWorkflow.launchDaemons has cognitive complexity 18 (threshold 15). Drivers by points: if/else 14, error handling 2, boolean chains 1, loops 1 (nesting depth added 4). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/daemon/management/PhabricatorDaemonManagementWorkflow.php"},"region":{"startLine":71}}}],"partialFingerprints":{"codehealthFindingId/v1":"c1881fbd4065e63abfa703e48ba754ff10baca0c31eaa92528cd5b5f597359a4"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorDaemonManagementWorkflow.sendSignal (cognitive 18): PhabricatorDaemonManagementWorkflow.sendSignal has cognitive complexity 18 (threshold 15). Drivers by points: if/else 10, loops 6, match/switch 2 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/daemon/management/PhabricatorDaemonManagementWorkflow.php"},"region":{"startLine":467}}}],"partialFingerprints":{"codehealthFindingId/v1":"8856b1f9eae8862e6de575a96f14b92c636b8d18abb92166dee1631386b67b9e"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialRevisionViewController.loadChangesetsAndVsMap (cognitive 18): DifferentialRevisionViewController.loadChangesetsAndVsMap has cognitive complexity 18 (threshold 15). Drivers by points: if/else 9, loops 9 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/controller/DifferentialRevisionViewController.php"},"region":{"startLine":864}}}],"partialFingerprints":{"codehealthFindingId/v1":"6029d16d3567bfd599dbdd85697109ef665a885db20264bf64bb40073a7fe471"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialChangesetParser.buildLineBackmaps (cognitive 18): DifferentialChangesetParser.buildLineBackmaps has cognitive complexity 18 (threshold 15). Drivers by points: if/else 13, loops 5 (nesting depth added 5). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/parser/DifferentialChangesetParser.php"},"region":{"startLine":1382}}}],"partialFingerprints":{"codehealthFindingId/v1":"e7167d4ce53011a2e996c886504f8c65b59edd541e9dde58d34e660165f18970"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialHunkParser.getHasChanges (cognitive 18): DifferentialHunkParser.getHasChanges has cognitive complexity 18 (threshold 15). Drivers by points: if/else 15, boolean chains 2, loops 1 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/parser/DifferentialHunkParser.php"},"region":{"startLine":163}}}],"partialFingerprints":{"codehealthFindingId/v1":"a4990d799498acd2c7cc3b73e162eace6174c65cb0586d09353ff5b71928f3e7"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialRevisionQuery.willFilterPage (cognitive 18): DifferentialRevisionQuery.willFilterPage has cognitive complexity 18 (threshold 15). Drivers by points: if/else 15, boolean chains 2, loops 1 (nesting depth added 4). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/query/DifferentialRevisionQuery.php"},"region":{"startLine":336}}}],"partialFingerprints":{"codehealthFindingId/v1":"e495a84c8ee56dccdaef9e2dc53196cea9d299e5856a2952e8f00db75bf5baba"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionCommitHookEngine.applyHeraldRules (cognitive 18): DiffusionCommitHookEngine.applyHeraldRules has cognitive complexity 18 (threshold 15). Drivers by points: if/else 12, loops 6 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/engine/DiffusionCommitHookEngine.php"},"region":{"startLine":330}}}],"partialFingerprints":{"codehealthFindingId/v1":"6b49f147afbc23bc66a6fdc443c7313e75b1208ef5085adcd97584c766911c71"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionCommitHookEngine.findMercurialPushKeyRefUpdates (cognitive 18): DiffusionCommitHookEngine.findMercurialPushKeyRefUpdates has cognitive complexity 18 (threshold 15). Drivers by points: if/else 17, boolean chains 1 (nesting depth added 5). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/engine/DiffusionCommitHookEngine.php"},"region":{"startLine":962}}}],"partialFingerprints":{"codehealthFindingId/v1":"dde865345ab4fae8cef80863c587d5c18f11c1f42e4dcb3ff1e518e20bebd51c"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionPhpExternalSymbolsSource.executeQuery (cognitive 18): DiffusionPhpExternalSymbolsSource.executeQuery has cognitive complexity 18 (threshold 15). Drivers by points: if/else 13, loops 4, boolean chains 1 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/symbol/DiffusionPhpExternalSymbolsSource.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"4155c5021a7e8121a0cea33a4455ca92d220a5f8a3b7059dddbf22d2b4a81ce9"}},{"ruleId":"D2","level":"warning","message":{"text":"DrydockLeaseViewController.buildPropertyListView (cognitive 18): DrydockLeaseViewController.buildPropertyListView has cognitive complexity 18 (threshold 15). Drivers by points: if/else 16, loops 2 (nesting depth added 2). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/drydock/controller/DrydockLeaseViewController.php"},"region":{"startLine":127}}}],"partialFingerprints":{"codehealthFindingId/v1":"9dfce48401c3ee7a61da0a07e968d897396bd5256f99e38c69165302ac94674a"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorFactDaemon.updateDatapoints (cognitive 18): PhabricatorFactDaemon.updateDatapoints has cognitive complexity 18 (threshold 15). Drivers by points: if/else 9, loops 9 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/fact/daemon/PhabricatorFactDaemon.php"},"region":{"startLine":122}}}],"partialFingerprints":{"codehealthFindingId/v1":"1c9a99216d188e2229368b775b2c7c2299842a87726fe787ebf199584f22ee01"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorFeedStoryPublisher.filterSubscribedPHIDs (cognitive 18): PhabricatorFeedStoryPublisher.filterSubscribedPHIDs has cognitive complexity 18 (threshold 15). Drivers by points: if/else 12, loops 4, boolean chains 2 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/feed/PhabricatorFeedStoryPublisher.php"},"region":{"startLine":220}}}],"partialFingerprints":{"codehealthFindingId/v1":"0a9be71c9cb974746ff7442b95649a568f9a02c1cdfb9a86064b06da195b616c"}},{"ruleId":"D2","level":"warning","message":{"text":"FileAllocateConduitAPIMethod.execute (cognitive 18): FileAllocateConduitAPIMethod.execute has cognitive complexity 18 (threshold 15). Drivers by points: if/else 14, boolean chains 4 (nesting depth added 2). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/files/conduit/FileAllocateConduitAPIMethod.php"},"region":{"startLine":28}}}],"partialFingerprints":{"codehealthFindingId/v1":"c4caa6af7f2f2232b81cc82f6f1cb268be9861280ccb5364d67003456c3585e8"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorFileTransformController.handleRequest (cognitive 18): PhabricatorFileTransformController.handleRequest has cognitive complexity 18 (threshold 15). Drivers by points: if/else 15, error handling 3 (nesting depth added 5). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/files/controller/PhabricatorFileTransformController.php"},"region":{"startLine":10}}}],"partialFingerprints":{"codehealthFindingId/v1":"2b15b1e1e62ccf313ab3ea2ae24a815a45105fdb08121a558fc8a7864668cc03"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorFileAttachmentQuery.willFilterPage (cognitive 18): PhabricatorFileAttachmentQuery.willFilterPage has cognitive complexity 18 (threshold 15). Drivers by points: if/else 11, loops 6, boolean chains 1 (nesting depth added 6). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/files/query/PhabricatorFileAttachmentQuery.php"},"region":{"startLine":55}}}],"partialFingerprints":{"codehealthFindingId/v1":"08fa16f0ffe624ec0958586efce2794ec70949ad5f03f71db5928422a63afed5"}},{"ruleId":"D2","level":"warning","message":{"text":"HarbormasterBuildLogRenderController.getHighlightViews (cognitive 18): HarbormasterBuildLogRenderController.getHighlightViews has cognitive complexity 18 (threshold 15). Drivers by points: if/else 17, loops 1 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/harbormaster/controller/HarbormasterBuildLogRenderController.php"},"region":{"startLine":803}}}],"partialFingerprints":{"codehealthFindingId/v1":"369925a5d919eda97cd3b027ea6f14870465c5ee06609dd66f561ed11fc0afd2"}},{"ruleId":"D2","level":"warning","message":{"text":"LegalpadDocumentSignController.readSignerInformation (cognitive 18): LegalpadDocumentSignController.readSignerInformation has cognitive complexity 18 (threshold 15). Drivers by points: if/else 17, match/switch 1 (nesting depth added 11). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/legalpad/controller/LegalpadDocumentSignController.php"},"region":{"startLine":359}}}],"partialFingerprints":{"codehealthFindingId/v1":"2180da6ece41387cd2f13b1a9baedc826901e66da2d03a887af1235f65a49aaf"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorApplicationUninstallController.handleRequest (cognitive 18): PhabricatorApplicationUninstallController.handleRequest has cognitive complexity 18 (threshold 15). Drivers by points: if/else 15, error handling 2, boolean chains 1 (nesting depth added 5). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/meta/controller/PhabricatorApplicationUninstallController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"af0ed5343397d1c95cfe37444de970be14ce6caa4e37fb8e9ecf2805712ff222"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorNotificationBuilder.parseStories (cognitive 18): PhabricatorNotificationBuilder.parseStories has cognitive complexity 18 (threshold 15). Drivers by points: loops 11, if/else 7 (nesting depth added 8). To reduce it, break up the iteration: give each loop body a named function, and split a multi-phase loop into one function per phase so no single body carries the whole pipeline."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/notification/builder/PhabricatorNotificationBuilder.php"},"region":{"startLine":29}}}],"partialFingerprints":{"codehealthFindingId/v1":"57f394fd92c60360cfef5b856488e60b29a0620dbf4a6963d014c18ba4af4768"}},{"ruleId":"D2","level":"warning","message":{"text":"PhamePostViewController.handleRequest (cognitive 18): PhamePostViewController.handleRequest has cognitive complexity 18 (threshold 15). Drivers by points: if/else 16, boolean chains 2 (nesting depth added 1). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phame/controller/post/PhamePostViewController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"0f9b56dd4056251734f9650b4c1a208c14c92eb9e0d3de304987f834e361e2ce"}},{"ruleId":"D2","level":"warning","message":{"text":"PhortuneMerchantQuery.canViewersEditMerchants (cognitive 18): PhortuneMerchantQuery.canViewersEditMerchants has cognitive complexity 18 (threshold 15). Drivers by points: if/else 10, loops 8 (nesting depth added 6). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phortune/query/PhortuneMerchantQuery.php"},"region":{"startLine":128}}}],"partialFingerprints":{"codehealthFindingId/v1":"b999879d37ce8dd2cfb52546d0dcf94f55086195c4f67c291fa93e41cedbc8d3"}},{"ruleId":"D2","level":"warning","message":{"text":"PhrictionHistoryController.handleRequest (cognitive 18): PhrictionHistoryController.handleRequest has cognitive complexity 18 (threshold 15). Drivers by points: if/else 14, loops 2, match/switch 2 (nesting depth added 6). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phriction/controller/PhrictionHistoryController.php"},"region":{"startLine":10}}}],"partialFingerprints":{"codehealthFindingId/v1":"efe6794c34431b42343279337bdeb1aa37443df2682b1ff7cb2e225597ca28c6"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorProjectMoveController.handleRequest (cognitive 18): PhabricatorProjectMoveController.handleRequest has cognitive complexity 18 (threshold 15). Drivers by points: if/else 9, loops 7, boolean chains 2 (nesting depth added 5). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/controller/PhabricatorProjectMoveController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"e2ef66b4ef191702037e5269be565f46352d87215a2a015ac23d2b7e6eaf2e18"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorProjectTransactionEditor.applyFinalEffects (cognitive 18): PhabricatorProjectTransactionEditor.applyFinalEffects has cognitive complexity 18 (threshold 15). Drivers by points: if/else 8, loops 5, match/switch 5 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/editor/PhabricatorProjectTransactionEditor.php"},"region":{"startLine":196}}}],"partialFingerprints":{"codehealthFindingId/v1":"3ce008d0e5b4bd670b3eed36b4f4c28b368239df4da4470a43130cf1d97929e0"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorRepositoryPushLogSearchEngine.newExportData (cognitive 18): PhabricatorRepositoryPushLogSearchEngine.newExportData has cognitive complexity 18 (threshold 15). Drivers by points: if/else 14, loops 4 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/query/PhabricatorRepositoryPushLogSearchEngine.php"},"region":{"startLine":188}}}],"partialFingerprints":{"codehealthFindingId/v1":"85ca551feea3739392603210e797728a2b805de5802638e0297ab68f04c9c141"}},{"ruleId":"D2","level":"warning","message":{"text":"PhutilSearchQueryCompilerTestCase.assertCompileQueries (cognitive 18): PhutilSearchQueryCompilerTestCase.assertCompileQueries has cognitive complexity 18 (threshold 15). Drivers by points: if/else 12, ternaries 3, error handling 2, loops 1 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/search/compiler/__tests__/PhutilSearchQueryCompilerTestCase.php"},"region":{"startLine":227}}}],"partialFingerprints":{"codehealthFindingId/v1":"e73f295faaaea750a884bcdea83780f02b29d6a0092177077eb62f9e005eed57"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorSearchDeleteController.handleRequest (cognitive 18): PhabricatorSearchDeleteController.handleRequest has cognitive complexity 18 (threshold 15). Drivers by points: if/else 18 (nesting depth added 5). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/search/controller/PhabricatorSearchDeleteController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"bd0d87e72c2dd1fdaedc11c0d37e507ab0f6319968e5d6736d7f5e9e5a0f2d0e"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorFerretFulltextEngineExtension.updateStoredFields (cognitive 18): PhabricatorFerretFulltextEngineExtension.updateStoredFields has cognitive complexity 18 (threshold 15). Drivers by points: if/else 12, loops 6 (nesting depth added 6). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/search/engineextension/PhabricatorFerretFulltextEngineExtension.php"},"region":{"startLine":243}}}],"partialFingerprints":{"codehealthFindingId/v1":"7c6d2a2f68a004219014f838ebcbb8e48c6e0cbf8df6b888127ce26d26b1232c"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorSlowvoteVoteController.handleRequest (cognitive 18): PhabricatorSlowvoteVoteController.handleRequest has cognitive complexity 18 (threshold 15). Drivers by points: if/else 14, loops 3, boolean chains 1 (nesting depth added 4). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/slowvote/controller/PhabricatorSlowvoteVoteController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"cdc6411253ae8692a6f4b1712c4794d019a6cb403cf4684c37ef4c30c06291e0"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorTypeaheadDatasource.evaluateTokens (cognitive 18): PhabricatorTypeaheadDatasource.evaluateTokens has cognitive complexity 18 (threshold 15). Drivers by points: if/else 13, loops 5 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/typeahead/datasource/PhabricatorTypeaheadDatasource.php"},"region":{"startLine":407}}}],"partialFingerprints":{"codehealthFindingId/v1":"7b484334aa438338d932ea8bf8f29082100563cfb9c3c51e43bf815f6e4be310"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorCustomField.adjustCustomFieldsForObjectSubtype (cognitive 18): PhabricatorCustomField.adjustCustomFieldsForObjectSubtype has cognitive complexity 18 (threshold 15). Drivers by points: if/else 15, loops 2, boolean chains 1 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/customfield/field/PhabricatorCustomField.php"},"region":{"startLine":1638}}}],"partialFingerprints":{"codehealthFindingId/v1":"948415d2e4e08293b5aee435760382a58961f37366bea5937a006e7d12b45903"}},{"ruleId":"D2","level":"warning","message":{"text":"PhutilDaemonOverseer.__construct (cognitive 18): PhutilDaemonOverseer.__construct has cognitive complexity 18 (threshold 15). Drivers by points: if/else 17, boolean chains 1 (nesting depth added 4). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/daemon/PhutilDaemonOverseer.php"},"region":{"startLine":37}}}],"partialFingerprints":{"codehealthFindingId/v1":"b766f18fcb1a1cfcfcec92c795dad37f8aff442598c1242516d75534114a97a9"}},{"ruleId":"D2","level":"warning","message":{"text":"PhutilRemarkupNoteBlockRule.markupText (cognitive 18): PhutilRemarkupNoteBlockRule.markupText has cognitive complexity 18 (threshold 15). Drivers by points: if/else 18 (nesting depth added 6). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/markup/blockrule/PhutilRemarkupNoteBlockRule.php"},"region":{"startLine":25}}}],"partialFingerprints":{"codehealthFindingId/v1":"90737c33960139af426b4700b9c95b0d00dbc9404c0e97eefd11c47880414fde"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorKeyboardRemarkupRule.markupKeystrokes (cognitive 18): PhabricatorKeyboardRemarkupRule.markupKeystrokes has cognitive complexity 18 (threshold 15). Drivers by points: if/else 13, loops 5 (nesting depth added 4). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/markup/rule/PhabricatorKeyboardRemarkupRule.php"},"region":{"startLine":16}}}],"partialFingerprints":{"codehealthFindingId/v1":"f219f5516b80c5bbd700846e8f592acd897efa76381850d1796704b3ee45d08f"}},{"ruleId":"D2","level":"warning","message":{"text":"AphrontView.reduceChildren (cognitive 18): AphrontView.reduceChildren has cognitive complexity 18 (threshold 15). Drivers by points: if/else 17, loops 1 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/AphrontView.php"},"region":{"startLine":159}}}],"partialFingerprints":{"codehealthFindingId/v1":"4d4e526a0a3c5a8aefef01cfa7d2e7ea0e461ca667052a832326331d5b4ddc3c"}},{"ruleId":"D2","level":"warning","message":{"text":"AphrontFormControl.render (cognitive 18): AphrontFormControl.render has cognitive complexity 18 (threshold 15). Drivers by points: if/else 13, boolean chains 3, loops 2 (nesting depth added 2). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/form/control/AphrontFormControl.php"},"region":{"startLine":155}}}],"partialFingerprints":{"codehealthFindingId/v1":"fdd0c68b1ed45c3c2cf2923fce2ff0b4ded68a98738e107c4d818202a6a5d860"}},{"ruleId":"D2","level":"warning","message":{"text":"(anonymous) (cognitive 18): (anonymous) has cognitive complexity 18 (threshold 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"webroot/rsrc/js/core/Prefab.js"},"region":{"startLine":221}}}],"partialFingerprints":{"codehealthFindingId/v1":"d3ab384a47e509f54c652c15b29e4aff14c69fdff9e41bae1f60eb5e7e97a4e3"}},{"ruleId":"D2","level":"warning","message":{"text":"_updateAutoscroll (cognitive 18): _updateAutoscroll has cognitive complexity 18 (threshold 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"webroot/rsrc/js/core/DraggableList.js"},"region":{"startLine":586}}}],"partialFingerprints":{"codehealthFindingId/v1":"754fd51558e5b9a19d794c8e5178599836888eb5213d8356eb9d353755726f22"}},{"ruleId":"D2","level":"warning","message":{"text":"_getDropContext (cognitive 18): _getDropContext has cognitive complexity 18 (threshold 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"webroot/rsrc/js/application/projects/WorkboardBoard.js"},"region":{"startLine":447}}}],"partialFingerprints":{"codehealthFindingId/v1":"52cb3a99565ae5a4211e2bc3e9850ea916946e7cde1fd37581fea785399aa4ba"}},{"ruleId":"D2","level":"warning","message":{"text":"jsShrink.jsShrinkCallback (cognitive 17): jsShrink.jsShrinkCallback has cognitive complexity 17 (threshold 15). Drivers by points: ternaries 11, if/else 4, boolean chains 2 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"externals/JsShrink/jsShrink.php"},"region":{"startLine":32}}}],"partialFingerprints":{"codehealthFindingId/v1":"b004f67415c1d4267ef5a2955a11190568abcd609c17eb24d202729009d21037"}},{"ruleId":"D2","level":"warning","message":{"text":"AphrontApplicationConfiguration.processRequest (cognitive 17): AphrontApplicationConfiguration.processRequest has cognitive complexity 17 (threshold 15). Drivers by points: error handling 8, if/else 8, boolean chains 1 (nesting depth added 4). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/aphront/configuration/AphrontApplicationConfiguration.php"},"region":{"startLine":244}}}],"partialFingerprints":{"codehealthFindingId/v1":"15e05f29dc32d03849069cd4f3110d389947fce37fd3ecf7da7cf2d2103f565b"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorHighSecurityRequestExceptionHandler.handleRequestThrowable (cognitive 17): PhabricatorHighSecurityRequestExceptionHandler.handleRequestThrowable has cognitive complexity 17 (threshold 15). Drivers by points: if/else 14, loops 2, boolean chains 1 (nesting depth added 3). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/aphront/handler/PhabricatorHighSecurityRequestExceptionHandler.php"},"region":{"startLine":27}}}],"partialFingerprints":{"codehealthFindingId/v1":"71c00d37ec903ec094344ba766a40d4a30795fd85f3a42d703a33a769014878f"}},{"ruleId":"D2","level":"warning","message":{"text":"AlmanacController.buildAlmanacPropertiesTable (cognitive 17): AlmanacController.buildAlmanacPropertiesTable has cognitive complexity 17 (threshold 15). Drivers by points: if/else 7, ternaries 6, boolean chains 2, loops 2 (nesting depth added 6). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/almanac/controller/AlmanacController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"89b1a612bbfb4ae4003481989475e19a32df0d6115fabdf0c5f0a2d54fbe87ed"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorAuditManagementWorkflow.loadCommitsWithConstraints (cognitive 17): PhabricatorAuditManagementWorkflow.loadCommitsWithConstraints has cognitive complexity 17 (threshold 15). Drivers by points: if/else 12, boolean chains 3, loops 2 (nesting depth added 6). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/audit/management/PhabricatorAuditManagementWorkflow.php"},"region":{"startLine":21}}}],"partialFingerprints":{"codehealthFindingId/v1":"e5e355663df2888684e82611c4f610f3128b4ec22847d8c6362cf659d6af1008"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorAuthManagementRefreshWorkflow.execute (cognitive 17): PhabricatorAuthManagementRefreshWorkflow.execute has cognitive complexity 17 (threshold 15). Drivers by points: if/else 16, loops 1 (nesting depth added 6). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/management/PhabricatorAuthManagementRefreshWorkflow.php"},"region":{"startLine":24}}}],"partialFingerprints":{"codehealthFindingId/v1":"be4d52fdb0fb69c64d9f7a5ac10f212cc317ba271cc2773ae56f9370e30bf691"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorCalendarImportEditor.applyFinalEffects (cognitive 17): PhabricatorCalendarImportEditor.applyFinalEffects has cognitive complexity 17 (threshold 15). Drivers by points: if/else 12, match/switch 4, loops 1 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/editor/PhabricatorCalendarImportEditor.php"},"region":{"startLine":27}}}],"partialFingerprints":{"codehealthFindingId/v1":"b077b96b8b1d5af73acd0305ff0055faaa9028a2fdf94f43eb8fc841bb76703a"}},{"ruleId":"D2","level":"warning","message":{"text":"PhutilICSParser.unescapeTextValue (cognitive 17): PhutilICSParser.unescapeTextValue has cognitive complexity 17 (threshold 15). Drivers by points: if/else 13, match/switch 3, loops 1 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/parser/ics/PhutilICSParser.php"},"region":{"startLine":551}}}],"partialFingerprints":{"codehealthFindingId/v1":"025f12eccfddf0ec172c0208d0974f0149bb087e8b580eacf0d39f7b47a9d416"}},{"ruleId":"D2","level":"warning","message":{"text":"CelerityResourceTransformer.translateResourceURI (cognitive 17): CelerityResourceTransformer.translateResourceURI has cognitive complexity 17 (threshold 15). Drivers by points: if/else 16, loops 1 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/celerity/CelerityResourceTransformer.php"},"region":{"startLine":120}}}],"partialFingerprints":{"codehealthFindingId/v1":"8e091a592d9ab6e0c906473ce581591567bf812eca3303eb2be9f9deddbcb324"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorConfigEditController.readRequest (cognitive 17): PhabricatorConfigEditController.readRequest has cognitive complexity 17 (threshold 15). Drivers by points: if/else 8, error handling 6, ternaries 3 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/controller/settings/PhabricatorConfigEditController.php"},"region":{"startLine":237}}}],"partialFingerprints":{"codehealthFindingId/v1":"e3dcfb2be790e2a00068129c9fe9c85d2b05c2976b59e01dc0f1818cf44cdc85"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorConfigColumnSchema.getKeyByteLength (cognitive 17): PhabricatorConfigColumnSchema.getKeyByteLength has cognitive complexity 17 (threshold 15). Drivers by points: if/else 12, boolean chains 4, match/switch 1 (nesting depth added 4). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/schema/PhabricatorConfigColumnSchema.php"},"region":{"startLine":102}}}],"partialFingerprints":{"codehealthFindingId/v1":"70e3cbea0a281f81280748dc72410a5e01a8fb6b8569a18784bbd4d934a09cb5"}},{"ruleId":"D2","level":"warning","message":{"text":"ConpherenceThreadParticipantsTransaction.getTitle (cognitive 17): ConpherenceThreadParticipantsTransaction.getTitle has cognitive complexity 17 (threshold 15). Drivers by points: if/else 14, boolean chains 3 (nesting depth added 6). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/conpherence/xaction/ConpherenceThreadParticipantsTransaction.php"},"region":{"startLine":47}}}],"partialFingerprints":{"codehealthFindingId/v1":"eaea53581e80924d7f5f06622c33a54790dc6bafc258f9c29185d413a13a7bce"}},{"ruleId":"D2","level":"warning","message":{"text":"DarkConsoleCore.sanitizeForJSON (cognitive 17): DarkConsoleCore.sanitizeForJSON has cognitive complexity 17 (threshold 15). Drivers by points: if/else 14, loops 3 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/console/core/DarkConsoleCore.php"},"region":{"startLine":116}}}],"partialFingerprints":{"codehealthFindingId/v1":"66a2d84fe16ccbb71f5a22dd6b5d8acbaf377ab5b02d0a61393e388d5645c46e"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialRevisionInlinesController.renderInlineTable (cognitive 17): DifferentialRevisionInlinesController.renderInlineTable has cognitive complexity 17 (threshold 15). Drivers by points: if/else 14, loops 2, boolean chains 1 (nesting depth added 5). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/controller/DifferentialRevisionInlinesController.php"},"region":{"startLine":72}}}],"partialFingerprints":{"codehealthFindingId/v1":"04de45b4ccde898b8130a5a9091a4a14760e6b901737e0b27df044a0d658aeaf"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialDiffEditor.validateTransaction (cognitive 17): DifferentialDiffEditor.validateTransaction has cognitive complexity 17 (threshold 15). Drivers by points: if/else 11, loops 4, match/switch 2 (nesting depth added 11). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/editor/DifferentialDiffEditor.php"},"region":{"startLine":111}}}],"partialFingerprints":{"codehealthFindingId/v1":"7cecbb7fa293e8a5f5bbdab68657c1540a9d7d6d7edd764196c3c5a3d4563d31"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialChangesetParser.process (cognitive 17): DifferentialChangesetParser.process has cognitive complexity 17 (threshold 15). Drivers by points: boolean chains 5, if/else 5, error handling 4, match/switch 2, loops 1 (nesting depth added 4). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/parser/DifferentialChangesetParser.php"},"region":{"startLine":631}}}],"partialFingerprints":{"codehealthFindingId/v1":"4e19e003933836c697f20a3989253531a04f5e62ff139fa7f105fb9261e7525d"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialLineAdjustmentMap.buildMaps (cognitive 17): DifferentialLineAdjustmentMap.buildMaps has cognitive complexity 17 (threshold 15). Drivers by points: if/else 9, boolean chains 6, loops 2 (nesting depth added 4). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/parser/DifferentialLineAdjustmentMap.php"},"region":{"startLine":304}}}],"partialFingerprints":{"codehealthFindingId/v1":"8370619f4db13efd5bdc439019cdbe4297127e1f658113aaf92330184a2e62b5"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionCommitController.loadCommitState (cognitive 17): DiffusionCommitController.loadCommitState has cognitive complexity 17 (threshold 15). Drivers by points: if/else 11, error handling 3, loops 3 (nesting depth added 3). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/controller/DiffusionCommitController.php"},"region":{"startLine":1033}}}],"partialFingerprints":{"codehealthFindingId/v1":"95b4791cabb13fdb0d8ddf248eb7935e0ee7e9502a2c51a8fc4ea9b8b7d8e62d"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionRepositoryController.buildHeaderView (cognitive 17): DiffusionRepositoryController.buildHeaderView has cognitive complexity 17 (threshold 15). Drivers by points: if/else 17 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/controller/DiffusionRepositoryController.php"},"region":{"startLine":270}}}],"partialFingerprints":{"codehealthFindingId/v1":"d4a844bfda3599a459f6d6d0bc4862cd9d485d2c9c137f54e1e96bb79dc91582"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionDoorkeeperCommitFeedStoryPublisher.willPublishStory (cognitive 17): DiffusionDoorkeeperCommitFeedStoryPublisher.willPublishStory has cognitive complexity 17 (threshold 15). Drivers by points: if/else 14, match/switch 2, loops 1 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/doorkeeper/DiffusionDoorkeeperCommitFeedStoryPublisher.php"},"region":{"startLine":52}}}],"partialFingerprints":{"codehealthFindingId/v1":"ad980abeffef9f653bc95f9357efc61deac57d065e7762a61cfb4b4a5cb0a219"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionRepositoryClusterEngine.synchronizeWorkingCopyAfterWrite (cognitive 17): DiffusionRepositoryClusterEngine.synchronizeWorkingCopyAfterWrite has cognitive complexity 17 (threshold 15). Drivers by points: if/else 11, error handling 5, loops 1 (nesting depth added 5). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/protocol/DiffusionRepositoryClusterEngine.php"},"region":{"startLine":486}}}],"partialFingerprints":{"codehealthFindingId/v1":"b787984c78caa9e482a952c62df56542e573dc86bbe22c0adfabc142b577fea2"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionCachedResolveRefsQuery.resolveGitAndMercurialRefs (cognitive 17): DiffusionCachedResolveRefsQuery.resolveGitAndMercurialRefs has cognitive complexity 17 (threshold 15). Drivers by points: if/else 9, loops 8 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/query/DiffusionCachedResolveRefsQuery.php"},"region":{"startLine":61}}}],"partialFingerprints":{"codehealthFindingId/v1":"036cc561a180281ee23d9abf264fb812ca7c05d0a00aa48bfb755c3ff8b24be9"}},{"ruleId":"D2","level":"warning","message":{"text":"DivinerStaticPublisher.findAtomByRef (cognitive 17): DivinerStaticPublisher.findAtomByRef has cognitive complexity 17 (threshold 15). Drivers by points: if/else 14, loops 3 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diviner/publisher/DivinerStaticPublisher.php"},"region":{"startLine":117}}}],"partialFingerprints":{"codehealthFindingId/v1":"fbf9a9c027454e61fbcffa31a9a5fdf243f042abe66208eaa3abf7c7759eece8"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorGuidanceEngine.newInfoView (cognitive 17): PhabricatorGuidanceEngine.newInfoView has cognitive complexity 17 (threshold 15). Drivers by points: if/else 11, loops 6 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/guides/guidance/PhabricatorGuidanceEngine.php"},"region":{"startLine":28}}}],"partialFingerprints":{"codehealthFindingId/v1":"a73d3bb2755a53ac417472afae67c098df0edfa1010f21d76211e061808f4b13"}},{"ruleId":"D2","level":"warning","message":{"text":"HeraldTranscriptController.buildWarningPanel (cognitive 17): HeraldTranscriptController.buildWarningPanel has cognitive complexity 17 (threshold 15). Drivers by points: if/else 17 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/herald/controller/HeraldTranscriptController.php"},"region":{"startLine":186}}}],"partialFingerprints":{"codehealthFindingId/v1":"cdacbe700dfbb78c3780affaa5cf3a1104ef2436850adac527fac46fd4216b21"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorMemeRemarkupRule.markupMeme (cognitive 17): PhabricatorMemeRemarkupRule.markupMeme has cognitive complexity 17 (threshold 15). Drivers by points: if/else 13, error handling 3, boolean chains 1 (nesting depth added 5). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/macro/markup/PhabricatorMemeRemarkupRule.php"},"region":{"startLine":18}}}],"partialFingerprints":{"codehealthFindingId/v1":"0a350456e4ca39248a48407e95bde5d250e486abc61d10778d016776f1613c1b"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorMailMailgunAdapter.sendMessage (cognitive 17): PhabricatorMailMailgunAdapter.sendMessage has cognitive complexity 17 (threshold 15). Drivers by points: if/else 9, loops 7, error handling 1 (nesting depth added 3). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/metamta/adapter/PhabricatorMailMailgunAdapter.php"},"region":{"startLine":39}}}],"partialFingerprints":{"codehealthFindingId/v1":"131e83e0a7c0c970cc92a7802a3c4345d3deaf7764dde15a2e6281b6f88c6caf"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorMailPostmarkAdapter.sendMessage (cognitive 17): PhabricatorMailPostmarkAdapter.sendMessage has cognitive complexity 17 (threshold 15). Drivers by points: if/else 9, loops 8 (nesting depth added 4). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/metamta/adapter/PhabricatorMailPostmarkAdapter.php"},"region":{"startLine":45}}}],"partialFingerprints":{"codehealthFindingId/v1":"b0bc632ad85a932a0198d9caf711bd655cb850bce8e920b41b5a3bd83d0bb022"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorMailSendGridAdapter.sendMessage (cognitive 17): PhabricatorMailSendGridAdapter.sendMessage has cognitive complexity 17 (threshold 15). Drivers by points: if/else 9, loops 8 (nesting depth added 4). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/metamta/adapter/PhabricatorMailSendGridAdapter.php"},"region":{"startLine":31}}}],"partialFingerprints":{"codehealthFindingId/v1":"dfc41e3d886b7b364e2337ce1b6f860adf1de5ed074749d0cdd039d20fd0ed1c"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorMetaMTAApplicationEmailEditor.validateTransaction (cognitive 17): PhabricatorMetaMTAApplicationEmailEditor.validateTransaction has cognitive complexity 17 (threshold 15). Drivers by points: if/else 14, loops 2, match/switch 1 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/metamta/editor/PhabricatorMetaMTAApplicationEmailEditor.php"},"region":{"startLine":85}}}],"partialFingerprints":{"codehealthFindingId/v1":"0e7dbb91436c04032db6bc56fbfa9a6d0a5c5080d77067b3d31f686443649aa9"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorPeopleQuery.buildWhereClauseParts (cognitive 17): PhabricatorPeopleQuery.buildWhereClauseParts has cognitive complexity 17 (threshold 15). Drivers by points: if/else 15, loops 2 (nesting depth added 1). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/people/query/PhabricatorPeopleQuery.php"},"region":{"startLine":242}}}],"partialFingerprints":{"codehealthFindingId/v1":"a893ab3918a57ad006c3709cd2d20423d173581138b878257c4908f36b162eb0"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorObjectQuery.loadObjectsByPHID (cognitive 17): PhabricatorObjectQuery.loadObjectsByPHID has cognitive complexity 17 (threshold 15). Drivers by points: if/else 10, loops 6, boolean chains 1 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phid/query/PhabricatorObjectQuery.php"},"region":{"startLine":116}}}],"partialFingerprints":{"codehealthFindingId/v1":"443fd0ef360f1912af21845856a667c5de9cd907b19815f76f1a8e2edfac7f35"}},{"ruleId":"D2","level":"warning","message":{"text":"PhrictionTransactionEditor.applyFinalEffects (cognitive 17): PhrictionTransactionEditor.applyFinalEffects has cognitive complexity 17 (threshold 15). Drivers by points: if/else 9, loops 4, boolean chains 2, match/switch 2 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phriction/editor/PhrictionTransactionEditor.php"},"region":{"startLine":155}}}],"partialFingerprints":{"codehealthFindingId/v1":"34339c1e39a920d7fd986354d94c188662e479d822d32ffe649ee4e513e0f9ec"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorPolicyEditEngineExtension.buildCustomEditFields (cognitive 17): PhabricatorPolicyEditEngineExtension.buildCustomEditFields has cognitive complexity 17 (threshold 15). Drivers by points: if/else 16, loops 1 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/policy/editor/PhabricatorPolicyEditEngineExtension.php"},"region":{"startLine":26}}}],"partialFingerprints":{"codehealthFindingId/v1":"9716592a92ca7351e7f9c76497bcc7d24d263ed260797668fc28ef3bc90bf03b"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorPolicyFilterSet.loadHandleViewCapabilities (cognitive 17): PhabricatorPolicyFilterSet.loadHandleViewCapabilities has cognitive complexity 17 (threshold 15). Drivers by points: loops 13, if/else 4 (nesting depth added 7). To reduce it, break up the iteration: give each loop body a named function, and split a multi-phase loop into one function per phase so no single body carries the whole pipeline."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/policy/filter/PhabricatorPolicyFilterSet.php"},"region":{"startLine":105}}}],"partialFingerprints":{"codehealthFindingId/v1":"fb2b75cf20793e5be1fb868ba0a1e758e795ff048bf8ec0b1349570be2025cce"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorProjectController.newApplicationCrumbs (cognitive 17): PhabricatorProjectController.newApplicationCrumbs has cognitive complexity 17 (threshold 15). Drivers by points: if/else 11, match/switch 4, loops 2 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/controller/PhabricatorProjectController.php"},"region":{"startLine":111}}}],"partialFingerprints":{"codehealthFindingId/v1":"2b82cb52963aa3bba237fdb966e407b2eab736d9d537e34e507e92cc3314f892"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorProjectUIEventListener.handlePropertyEvent (cognitive 17): PhabricatorProjectUIEventListener.handlePropertyEvent has cognitive complexity 17 (threshold 15). Drivers by points: if/else 10, loops 5, boolean chains 2 (nesting depth added 5). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/events/PhabricatorProjectUIEventListener.php"},"region":{"startLine":26}}}],"partialFingerprints":{"codehealthFindingId/v1":"0d87b3ad2924170284769a2e8c598cfde44d543480bd1e7937146eb37198ada6"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorProjectIconSet.validateColorConfiguration (cognitive 17): PhabricatorProjectIconSet.validateColorConfiguration has cognitive complexity 17 (threshold 15). Drivers by points: if/else 15, loops 2 (nesting depth added 6). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/icon/PhabricatorProjectIconSet.php"},"region":{"startLine":434}}}],"partialFingerprints":{"codehealthFindingId/v1":"a5b4dabaae66a2de5be4f43c30aed9f70ee3519b746af85671bb2320b806b507"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorProjectListView.renderList (cognitive 17): PhabricatorProjectListView.renderList has cognitive complexity 17 (threshold 15). Drivers by points: if/else 15, boolean chains 1, loops 1 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/view/PhabricatorProjectListView.php"},"region":{"startLine":34}}}],"partialFingerprints":{"codehealthFindingId/v1":"adc1cf49538f5d8248c553387998e1d26f7343b596c723cf01d6786b36a23ec9"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorRepositoryTransactionType.validateRefList (cognitive 17): PhabricatorRepositoryTransactionType.validateRefList has cognitive complexity 17 (threshold 15). Drivers by points: if/else 10, match/switch 4, loops 3 (nesting depth added 11). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/xaction/PhabricatorRepositoryTransactionType.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"33678101624ca45c35fff512ef6c7f2916e2dda3d17d7a8708d4733c05122737"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorSearchEngineAPIMethod.buildConstraintsDocumentationPage (cognitive 17): PhabricatorSearchEngineAPIMethod.buildConstraintsDocumentationPage has cognitive complexity 17 (threshold 15). Drivers by points: if/else 13, loops 4 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/search/engine/PhabricatorSearchEngineAPIMethod.php"},"region":{"startLine":154}}}],"partialFingerprints":{"codehealthFindingId/v1":"492cc6fd31433b32258362003b50500f402b670ad8a1dab2a0d3aab83d818f88"}},{"ruleId":"D2","level":"warning","message":{"text":"FerretSearchFunction.newFerretSearchFunctions (cognitive 17): FerretSearchFunction.newFerretSearchFunctions has cognitive complexity 17 (threshold 15). Drivers by points: if/else 14, loops 3 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/search/ferret/function/FerretSearchFunction.php"},"region":{"startLine":36}}}],"partialFingerprints":{"codehealthFindingId/v1":"0097d0cb1130150a5ad2df45068598cc97b081f0e3223af59b9caf28752ccf13"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorLinkProfileMenuItem.validateTransactions (cognitive 17): PhabricatorLinkProfileMenuItem.validateTransactions has cognitive complexity 17 (threshold 15). Drivers by points: if/else 15, loops 2 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/search/menuitem/PhabricatorLinkProfileMenuItem.php"},"region":{"startLine":97}}}],"partialFingerprints":{"codehealthFindingId/v1":"9761c5fa164dcc1e343d3fdbf5cb59d4eb3644fd90feb44ce76f07936c30e1b5"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorSlowvoteQuery.willFilterPage (cognitive 17): PhabricatorSlowvoteQuery.willFilterPage has cognitive complexity 17 (threshold 15). Drivers by points: loops 10, if/else 7 (nesting depth added 8). To reduce it, break up the iteration: give each loop body a named function, and split a multi-phase loop into one function per phase so no single body carries the whole pipeline."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/slowvote/query/PhabricatorSlowvoteQuery.php"},"region":{"startLine":60}}}],"partialFingerprints":{"codehealthFindingId/v1":"3ad13d955d2ec99d9b391ad5cc3f90f252e571f335e680917a8286240afe0e7a"}},{"ruleId":"D2","level":"warning","message":{"text":"SlowvoteEmbedView.render (cognitive 17): SlowvoteEmbedView.render has cognitive complexity 17 (threshold 15). Drivers by points: if/else 15, loops 2 (nesting depth added 4). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/slowvote/view/SlowvoteEmbedView.php"},"region":{"startLine":17}}}],"partialFingerprints":{"codehealthFindingId/v1":"863ef812fc475ccc6a11aa2302c85c29679d67ac67eced55bce2b0d366985e11"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorEditEngine.getBuiltinEngineConfigurations (cognitive 17): PhabricatorEditEngine.getBuiltinEngineConfigurations has cognitive complexity 17 (threshold 15). Drivers by points: if/else 14, loops 2, boolean chains 1 (nesting depth added 6). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/editengine/PhabricatorEditEngine.php"},"region":{"startLine":449}}}],"partialFingerprints":{"codehealthFindingId/v1":"16be66fb442cdb091ecab9941e265e0fe2611680daf92e517e4ec05915fcd27d"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorEditEngineSubtype.newSubtypeMap (cognitive 17): PhabricatorEditEngineSubtype.newSubtypeMap has cognitive complexity 17 (threshold 15). Drivers by points: if/else 13, loops 4 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/editengine/PhabricatorEditEngineSubtype.php"},"region":{"startLine":259}}}],"partialFingerprints":{"codehealthFindingId/v1":"1233f2671f36ce387f102d85f72c80a7ff83ded69e63e49299ca42d3b7d57a1e"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorClusterMailersConfigType.validateStoredValue (cognitive 17): PhabricatorClusterMailersConfigType.validateStoredValue has cognitive complexity 17 (threshold 15). Drivers by points: if/else 10, error handling 4, loops 2, boolean chains 1 (nesting depth added 6). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/cluster/config/PhabricatorClusterMailersConfigType.php"},"region":{"startLine":8}}}],"partialFingerprints":{"codehealthFindingId/v1":"20b53778ea5fe35f4095a6f452c405e0a20797eb8003915a6bda977de37d2190"}},{"ruleId":"D2","level":"warning","message":{"text":"PhutilDaemon.sleep (cognitive 17): PhutilDaemon.sleep has cognitive complexity 17 (threshold 15). Drivers by points: if/else 13, boolean chains 3, loops 1 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/daemon/PhutilDaemon.php"},"region":{"startLine":158}}}],"partialFingerprints":{"codehealthFindingId/v1":"544302706ad07f22d0bb55a56a666e40dd740246f8b354b925e5a23f6bcb29f5"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorDiffScopeEngine.newLineDepthMap (cognitive 17): PhabricatorDiffScopeEngine.newLineDepthMap has cognitive complexity 17 (threshold 15). Drivers by points: if/else 13, loops 3, boolean chains 1 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/diff/PhabricatorDiffScopeEngine.php"},"region":{"startLine":123}}}],"partialFingerprints":{"codehealthFindingId/v1":"a6a1da0e8aa7730bdf82f101e92b94f0b98edd3cf84af36c55d582b1fa86ab64"}},{"ruleId":"D2","level":"warning","message":{"text":"PhutilProseDiff.getSummaryParts (cognitive 17): PhutilProseDiff.getSummaryParts has cognitive complexity 17 (threshold 15). Drivers by points: if/else 13, match/switch 2, boolean chains 1, loops 1 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/diff/prose/PhutilProseDiff.php"},"region":{"startLine":23}}}],"partialFingerprints":{"codehealthFindingId/v1":"c13f71f17509d2f25339cf6b7d516405426b708b0b6dbe6b71f1703ee7273c61"}},{"ruleId":"D2","level":"warning","message":{"text":"PhutilDefaultSyntaxHighlighterEngine.getHighlightFuture (cognitive 17): PhutilDefaultSyntaxHighlighterEngine.getHighlightFuture has cognitive complexity 17 (threshold 15). Drivers by points: if/else 13, boolean chains 4 (nesting depth added 1). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/markup/syntax/engine/PhutilDefaultSyntaxHighlighterEngine.php"},"region":{"startLine":42}}}],"partialFingerprints":{"codehealthFindingId/v1":"758c8a342c36f219ee508ec73d67524bf9eeb7cd8a71758fb152531dccc55902"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorCursorPagedPolicyAwareQuery.buildFerretSelectClause (cognitive 17): PhabricatorCursorPagedPolicyAwareQuery.buildFerretSelectClause has cognitive complexity 17 (threshold 15). Drivers by points: if/else 15, loops 2 (nesting depth added 5). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/query/policy/PhabricatorCursorPagedPolicyAwareQuery.php"},"region":{"startLine":1875}}}],"partialFingerprints":{"codehealthFindingId/v1":"b8fb52e7353600d7a4bb14a1368325a37023addbb6829097629009b9ca1443cc"}},{"ruleId":"D2","level":"warning","message":{"text":"AphrontTagView.render (cognitive 17): AphrontTagView.render has cognitive complexity 17 (threshold 15). Drivers by points: if/else 12, loops 2, match/switch 2, ternaries 1 (nesting depth added 6). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/AphrontTagView.php"},"region":{"startLine":92}}}],"partialFingerprints":{"codehealthFindingId/v1":"ed2edd817ccf4d873debc3c5ef04369e14152d04c44f71bf4642c0bf624d50d0"}},{"ruleId":"D2","level":"warning","message":{"text":"PHUICurtainExtension.buildExtensionPanels (cognitive 17): PHUICurtainExtension.buildExtensionPanels has cognitive complexity 17 (threshold 15). Drivers by points: if/else 11, loops 6 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/extension/PHUICurtainExtension.php"},"region":{"startLine":48}}}],"partialFingerprints":{"codehealthFindingId/v1":"e324e4829988f032a4b78a4bfe18f6d58ff88c56616b9e372c46fc33462de984"}},{"ruleId":"D2","level":"warning","message":{"text":"PHUIButtonBarView.getTagContent (cognitive 17): PHUIButtonBarView.getTagContent has cognitive complexity 17 (threshold 15). Drivers by points: if/else 16, loops 1 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/phui/PHUIButtonBarView.php"},"region":{"startLine":31}}}],"partialFingerprints":{"codehealthFindingId/v1":"ce76e01270c1c946c1a2bb70704d830716eac89f9c17835f11c1f62c6152f06b"}},{"ruleId":"D2","level":"warning","message":{"text":"PHUIFeedStoryView.render (cognitive 17): PHUIFeedStoryView.render has cognitive complexity 17 (threshold 15). Drivers by points: if/else 16, loops 1 (nesting depth added 2). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/phui/PHUIFeedStoryView.php"},"region":{"startLine":194}}}],"partialFingerprints":{"codehealthFindingId/v1":"39d939186df053d889f3ec202c8637e99bd24d444e52e246ef489ccfcdc24a94"}},{"ruleId":"D2","level":"warning","message":{"text":"PHUIIconView.getTagAttributes (cognitive 17): PHUIIconView.getTagAttributes has cognitive complexity 17 (threshold 15). Drivers by points: if/else 17 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/phui/PHUIIconView.php"},"region":{"startLine":96}}}],"partialFingerprints":{"codehealthFindingId/v1":"ab5e68dcf8e3292f42f4c0014d857e3a9dc0486df22ec79a9d3b8af76e92c9d8"}},{"ruleId":"D2","level":"warning","message":{"text":"findTodayClusters (cognitive 17): findTodayClusters has cognitive complexity 17 (threshold 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"webroot/rsrc/js/application/calendar/behavior-day-view.js"},"region":{"startLine":7}}}],"partialFingerprints":{"codehealthFindingId/v1":"208dce3e199628abc332064a7a2cc51548608c14d84256b06ad538b8108a4aa5"}},{"ruleId":"D2","level":"warning","message":{"text":"MimeMailParser.getAttachmentStream (cognitive 16): MimeMailParser.getAttachmentStream has cognitive complexity 16 (threshold 15). Drivers by points: if/else 12, loops 3, ternaries 1 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"externals/mimemailparser/MimeMailParser.class.php"},"region":{"startLine":435}}}],"partialFingerprints":{"codehealthFindingId/v1":"2fbdc11ab31ac2b59e3d7623ddb0e2929ffab44acc427ff10e8cda5da45adedf"}},{"ruleId":"D2","level":"warning","message":{"text":"xhprof_lib.xhprof_compute_flat_info (cognitive 16): xhprof_lib.xhprof_compute_flat_info has cognitive complexity 16 (threshold 15). Drivers by points: if/else 8, loops 8 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"externals/xhprof/xhprof_lib.php"},"region":{"startLine":378}}}],"partialFingerprints":{"codehealthFindingId/v1":"ec3b7367c9582478bb2e77ad4692c222cfc6441530591e081bdc99b24c056123"}},{"ruleId":"D2","level":"warning","message":{"text":"AlmanacManagementRegisterWorkflow.execute (cognitive 16): AlmanacManagementRegisterWorkflow.execute has cognitive complexity 16 (threshold 15). Drivers by points: if/else 16 (nesting depth added 2). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/almanac/management/AlmanacManagementRegisterWorkflow.php"},"region":{"startLine":37}}}],"partialFingerprints":{"codehealthFindingId/v1":"13d0dcd45d013a3d7460deea2f3a9495a71d27b3fdbb14347245a02a5692625c"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorAuditTransactionView.renderTransactionContent (cognitive 16): PhabricatorAuditTransactionView.renderTransactionContent has cognitive complexity 16 (threshold 15). Drivers by points: if/else 9, loops 5, match/switch 2 (nesting depth added 4). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/audit/view/PhabricatorAuditTransactionView.php"},"region":{"startLine":50}}}],"partialFingerprints":{"codehealthFindingId/v1":"41747dd308cb4029fe4c1ef893c44a6add93e78e30be30e65bfe3e05bc0fe60f"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorAuthProvider.renderStandardLoginButton (cognitive 16): PhabricatorAuthProvider.renderStandardLoginButton has cognitive complexity 16 (threshold 15). Drivers by points: if/else 14, loops 2 (nesting depth added 6). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/provider/PhabricatorAuthProvider.php"},"region":{"startLine":468}}}],"partialFingerprints":{"codehealthFindingId/v1":"f4ff5f4eb95e05c3181d7f1e2b60d10fab54056068db32b4bfa940d82d8d4106"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorConfigSettingsListController.handleRequest (cognitive 16): PhabricatorConfigSettingsListController.handleRequest has cognitive complexity 16 (threshold 15). Drivers by points: if/else 10, boolean chains 5, loops 1 (nesting depth added 3). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/controller/settings/PhabricatorConfigSettingsListController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"ee4f9038d5531004e1c304fc4e3cfd054bdc3e0187ffc3da74833f7e3fe241c0"}},{"ruleId":"D2","level":"warning","message":{"text":"ConpherenceUpdateController.renderRemovePersonDialog (cognitive 16): ConpherenceUpdateController.renderRemovePersonDialog has cognitive complexity 16 (threshold 15). Drivers by points: if/else 15, loops 1 (nesting depth added 4). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/conpherence/controller/ConpherenceUpdateController.php"},"region":{"startLine":220}}}],"partialFingerprints":{"codehealthFindingId/v1":"aa21c84499fcfee51c269e890b1724c3a85f70386f7ee58848d002d86f108e2c"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialController.buildPackageMaps (cognitive 16): DifferentialController.buildPackageMaps has cognitive complexity 16 (threshold 15). Drivers by points: if/else 10, loops 6 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/controller/DifferentialController.php"},"region":{"startLine":28}}}],"partialFingerprints":{"codehealthFindingId/v1":"231993b493a965652cd3396cb695867260016f5a1d9f708584917852e828d9bb"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialChangesetParser.loadFileObjectsForChangeset (cognitive 16): DifferentialChangesetParser.loadFileObjectsForChangeset has cognitive complexity 16 (threshold 15). Drivers by points: if/else 15, boolean chains 1 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/parser/DifferentialChangesetParser.php"},"region":{"startLine":1849}}}],"partialFingerprints":{"codehealthFindingId/v1":"f6abbb658fa283f32cdf4e0ed6354f641d94355486f4395e14fb867b45d839c0"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialRevisionQuery.loadReviewerAuthority (cognitive 16): DifferentialRevisionQuery.loadReviewerAuthority has cognitive complexity 16 (threshold 15). Drivers by points: if/else 13, loops 3 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/query/DifferentialRevisionQuery.php"},"region":{"startLine":1016}}}],"partialFingerprints":{"codehealthFindingId/v1":"494f157e6cc0ba13f9d78e17628755053715559c8885c218491437b4525e7be4"}},{"ruleId":"D2","level":"warning","message":{"text":"DifferentialChangesetRenderer.getChangesetProperties (cognitive 16): DifferentialChangesetRenderer.getChangesetProperties has cognitive complexity 16 (threshold 15). Drivers by points: if/else 14, boolean chains 1, loops 1 (nesting depth added 5). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/render/DifferentialChangesetRenderer.php"},"region":{"startLine":650}}}],"partialFingerprints":{"codehealthFindingId/v1":"1154c3ba2ceec3ed3096038be5619b9980ed4182a10a0a4df24049bb5391df30"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionLastModifiedQueryConduitAPIMethod.loadCommitsFromCache (cognitive 16): DiffusionLastModifiedQueryConduitAPIMethod.loadCommitsFromCache has cognitive complexity 16 (threshold 15). Drivers by points: if/else 13, loops 3 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/conduit/DiffusionLastModifiedQueryConduitAPIMethod.php"},"region":{"startLine":100}}}],"partialFingerprints":{"codehealthFindingId/v1":"a0b7d69da373e3bf1eca605b7807cf130a447fdbe4e3884821fce0cb9309ccd3"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionLastModifiedController.handleRequest (cognitive 16): DiffusionLastModifiedController.handleRequest has cognitive complexity 16 (threshold 15). Drivers by points: if/else 12, loops 2, boolean chains 1, error handling 1 (nesting depth added 4). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/controller/DiffusionLastModifiedController.php"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"3ad0270821bae28ca99ce8795be0ab62db5cdcb0c788eac828d35bae764bdf47"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionServeController.handleRequest (cognitive 16): DiffusionServeController.handleRequest has cognitive complexity 16 (threshold 15). Drivers by points: if/else 14, error handling 2 (nesting depth added 3). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/controller/DiffusionServeController.php"},"region":{"startLine":94}}}],"partialFingerprints":{"codehealthFindingId/v1":"7dc270c4900df65ea70a044b6578646b27fa8f6de87009ef278a344180280ab0"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionGitBranch.parseRemoteBranchOutput (cognitive 16): DiffusionGitBranch.parseRemoteBranchOutput has cognitive complexity 16 (threshold 15). Drivers by points: if/else 15, loops 1 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/data/DiffusionGitBranch.php"},"region":{"startLine":26}}}],"partialFingerprints":{"codehealthFindingId/v1":"accb2766cde4e22fc63a9f960b142aa4f8db8f91e6fa2073c5a4f5032df7a71e"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionBrowseTableView.render (cognitive 16): DiffusionBrowseTableView.render has cognitive complexity 16 (threshold 15). Drivers by points: if/else 12, loops 3, boolean chains 1 (nesting depth added 5). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/view/DiffusionBrowseTableView.php"},"region":{"startLine":13}}}],"partialFingerprints":{"codehealthFindingId/v1":"6db6d58f5957046bd8003b1fca1c2d8606d61dced8c5be1bab03a5d67761551a"}},{"ruleId":"D2","level":"warning","message":{"text":"DiffusionCommitAuditorsTransaction.validateTransactions (cognitive 16): DiffusionCommitAuditorsTransaction.validateTransactions has cognitive complexity 16 (threshold 15). Drivers by points: if/else 9, loops 3, match/switch 3, boolean chains 1 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/xaction/DiffusionCommitAuditorsTransaction.php"},"region":{"startLine":177}}}],"partialFingerprints":{"codehealthFindingId/v1":"3482a85b4f78464a48eb7fd879b6d26231df5879bf6e7c30e9785e99b1f1f4bb"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorChartRenderingEngine.getStoredChart (cognitive 16): PhabricatorChartRenderingEngine.getStoredChart has cognitive complexity 16 (threshold 15). Drivers by points: if/else 12, error handling 4 (nesting depth added 10). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/fact/engine/PhabricatorChartRenderingEngine.php"},"region":{"startLine":46}}}],"partialFingerprints":{"codehealthFindingId/v1":"60fbe5d3c35bf0ed268917585f8fc91d0b317612837b957fa62cfa84f222296b"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorDocumentRef.loadData (cognitive 16): PhabricatorDocumentRef.loadData has cognitive complexity 16 (threshold 15). Drivers by points: if/else 13, loops 2, boolean chains 1 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/files/document/PhabricatorDocumentRef.php"},"region":{"startLine":85}}}],"partialFingerprints":{"codehealthFindingId/v1":"cb4afe90a1390fef2aac01365b890b4a321599cacb0635ab9c9ac59f00ebf2b6"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorFilesCurtainExtension.buildCurtainPanel (cognitive 16): PhabricatorFilesCurtainExtension.buildCurtainPanel has cognitive complexity 16 (threshold 15). Drivers by points: if/else 15, loops 1 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/files/engineextension/PhabricatorFilesCurtainExtension.php"},"region":{"startLine":16}}}],"partialFingerprints":{"codehealthFindingId/v1":"b20141798a4f7b949ef923ca610c47c029d7b4b4d21770ebc25c83172e2958f8"}},{"ruleId":"D2","level":"warning","message":{"text":"HarbormasterBuildLogRenderController.mergeOverlappingReads (cognitive 16): HarbormasterBuildLogRenderController.mergeOverlappingReads has cognitive complexity 16 (threshold 15). Drivers by points: if/else 12, loops 3, boolean chains 1 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/harbormaster/controller/HarbormasterBuildLogRenderController.php"},"region":{"startLine":507}}}],"partialFingerprints":{"codehealthFindingId/v1":"10b5fa74f46b6d0e95cfa37e00422c7ae8d39b05703207327efe8633a1afe798"}},{"ruleId":"D2","level":"warning","message":{"text":"HarbormasterPlanViewController.buildStepList (cognitive 16): HarbormasterPlanViewController.buildStepList has cognitive complexity 16 (threshold 15). Drivers by points: if/else 11, boolean chains 2, error handling 2, loops 1 (nesting depth added 6). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/harbormaster/controller/HarbormasterPlanViewController.php"},"region":{"startLine":92}}}],"partialFingerprints":{"codehealthFindingId/v1":"ea938946dcd9c11dd6711c14f76ea178c1d077dc608bfe1716aab6fb05135ac2"}},{"ruleId":"D2","level":"warning","message":{"text":"HarbormasterTargetEngine.generateBuildStepMap (cognitive 16): HarbormasterTargetEngine.generateBuildStepMap has cognitive complexity 16 (threshold 15). Drivers by points: if/else 10, loops 6 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/harbormaster/engine/HarbormasterTargetEngine.php"},"region":{"startLine":62}}}],"partialFingerprints":{"codehealthFindingId/v1":"0216c8bcaea9a03ff79643730efaec72367c346f084fd5f642fd353406ee67e6"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorMacroFileTransaction.validateTransactions (cognitive 16): PhabricatorMacroFileTransaction.validateTransactions has cognitive complexity 16 (threshold 15). Drivers by points: if/else 15, loops 1 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/macro/xaction/PhabricatorMacroFileTransaction.php"},"region":{"startLine":33}}}],"partialFingerprints":{"codehealthFindingId/v1":"27115ac4f8fa9f11d615babac000dd22f431ef6dadced1cfb09ca596ad82f625"}},{"ruleId":"D2","level":"warning","message":{"text":"ManiphestTaskDetailController.handleRequest (cognitive 16): ManiphestTaskDetailController.handleRequest has cognitive complexity 16 (threshold 15). Drivers by points: if/else 14, loops 2 (nesting depth added 6). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/maniphest/controller/ManiphestTaskDetailController.php"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"e55c36a953851386321dd214a5b1266489410fee536f846266ca526dc3982765"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorMailEmailEngine.newEmailSubject (cognitive 16): PhabricatorMailEmailEngine.newEmailSubject has cognitive complexity 16 (threshold 15). Drivers by points: if/else 14, boolean chains 1, loops 1 (nesting depth added 6). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/metamta/engine/PhabricatorMailEmailEngine.php"},"region":{"startLine":293}}}],"partialFingerprints":{"codehealthFindingId/v1":"1333c1a4fe0437d154732e51386f36c14676f9d13e8d933f90b80b82d0315ad0"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorMailReplyHandler.filterRecipientUsers (cognitive 16): PhabricatorMailReplyHandler.filterRecipientUsers has cognitive complexity 16 (threshold 15). Drivers by points: if/else 10, loops 6 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/metamta/replyhandler/PhabricatorMailReplyHandler.php"},"region":{"startLine":377}}}],"partialFingerprints":{"codehealthFindingId/v1":"c288375bed9f7698ba627e74e291a629b2f8449561d35670c4315f0e16ecafb9"}},{"ruleId":"D2","level":"warning","message":{"text":"NuanceItemQuery.willFilterPage (cognitive 16): NuanceItemQuery.willFilterPage has cognitive complexity 16 (threshold 15). Drivers by points: if/else 12, loops 4 (nesting depth added 5). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/nuance/query/NuanceItemQuery.php"},"region":{"startLine":59}}}],"partialFingerprints":{"codehealthFindingId/v1":"ba1900e54989d061c9c70b705a51b3506b1a722d89114832d9414a275f9ca7a6"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorUserUsernameTransaction.validateTransactions (cognitive 16): PhabricatorUserUsernameTransaction.validateTransactions has cognitive complexity 16 (threshold 15). Drivers by points: if/else 15, loops 1 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/people/xaction/PhabricatorUserUsernameTransaction.php"},"region":{"startLine":56}}}],"partialFingerprints":{"codehealthFindingId/v1":"a3f0269f702e13358027dc413c05017b2e9b105a99b3608ae239ba4339cd7a57"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorRepositoryDiscoveryEngine.discoverStreamAncestry (cognitive 16): PhabricatorRepositoryDiscoveryEngine.discoverStreamAncestry has cognitive complexity 16 (threshold 15). Drivers by points: if/else 12, loops 4 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/engine/PhabricatorRepositoryDiscoveryEngine.php"},"region":{"startLine":396}}}],"partialFingerprints":{"codehealthFindingId/v1":"f9872f3fd1e943c4adc0799592d6c3306e36d5c9ed5633cd34f9db3a35451e6a"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorRepositoryDiscoveryEngine.markUnreachableFrom (cognitive 16): PhabricatorRepositoryDiscoveryEngine.markUnreachableFrom has cognitive complexity 16 (threshold 15). Drivers by points: if/else 10, loops 4, error handling 2 (nesting depth added 6). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/engine/PhabricatorRepositoryDiscoveryEngine.php"},"region":{"startLine":816}}}],"partialFingerprints":{"codehealthFindingId/v1":"d52d4d45fc0761e16d0f3d6d9b797698fd05d6784b9d130fcb26aa3ff674d582"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorRepositoryManagementMarkImportedWorkflow.execute (cognitive 16): PhabricatorRepositoryManagementMarkImportedWorkflow.execute has cognitive complexity 16 (threshold 15). Drivers by points: if/else 13, boolean chains 2, loops 1 (nesting depth added 6). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/management/PhabricatorRepositoryManagementMarkImportedWorkflow.php"},"region":{"startLine":24}}}],"partialFingerprints":{"codehealthFindingId/v1":"f86aa5b98cb3a23411974e99d5e6b39009e3a1ea4e73d5278c57bc144042df76"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorRepositoryManagementUnpublishWorkflow.unpublishCommit (cognitive 16): PhabricatorRepositoryManagementUnpublishWorkflow.unpublishCommit has cognitive complexity 16 (threshold 15). Drivers by points: if/else 10, loops 6 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/management/PhabricatorRepositoryManagementUnpublishWorkflow.php"},"region":{"startLine":75}}}],"partialFingerprints":{"codehealthFindingId/v1":"aec4fa0ff034c1befc9faa61622cd0e329d7edc5cd48deb80d62e3d261893d23"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorApplicationSearchEngine.readUsersFromRequest (cognitive 16): PhabricatorApplicationSearchEngine.readUsersFromRequest has cognitive complexity 16 (threshold 15). Drivers by points: if/else 13, loops 3 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/search/engine/PhabricatorApplicationSearchEngine.php"},"region":{"startLine":736}}}],"partialFingerprints":{"codehealthFindingId/v1":"349aeb0620c4b82f890b5a26a91592a7f680fd5fa3a41251990c6a84ff6ebedc"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorProfileMenuEngine.adjustDefault (cognitive 16): PhabricatorProfileMenuEngine.adjustDefault has cognitive complexity 16 (threshold 15). Drivers by points: if/else 9, loops 4, boolean chains 3 (nesting depth added 6). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/search/engine/PhabricatorProfileMenuEngine.php"},"region":{"startLine":1148}}}],"partialFingerprints":{"codehealthFindingId/v1":"ef784778a8996d7c9e03748ee294fe7dc4819c5f158edc9b12a400f9d6bc6c45"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorSearchTokenizerField.getUsersFromRequest (cognitive 16): PhabricatorSearchTokenizerField.getUsersFromRequest has cognitive complexity 16 (threshold 15). Drivers by points: if/else 13, loops 3 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/search/field/PhabricatorSearchTokenizerField.php"},"region":{"startLine":29}}}],"partialFingerprints":{"codehealthFindingId/v1":"cb1b8287abe0ed5800fbef68aa637bead28ee7f8af24a389a6fd0cb9e3ecfe8a"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorElasticFulltextStorageEngine.check (cognitive 16): PhabricatorElasticFulltextStorageEngine.check has cognitive complexity 16 (threshold 15). Drivers by points: if/else 15, loops 1 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/search/fulltextstorage/PhabricatorElasticFulltextStorageEngine.php"},"region":{"startLine":423}}}],"partialFingerprints":{"codehealthFindingId/v1":"f8dd917471b5ffac9ed089e4bcbe16b2da05239ce036ac1996a865ad0ef32722"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorEditEngineConfigurationLockController.handleRequest (cognitive 16): PhabricatorEditEngineConfigurationLockController.handleRequest has cognitive complexity 16 (threshold 15). Drivers by points: if/else 15, loops 1 (nesting depth added 6). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/controller/PhabricatorEditEngineConfigurationLockController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"e9ac390402e2a9b7c14e10e84df3f7aadd6657002b7f6fd14c780781a79eaea3"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorEditEngineConfigurationSortController.handleRequest (cognitive 16): PhabricatorEditEngineConfigurationSortController.handleRequest has cognitive complexity 16 (threshold 15). Drivers by points: if/else 12, loops 4 (nesting depth added 3). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/controller/PhabricatorEditEngineConfigurationSortController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"9465d4ea47413f19b573d55eba39083cb3982a00778e9f0d5f0d96b397e8391b"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorEditEngine.buildEditFields (cognitive 16): PhabricatorEditEngine.buildEditFields has cognitive complexity 16 (threshold 15). Drivers by points: if/else 10, loops 6 (nesting depth added 6). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/editengine/PhabricatorEditEngine.php"},"region":{"startLine":149}}}],"partialFingerprints":{"codehealthFindingId/v1":"3b695fa0adf98aa5901bff04f8c88850cbc39c07f3d2ad1c4935fa05fc868e83"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorEditEngine.buildEditEngineCommentView (cognitive 16): PhabricatorEditEngine.buildEditEngineCommentView has cognitive complexity 16 (threshold 15). Drivers by points: if/else 15, loops 1 (nesting depth added 5). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/editengine/PhabricatorEditEngine.php"},"region":{"startLine":1625}}}],"partialFingerprints":{"codehealthFindingId/v1":"35d0bdf111abb16301cedcf53cb937023772d9e3fb316861f1b68bea9624dd83"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorApplicationTransactionEditor.newFileTransactionInternalValues (cognitive 16): PhabricatorApplicationTransactionEditor.newFileTransactionInternalValues has cognitive complexity 16 (threshold 15). Drivers by points: if/else 13, loops 2, boolean chains 1 (nesting depth added 7). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php"},"region":{"startLine":428}}}],"partialFingerprints":{"codehealthFindingId/v1":"4a63a758e2c01acc2e0d48647c6d660f3d44877631def73a98c0867e770422ff"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorApplicationTransactionEditor.getLegacyRequiredCapabilities (cognitive 16): PhabricatorApplicationTransactionEditor.getLegacyRequiredCapabilities has cognitive complexity 16 (threshold 15). Drivers by points: if/else 11, loops 4, match/switch 1 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php"},"region":{"startLine":1899}}}],"partialFingerprints":{"codehealthFindingId/v1":"74b24f613546d742d6af60155fd1e995febd6f2f2d37b269de1c28ee93ffe2cf"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorApplicationTransactionEditor.validateSpaceTransactions (cognitive 16): PhabricatorApplicationTransactionEditor.validateSpaceTransactions has cognitive complexity 16 (threshold 15). Drivers by points: if/else 15, loops 1 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php"},"region":{"startLine":3098}}}],"partialFingerprints":{"codehealthFindingId/v1":"36db199937eba4b85e3cee88f138ef59ba776621aa8c3aa90c5a3f6c6a5cd18f"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorApplicationTransactionQuery.loadPage (cognitive 16): PhabricatorApplicationTransactionQuery.loadPage has cognitive complexity 16 (threshold 15). Drivers by points: if/else 11, loops 5 (nesting depth added 8). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/query/PhabricatorApplicationTransactionQuery.php"},"region":{"startLine":104}}}],"partialFingerprints":{"codehealthFindingId/v1":"183131e60993a17ba337133036de716e6c912eed8ca5922b5b06e9a5a0663871"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorClusterSearchConfigType.validateValue (cognitive 16): PhabricatorClusterSearchConfigType.validateValue has cognitive complexity 16 (threshold 15). Drivers by points: error handling 6, if/else 6, loops 4 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/cluster/config/PhabricatorClusterSearchConfigType.php"},"region":{"startLine":14}}}],"partialFingerprints":{"codehealthFindingId/v1":"cee2b4a6a2d7513adc3dd193ff5e026a7593a87cf23de44320a2b18ca71fe8de"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorWorkerManagementExecuteWorkflow.execute (cognitive 16): PhabricatorWorkerManagementExecuteWorkflow.execute has cognitive complexity 16 (threshold 15). Drivers by points: if/else 15, loops 1 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/daemon/workers/management/PhabricatorWorkerManagementExecuteWorkflow.php"},"region":{"startLine":29}}}],"partialFingerprints":{"codehealthFindingId/v1":"8360e8929f9780d463f5fbd38976e164a859e3f4b8e26c8f0628e7b454dc954d"}},{"ruleId":"D2","level":"warning","message":{"text":"PHUIDiffTableOfContentsListView.newTreeVector (cognitive 16): PHUIDiffTableOfContentsListView.newTreeVector has cognitive complexity 16 (threshold 15). Drivers by points: if/else 10, loops 3, match/switch 2, boolean chains 1 (nesting depth added 5). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/diff/view/PHUIDiffTableOfContentsListView.php"},"region":{"startLine":299}}}],"partialFingerprints":{"codehealthFindingId/v1":"6069a86266bc3849487e33ca8fedca7f3b6ab8b0b8074e7a2e64894bcc8f6fea"}},{"ruleId":"D2","level":"warning","message":{"text":"ManiphestTaskGraph.newTableRow (cognitive 16): ManiphestTaskGraph.newTableRow has cognitive complexity 16 (threshold 15). Drivers by points: if/else 15, boolean chains 1 (nesting depth added 4). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/graph/ManiphestTaskGraph.php"},"region":{"startLine":37}}}],"partialFingerprints":{"codehealthFindingId/v1":"e40a517fa2507f2a4347ba3ac65feb20cab7dee615519217b6c9a9755ec19063"}},{"ruleId":"D2","level":"warning","message":{"text":"AphrontMultiColumnView.render (cognitive 16): AphrontMultiColumnView.render has cognitive complexity 16 (threshold 15). Drivers by points: if/else 14, boolean chains 1, loops 1 (nesting depth added 5). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/layout/AphrontMultiColumnView.php"},"region":{"startLine":60}}}],"partialFingerprints":{"codehealthFindingId/v1":"b6dd2a3a1a35e657bb7bfe2cfadc980b021b5eabbd795d627c8ce5e2892e69f9"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorStandardPageView.getBodyClasses (cognitive 16): PhabricatorStandardPageView.getBodyClasses has cognitive complexity 16 (threshold 15). Drivers by points: if/else 15, loops 1 (nesting depth added 4). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/page/PhabricatorStandardPageView.php"},"region":{"startLine":603}}}],"partialFingerprints":{"codehealthFindingId/v1":"aaea46f4c2cc4ec4137bd3b334ea9ecbe895214d4f43f0b1d7316c500cae044b"}},{"ruleId":"D2","level":"warning","message":{"text":"PHUIObjectItemListView.getTagContent (cognitive 16): PHUIObjectItemListView.getTagContent has cognitive complexity 16 (threshold 15). Drivers by points: if/else 9, loops 6, boolean chains 1 (nesting depth added 5). To reduce it, split the body: this score is breadth rather than depth \u2014 many checks laid out side by side rather than nested inside one another, so inverting conditions into early returns has nothing left to flatten. Group the statements between the checks into named steps and move each step into its own function, so the body reads as a short sequence of named stages."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/phui/PHUIObjectItemListView.php"},"region":{"startLine":117}}}],"partialFingerprints":{"codehealthFindingId/v1":"f1165f83c15e6ce8e21ee795d6493bda72a3f999118e39946432febbe7d78bb0"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorClientLimit.getScore (cognitive 16): PhabricatorClientLimit.getScore has cognitive complexity 16 (threshold 15). Drivers by points: if/else 14, loops 2 (nesting depth added 4). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"support/startup/PhabricatorClientLimit.php"},"region":{"startLine":234}}}],"partialFingerprints":{"codehealthFindingId/v1":"520cd471f7ca92eeef67fcac474e12bab1ebaf545d27eb63f59e1734116dc28a"}},{"ruleId":"D2","level":"warning","message":{"text":"PhabricatorStartup.onDebugTick (cognitive 16): PhabricatorStartup.onDebugTick has cognitive complexity 16 (threshold 15). Drivers by points: ternaries 12, if/else 2, loops 2 (nesting depth added 9). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"support/startup/PhabricatorStartup.php"},"region":{"startLine":279}}}],"partialFingerprints":{"codehealthFindingId/v1":"9dc94f82364bccc950425cb38c9794baef7890c1ff4ee071fc12a506032ac55d"}},{"ruleId":"D2","level":"warning","message":{"text":"sort_handler (cognitive 16): sort_handler has cognitive complexity 16 (threshold 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"webroot/rsrc/js/core/behavior-search-typeahead.js"},"region":{"startLine":59}}}],"partialFingerprints":{"codehealthFindingId/v1":"b598b6199f1b3191c6cc353817a7c4071eb69d518464078aa431449d338ef94e"}},{"ruleId":"D2","level":"warning","message":{"text":"onstartselect (cognitive 16): onstartselect has cognitive complexity 16 (threshold 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"webroot/rsrc/js/core/behavior-oncopy.js"},"region":{"startLine":11}}}],"partialFingerprints":{"codehealthFindingId/v1":"1a49ee38d43f6b796f9d30a6852baa0c82a191cfaa92b3f6dba0247f4e9016ce"}},{"ruleId":"D2","level":"warning","message":{"text":"extract_text (cognitive 16): extract_text has cognitive complexity 16 (threshold 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"webroot/rsrc/js/core/behavior-oncopy.js"},"region":{"startLine":250}}}],"partialFingerprints":{"codehealthFindingId/v1":"2c80c4d0a60fc0e1a62c35e2f950b622220aa8930663335763aeb8a9a8bcd45f"}},{"ruleId":"D2","level":"warning","message":{"text":"_tryScroll (cognitive 16): _tryScroll has cognitive complexity 16 (threshold 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"webroot/rsrc/js/core/DraggableList.js"},"region":{"startLine":767}}}],"partialFingerprints":{"codehealthFindingId/v1":"81c66fa126c97a2a1650361338afa91fdd61b144734e16772336bf79be63c693"}},{"ruleId":"D2","level":"warning","message":{"text":"openSearch (cognitive 16): openSearch has cognitive complexity 16 (threshold 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"webroot/rsrc/js/application/repository/repository-crossreference.js"},"region":{"startLine":123}}}],"partialFingerprints":{"codehealthFindingId/v1":"0c1b3e1555d6566203a90f1d7380a38a642bb0f0472a4ecb25757e258ccd6ea2"}},{"ruleId":"D2","level":"warning","message":{"text":"(anonymous) (cognitive 16): (anonymous) has cognitive complexity 16 (threshold 15). To reduce it, split the body into named stages: move each independent step or branch into its own named function so the body reads as a short sequence of named calls rather than one long body."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"webroot/rsrc/js/application/repository/repository-crossreference.js"},"region":{"startLine":325}}}],"partialFingerprints":{"codehealthFindingId/v1":"f82c9febc2c4b0e1d77316431d7d5bc98da471fc8921eb095ee7f46dac27d9ea"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: editor/PhabricatorApplicationTransactionEditor.php: FileTooLong \u2014 3240 significant lines (blank, comment-only and punctuation-only lines excluded)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"02e56b30530eca70a25b59a9c836381d1795ba7697fa0133da401249885c2a75"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: PhabricatorApplicationTransactionEditor: TooManyMethods \u2014 192 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php"},"region":{"startLine":40}}}],"partialFingerprints":{"codehealthFindingId/v1":"bbf740ecb4163e0671f6ede53ec849c51f69662314bed2ca7b9ee040c0ff658f"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: PhabricatorEditEngine: TooManyMethods \u2014 132 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/editengine/PhabricatorEditEngine.php"},"region":{"startLine":15}}}],"partialFingerprints":{"codehealthFindingId/v1":"1e902c00fa73e5713274fcf73ba8fdf75d49acd915709c1b2fcbf6731d26dc8e"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: PhabricatorEditField: TooManyMethods \u2014 118 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/editfield/PhabricatorEditField.php"},"region":{"startLine":3}}}],"partialFingerprints":{"codehealthFindingId/v1":"c4b4cdc670be58f26bdb90f33593b1167eaeabbabfb159b1fb999ef163bdf339"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: policy/PhabricatorCursorPagedPolicyAwareQuery.php: FileTooLong \u2014 1853 significant lines (blank, comment-only and punctuation-only lines excluded)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/query/policy/PhabricatorCursorPagedPolicyAwareQuery.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"af5af31cd058579de9a7a01314da05b287c62ed7fd8b9cfd3aac54abeaaafe08"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: PhabricatorCustomField: TooManyMethods \u2014 109 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/customfield/field/PhabricatorCustomField.php"},"region":{"startLine":19}}}],"partialFingerprints":{"codehealthFindingId/v1":"8e0eaef42bd5235cd0b7ac6e0ec378a34766509c3eeedca6a324eb6a22b29bbc"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: diff/DiffChangesetList.js: FileTooLong \u2014 1689 significant lines (blank, comment-only and punctuation-only lines excluded; the length bar is tripled for a single-responsibility module of 4 or fewer top-level units)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"webroot/rsrc/js/application/diff/DiffChangesetList.js"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"d22e5f91aa9771b56b11703a9b811bb7a73a1dc27c67709cd9ce7359253899da"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: PhabricatorCursorPagedPolicyAwareQuery: TooManyMethods \u2014 94 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/query/policy/PhabricatorCursorPagedPolicyAwareQuery.php"},"region":{"startLine":16}}}],"partialFingerprints":{"codehealthFindingId/v1":"ae7da4ae5068bbacb3e4537a22323c44d1c191767519c1d7da14490ee1b4f68b"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: editengine/PhabricatorEditEngine.php: FileTooLong \u2014 1566 significant lines (blank, comment-only and punctuation-only lines excluded)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/editengine/PhabricatorEditEngine.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"31b888fc389f3ad7cf49494912a4cd90f283859d2c954da1480cde9b986c4803"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: HeraldAdapter: TooManyMethods \u2014 91 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/herald/adapter/HeraldAdapter.php"},"region":{"startLine":3}}}],"partialFingerprints":{"codehealthFindingId/v1":"6a6780e224282f22023300e027efaf73fdaac1ba7d7b4cd79730737d93887a20"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: DifferentialChangesetRenderer: TooManyMethods \u2014 90 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/render/DifferentialChangesetRenderer.php"},"region":{"startLine":3}}}],"partialFingerprints":{"codehealthFindingId/v1":"28e0cee1fb4b45ee0210bef0f65f12fdb921a72ea23a6307be41a789b8dd37fa"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: PhabricatorApplicationSearchEngine: TooManyMethods \u2014 89 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/search/engine/PhabricatorApplicationSearchEngine.php"},"region":{"startLine":17}}}],"partialFingerprints":{"codehealthFindingId/v1":"622a6f17c3d3b3281ab64fa7b1fad491035fd4c5bb96da698f7a3826ebcd4a21"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: PhabricatorInlineComment: TooManyMethods \u2014 79 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/diff/interface/PhabricatorInlineComment.php"},"region":{"startLine":3}}}],"partialFingerprints":{"codehealthFindingId/v1":"9528e8fc1300b3aa93c17e579fa38b0b68dbcde9fa5f84ab087006f48bd27f67"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: __tests__/PhutilCalendarRecurrenceRuleTestCase.php: FileTooLong \u2014 1254 significant lines (blank, comment-only and punctuation-only lines excluded)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/parser/data/__tests__/PhutilCalendarRecurrenceRuleTestCase.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"964fc1529c36cf9da0a9866c53c6dcdc90bcc950c58e5ebcc9f674b4d82e1ca4"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: DifferentialChangesetParser: TooManyMethods \u2014 75 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/parser/DifferentialChangesetParser.php"},"region":{"startLine":3}}}],"partialFingerprints":{"codehealthFindingId/v1":"a7a28732fdc70d467624772aace948a8cd032e03d3c21115dea524045083f8c9"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: data/PhutilCalendarRecurrenceRule.php: FileTooLong \u2014 1189 significant lines (blank, comment-only and punctuation-only lines excluded)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/parser/data/PhutilCalendarRecurrenceRule.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0ac1af3f0d828ce8969f7e74e93161efe619bda254126101b1dd0d4178fc1a77"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: parser/DifferentialChangesetParser.php: FileTooLong \u2014 1154 significant lines (blank, comment-only and punctuation-only lines excluded)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/parser/DifferentialChangesetParser.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"d45758db54486c8ac1b469b6f1caaef25f7b2b7301c05250ca9db6ffb61b8254"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: PhutilCalendarRecurrenceRule: TooManyMethods \u2014 68 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/parser/data/PhutilCalendarRecurrenceRule.php"},"region":{"startLine":3}}}],"partialFingerprints":{"codehealthFindingId/v1":"24bf4a6937c978151d176002adb82acf3809c03e479a65d3afc993d167196170"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: PhabricatorDatabaseRef: TooManyMethods \u2014 67 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/cluster/PhabricatorDatabaseRef.php"},"region":{"startLine":3}}}],"partialFingerprints":{"codehealthFindingId/v1":"a618b7f21396365f00cdda77cf10e4abe33c0d609aaf6444af217a3f4ef7fbe4"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: PhabricatorStandardCustomField: TooManyMethods \u2014 67 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/customfield/standard/PhabricatorStandardCustomField.php"},"region":{"startLine":3}}}],"partialFingerprints":{"codehealthFindingId/v1":"4417b8a2f3f63580dac13a38afdda92cfaa0a595e7562ea54a12d37318d429c6"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: translation/PhabricatorUSEnglishTranslation.php: FileTooLong \u2014 1114 significant lines (blank, comment-only and punctuation-only lines excluded)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/internationalization/translation/PhabricatorUSEnglishTranslation.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"c53b0e1d6ecd503df4c20e71a29ba61f48bb79fc3434503aec157c28379c27e2"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: __tests__/PhabricatorProjectCoreTestCase.php: FileTooLong \u2014 1108 significant lines (blank, comment-only and punctuation-only lines excluded)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/__tests__/PhabricatorProjectCoreTestCase.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"10b35c374185a086a2126a6149637ee59d8c15efb9763b44165b99c1f9d57ede"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: AphrontRequest: TooManyMethods \u2014 65 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/aphront/AphrontRequest.php"},"region":{"startLine":8}}}],"partialFingerprints":{"codehealthFindingId/v1":"53fa399e4b25a3173ea4b731fad9be74e92bf701cc1e665e5466308d0bf9313f"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: PhabricatorAuthProvider: TooManyMethods \u2014 61 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/provider/PhabricatorAuthProvider.php"},"region":{"startLine":3}}}],"partialFingerprints":{"codehealthFindingId/v1":"d0f03b0dfc78b22c5452ad69125e561e38b403564c762b58a1b333fd5899d7da"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: PhabricatorApplication: TooManyMethods \u2014 61 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/base/PhabricatorApplication.php"},"region":{"startLine":11}}}],"partialFingerprints":{"codehealthFindingId/v1":"70882d12aa0ad9915a02872aacbacc6cc821d023323692cbf4112fa26ae79c99"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: editor/DifferentialTransactionEditor.php: FileTooLong \u2014 1015 significant lines (blank, comment-only and punctuation-only lines excluded)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/editor/DifferentialTransactionEditor.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7ba83cd12a59eb7619b3e1cd7d9c5dd42df7be0f86c0d523e11ad0e2e11bedb8"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: DifferentialTransactionEditor: TooManyMethods \u2014 60 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/editor/DifferentialTransactionEditor.php"},"region":{"startLine":3}}}],"partialFingerprints":{"codehealthFindingId/v1":"3dffb13f1cae2cab6179a10319e9652dc6219618e4d6cf068ab373153b12b3ae"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: controller/DifferentialRevisionViewController.php: FileTooLong \u2014 992 significant lines (blank, comment-only and punctuation-only lines excluded)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/controller/DifferentialRevisionViewController.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a95d6baccb972d5718b7c0a0e41879f3344efe35f91175292f4de1f8339990c8"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: __tests__/PhabricatorChangeParserTestCase.php: FileTooLong \u2014 982 significant lines (blank, comment-only and punctuation-only lines excluded)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/worker/__tests__/PhabricatorChangeParserTestCase.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"f918371c0736c5ce717ee41bd4994f80424bbefd85b90f39013876a208f63027"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: PhabricatorObjectHandle: TooManyMethods \u2014 58 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phid/PhabricatorObjectHandle.php"},"region":{"startLine":3}}}],"partialFingerprints":{"codehealthFindingId/v1":"cdbd0f11a062593a094dbb02bbcad1c79233d8425e16c51cd8770114c4f3b42e"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: DiffusionCommitHookEngine: TooManyMethods \u2014 54 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/engine/DiffusionCommitHookEngine.php"},"region":{"startLine":11}}}],"partialFingerprints":{"codehealthFindingId/v1":"f7ec7aebc30732639029e0ef0197055ecfc98c4a0d28a0a47194ef27fd5edecc"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: engine/PhabricatorProfileMenuEngine.php: FileTooLong \u2014 889 significant lines (blank, comment-only and punctuation-only lines excluded)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/search/engine/PhabricatorProfileMenuEngine.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7b5fbe230a249d7bf9ca96546aafb930da69ca3618c6f11394826379ff34a78d"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: DivinerAtom: TooManyMethods \u2014 53 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diviner/atom/DivinerAtom.php"},"region":{"startLine":3}}}],"partialFingerprints":{"codehealthFindingId/v1":"d8f9d6f61f7ac18c20ed2cf4cf8d16ef744a1b332e385d7a8e789b45d8d535c2"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: PhabricatorTypeaheadDatasource: TooManyMethods \u2014 53 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/typeahead/datasource/PhabricatorTypeaheadDatasource.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"d18f1850663faaa7b4f74593824e3a180048589caa6489b432a5f6e090cb3979"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: PHUITimelineEventView: TooManyMethods \u2014 52 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/phui/PHUITimelineEventView.php"},"region":{"startLine":3}}}],"partialFingerprints":{"codehealthFindingId/v1":"abe135b21d4e614a4765d451581c0968fdbbbec3fa48511d16ba1e71feaa0873"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: engine/PhabricatorApplicationSearchEngine.php: FileTooLong \u2014 863 significant lines (blank, comment-only and punctuation-only lines excluded)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/search/engine/PhabricatorApplicationSearchEngine.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"4b9b94342931b004226d7e05b840e84a5dafe121c24d2d6c186144a87c6b6ac9"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: engine/DiffusionCommitHookEngine.php: FileTooLong \u2014 854 significant lines (blank, comment-only and punctuation-only lines excluded)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/engine/DiffusionCommitHookEngine.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"c669320b5713ae8448680e9c7522025d9eb64dc50cf9e392f84f2c5112f3e1ca"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: phui/PHUIIconView.php: FileTooLong \u2014 852 significant lines (blank, comment-only and punctuation-only lines excluded)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/phui/PHUIIconView.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"be87e577921f319b02d30a429b1faac1843a9f036045046e84692fb5fdfa4ec1"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: PhabricatorAuthFactor: TooManyMethods \u2014 51 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/factor/PhabricatorAuthFactor.php"},"region":{"startLine":3}}}],"partialFingerprints":{"codehealthFindingId/v1":"fe59f0e05a929b0d10ec63d9dd5643330c2a419ee925e4ff2bd8b68e00016890"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: controller/DiffusionServeController.php: FileTooLong \u2014 812 significant lines (blank, comment-only and punctuation-only lines excluded)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/controller/DiffusionServeController.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"1d1105ff5ed5843dfa3f7b4ad5f59c9749ae989ff19470c277035ec23179dab8"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: controller/DiffusionCommitController.php: FileTooLong \u2014 807 significant lines (blank, comment-only and punctuation-only lines excluded)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/controller/DiffusionCommitController.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"d3309124cbb8159f13e1ea978d9bd7d784a7942e8d19fb845531afff986d39b5"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: ConduitAPIMethod: TooManyMethods \u2014 48 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/conduit/method/ConduitAPIMethod.php"},"region":{"startLine":8}}}],"partialFingerprints":{"codehealthFindingId/v1":"f5a98e02b2f28105bf7986b15ad926fda7602e60405b7cba3daf8fcb3521782a"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: PhabricatorProjectCoreTestCase: TooManyMethods \u2014 48 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/__tests__/PhabricatorProjectCoreTestCase.php"},"region":{"startLine":3}}}],"partialFingerprints":{"codehealthFindingId/v1":"3328d5c8d1e773e47080cc4e682c122fcf135b039fbda7560e2c7cd81f6150c8"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: PhabricatorEnv: TooManyMethods \u2014 48 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/env/PhabricatorEnv.php"},"region":{"startLine":51}}}],"partialFingerprints":{"codehealthFindingId/v1":"dc773ed517b620ec8f999e4b447649a24e37a5083b56ed3dff431f9323195901"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: PhabricatorFeedStory: TooManyMethods \u2014 47 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/feed/story/PhabricatorFeedStory.php"},"region":{"startLine":11}}}],"partialFingerprints":{"codehealthFindingId/v1":"9d6cc781925f01ae5550509c562e3e4ba99dec552079bc3ee9cf00817b4254e1"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: PHUIObjectItemView: TooManyMethods \u2014 47 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/phui/PHUIObjectItemView.php"},"region":{"startLine":3}}}],"partialFingerprints":{"codehealthFindingId/v1":"7c00737a6d1f9c4b2f95cb2802d79386533fe6a0cdfa3e557fead9871cf6024a"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: ManiphestTaskQuery: TooManyMethods \u2014 46 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/maniphest/query/ManiphestTaskQuery.php"},"region":{"startLine":7}}}],"partialFingerprints":{"codehealthFindingId/v1":"37a143b7c474a2a00f39a13a8d6e8795ddc33d48aca35a03f0cdeff93994f428"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: PhabricatorProfileMenuEngine: TooManyMethods \u2014 46 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/search/engine/PhabricatorProfileMenuEngine.php"},"region":{"startLine":3}}}],"partialFingerprints":{"codehealthFindingId/v1":"f32a3969b874b1386691f0099ce0ee3f8e00ba138970a23ab6a6f4f39adc12fd"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: adapter/HeraldAdapter.php: FileTooLong \u2014 755 significant lines (blank, comment-only and punctuation-only lines excluded)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/herald/adapter/HeraldAdapter.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"13ff1513870ca64f337a4f08f72c350d52036716acd98945a974a478acf927c3"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: controller/PhabricatorProjectBoardViewController.php: FileTooLong \u2014 748 significant lines (blank, comment-only and punctuation-only lines excluded)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/controller/PhabricatorProjectBoardViewController.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"01a25f9e428f0d872c1aeb457011a6301b509dfa154ba22395f23acc43e28779"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: controller/DiffusionBrowseController.php: FileTooLong \u2014 736 significant lines (blank, comment-only and punctuation-only lines excluded)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/controller/DiffusionBrowseController.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7c81e7de50d0734d7db40d204059a95d9d5efb13a8d4d8d7ab0472a4cca22963"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: PhabricatorStandardPageView: TooManyMethods \u2014 44 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/page/PhabricatorStandardPageView.php"},"region":{"startLine":7}}}],"partialFingerprints":{"codehealthFindingId/v1":"18effe3883923411e8f04b078ac0774d115868d6cf77176d1c82866f34fb9175"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: PHUIListItemView: TooManyMethods \u2014 44 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/phui/PHUIListItemView.php"},"region":{"startLine":3}}}],"partialFingerprints":{"codehealthFindingId/v1":"90bfc51fe313a3010747d311dfe92490bc2706ea727118105710813be961c68e"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: controller/PhabricatorApplicationSearchController.php: FileTooLong \u2014 733 significant lines (blank, comment-only and punctuation-only lines excluded)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/search/controller/PhabricatorApplicationSearchController.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"82846e0f8bf04fdecc9fa079299ca3dccbee0eb76208c4f9591e09a958d5e06a"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: PhabricatorAuditEditor: TooManyMethods \u2014 43 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/audit/editor/PhabricatorAuditEditor.php"},"region":{"startLine":3}}}],"partialFingerprints":{"codehealthFindingId/v1":"4b1031a11e3185d16a40e3ce129d50bd4ce52c5fdfe6c72a134103dd6bbf7ddf"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: DifferentialRevisionQuery: TooManyMethods \u2014 43 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/query/DifferentialRevisionQuery.php"},"region":{"startLine":8}}}],"partialFingerprints":{"codehealthFindingId/v1":"8cdde706d469935ac22a207d80c698033eee2b3f87e873c3d166f46ba2887935"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: PhabricatorProjectQuery: TooManyMethods \u2014 43 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/query/PhabricatorProjectQuery.php"},"region":{"startLine":3}}}],"partialFingerprints":{"codehealthFindingId/v1":"2fc9de4bc84eefbcfb7641921a8a6d0b8b491047e229417c97d64dd84c02d57c"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: PhabricatorApplicationTransactionCommentView: TooManyMethods \u2014 42 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/view/PhabricatorApplicationTransactionCommentView.php"},"region":{"startLine":3}}}],"partialFingerprints":{"codehealthFindingId/v1":"b87cb05caf7b0746368cd4f09ff52e20644e1b432efe49b504c9dd7e05c762c5"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: query/ManiphestTaskQuery.php: FileTooLong \u2014 694 significant lines (blank, comment-only and punctuation-only lines excluded)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/maniphest/query/ManiphestTaskQuery.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"6ea6bb9da73f6fb800abe38f9f1219a4fcac02d4898dc37e15919bad38dd1c67"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: field/PhabricatorCustomField.php: FileTooLong \u2014 689 significant lines (blank, comment-only and punctuation-only lines excluded)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/customfield/field/PhabricatorCustomField.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"82f21c40338ce34bdbd765768978002583aa0a2c146074b0e40a992758dcbee8"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: DiffusionCommitQuery: TooManyMethods \u2014 41 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/query/DiffusionCommitQuery.php"},"region":{"startLine":3}}}],"partialFingerprints":{"codehealthFindingId/v1":"1d84b3f02b91582d5bb1eade79b30266294eb84a1188ccf29db11cc929567a1f"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: DiffusionCommitGraphView: TooManyMethods \u2014 41 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/view/DiffusionCommitGraphView.php"},"region":{"startLine":3}}}],"partialFingerprints":{"codehealthFindingId/v1":"241224007a22feb6f597b5e6e259d16418d663e57b6cd5ed1bf45983086caa28"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: DiffusionCommandEngine: TooManyMethods \u2014 40 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/protocol/DiffusionCommandEngine.php"},"region":{"startLine":3}}}],"partialFingerprints":{"codehealthFindingId/v1":"4c3a6a26896ff8e0916244ef2b916d4382a354b2ef99efa88afe903cb232367f"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: PhabricatorDocumentEngine: TooManyMethods \u2014 40 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/files/document/PhabricatorDocumentEngine.php"},"region":{"startLine":3}}}],"partialFingerprints":{"codehealthFindingId/v1":"056ba552b41ed53c2e85d54627fefaf8947692369cb4b9d940c066fa4a45037a"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: PhortunePaymentProvider: TooManyMethods \u2014 40 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phortune/provider/PhortunePaymentProvider.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"ae22f1347d119bc8234505094b8fcc61bb60b32bc4c062bc9fdd5466fb397cf9"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: PhrictionTransactionEditor: TooManyMethods \u2014 40 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/phriction/editor/PhrictionTransactionEditor.php"},"region":{"startLine":3}}}],"partialFingerprints":{"codehealthFindingId/v1":"d8bac53678727b2affdb6aea27dc2c82436a1055231e54a04a6c233aeddfadc5"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: PhutilDaemonHandle: TooManyMethods \u2014 40 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/daemon/PhutilDaemonHandle.php"},"region":{"startLine":3}}}],"partialFingerprints":{"codehealthFindingId/v1":"863c373fdd8f8ae801840ba886b4c242ab6d228eaa95a52edc3cc211205ac612"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: PhabricatorSearchField: TooManyMethods \u2014 39 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/search/field/PhabricatorSearchField.php"},"region":{"startLine":10}}}],"partialFingerprints":{"codehealthFindingId/v1":"7a8141e534a1725a1beb8d35455b23333a75350495817e24457ffc08a52da9b2"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: ics/PhutilICSParser.php: FileTooLong \u2014 633 significant lines (blank, comment-only and punctuation-only lines excluded)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/parser/ics/PhutilICSParser.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"5b63e0a765ce30979d94eba80e9cd5e36b7cc725341cf9de20959679a7b58359"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: services/PhabricatorConfigDatabaseStatusController.php: FileTooLong \u2014 627 significant lines (blank, comment-only and punctuation-only lines excluded)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/controller/services/PhabricatorConfigDatabaseStatusController.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e70b9ae977cdd4a8200aa9d09db928715f399455cd314d1cd8dfcb50d1002917"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: management/DiffusionRepositoryBasicsManagementPanel.php: FileTooLong \u2014 624 significant lines (blank, comment-only and punctuation-only lines excluded)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/management/DiffusionRepositoryBasicsManagementPanel.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"61e1a2e72cbee44220437549637683af2cbdda613a201166f868a12df042bb8e"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: query/DiffusionCommitQuery.php: FileTooLong \u2014 622 significant lines (blank, comment-only and punctuation-only lines excluded)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/query/DiffusionCommitQuery.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"51f30bc3733f1eedf036500b026acaa97fbc4dc4da1d907af59d84b3e1261897"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: DiffusionRequest: TooManyMethods \u2014 37 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/request/DiffusionRequest.php"},"region":{"startLine":10}}}],"partialFingerprints":{"codehealthFindingId/v1":"88c4da67667bf62db16b02c44c425c37abb9be1e7c27e684c45be6188be89542"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: PhabricatorApplicationTransactionView: TooManyMethods \u2014 37 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/view/PhabricatorApplicationTransactionView.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"0af102d146811ec6d6e949d1798150c483fa1a0e698739175da0e96b306ad554"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: factor/PhabricatorDuoAuthFactor.php: FileTooLong \u2014 615 significant lines (blank, comment-only and punctuation-only lines excluded)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/factor/PhabricatorDuoAuthFactor.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"129cda28f31c80c7b429f2a815cc23bfaec72d3e362ab5cd947e7a0365fe09df"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: controller/ManiphestReportController.php: FileTooLong \u2014 614 significant lines (blank, comment-only and punctuation-only lines excluded)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/maniphest/controller/ManiphestReportController.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"d675b7755eba10b2466cc35780399c4af1e9691692d96b3e3d1307a9efc6ec15"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: phui/PHUIObjectItemView.php: FileTooLong \u2014 604 significant lines (blank, comment-only and punctuation-only lines excluded)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/phui/PHUIObjectItemView.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"5562725d0b30de960bba971f9369f5489770e7b92120b66d4b7c2cd8cadbdd8e"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: HeraldEngine: TooManyMethods \u2014 36 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/herald/engine/HeraldEngine.php"},"region":{"startLine":3}}}],"partialFingerprints":{"codehealthFindingId/v1":"945a9604b0e58326dbf9b125fff30540b3ae21d6f94c7d77ab4890f6dad9ce4a"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: PhabricatorProjectTriggerRule: TooManyMethods \u2014 36 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/trigger/PhabricatorProjectTriggerRule.php"},"region":{"startLine":3}}}],"partialFingerprints":{"codehealthFindingId/v1":"0e89d3e099b5ef22424e169a8ebd3f3377b12d310943613cecab86b45d659a68"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: AphrontDialogView: TooManyMethods \u2014 36 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/AphrontDialogView.php"},"region":{"startLine":3}}}],"partialFingerprints":{"codehealthFindingId/v1":"6b00bfa412516cde5472194d5cc8091047a0e88afaf8ef9755154522505b348b"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: filter/PhabricatorPolicyFilter.php: FileTooLong \u2014 592 significant lines (blank, comment-only and punctuation-only lines excluded)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/policy/filter/PhabricatorPolicyFilter.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"6daaa8b1d6b201aed92733adc3f99c1d0a3fc4abd8acca761a3068e11222e2c3"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: query/DifferentialRevisionQuery.php: FileTooLong \u2014 590 significant lines (blank, comment-only and punctuation-only lines excluded)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/query/DifferentialRevisionQuery.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"d2c204b0dc09a4d8528c92ef2c79c0ac04375bf88a49ae4e0c6fffe653dfeb75"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: PhutilLDAPAuthAdapter: TooManyMethods \u2014 35 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/adapter/PhutilLDAPAuthAdapter.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"3f6a41bce837df9159ff1803a8fc66a94939720538c171c03930eef0c9068299"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: PhabricatorSetupIssue: TooManyMethods \u2014 35 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/issue/PhabricatorSetupIssue.php"},"region":{"startLine":3}}}],"partialFingerprints":{"codehealthFindingId/v1":"ff488360783482f7acaaed7f0f5ee0e53ef0119f6cca63c26f66dd0ae26b465c"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: ManiphestTransactionEditor: TooManyMethods \u2014 35 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/maniphest/editor/ManiphestTransactionEditor.php"},"region":{"startLine":3}}}],"partialFingerprints":{"codehealthFindingId/v1":"5df1898719f8b8a3afc5280e2d429794dd29b32ccc58619c30b61a085b8e8843"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: PhabricatorRepositoryQuery: TooManyMethods \u2014 35 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/query/PhabricatorRepositoryQuery.php"},"region":{"startLine":3}}}],"partialFingerprints":{"codehealthFindingId/v1":"9535879ff2f4c230a6e7b9e41fbf83ba3d734a58098f8f881aaf7fd4938dfb31"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: PhutilDaemon: TooManyMethods \u2014 35 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/daemon/PhutilDaemon.php"},"region":{"startLine":43}}}],"partialFingerprints":{"codehealthFindingId/v1":"7fb633db2d8156aeb0b08e872d7739533df8e7c0a347d17447662539f78b2ec5"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: PhabricatorInlineCommentController: TooManyMethods \u2014 35 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/diff/PhabricatorInlineCommentController.php"},"region":{"startLine":3}}}],"partialFingerprints":{"codehealthFindingId/v1":"b98b1b1aa7539d18f757142f03e4ffe4988b21cfb3d763ac3638a6db8681f21f"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: engine/PhabricatorAuthSessionEngine.php: FileTooLong \u2014 582 significant lines (blank, comment-only and punctuation-only lines excluded)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/engine/PhabricatorAuthSessionEngine.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"f2d2557d6fd4461ecbd0f3f989d85afb2365ca902c222930c79b852cc76bef8a"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: controller/ManiphestTaskDetailController.php: FileTooLong \u2014 580 significant lines (blank, comment-only and punctuation-only lines excluded)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/maniphest/controller/ManiphestTaskDetailController.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"4f4a201f114f106251004de4b187f647b1a7d95e29e2e0da864825ab03a38341"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: page/PhabricatorStandardPageView.php: FileTooLong \u2014 580 significant lines (blank, comment-only and punctuation-only lines excluded)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/page/PhabricatorStandardPageView.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"b0daa51e98b9f97282fcbc6ed5fb06b7a8b06a3179b813f1c5a8d556b8dc0a5f"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: engine/HeraldEngine.php: FileTooLong \u2014 579 significant lines (blank, comment-only and punctuation-only lines excluded)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/herald/engine/HeraldEngine.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2f22b253aaedfbf6e0c1732760077f12d8a92ac9e02b023cad52f9c7a0dc2ff9"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: editor/ManiphestTransactionEditor.php: FileTooLong \u2014 579 significant lines (blank, comment-only and punctuation-only lines excluded)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/maniphest/editor/ManiphestTransactionEditor.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"be786a14f1f68d4f9b61b38b5f95085740d237d83a50c7ca22b8bc42fddb33c1"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: protocol/DiffusionRepositoryClusterEngine.php: FileTooLong \u2014 574 significant lines (blank, comment-only and punctuation-only lines excluded)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/protocol/DiffusionRepositoryClusterEngine.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"f5f51260e0113d9597d563f8f21b56d44bb9e730635842113a9061a4a6c393ca"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: PhabricatorCalendarEventQuery: TooManyMethods \u2014 34 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/query/PhabricatorCalendarEventQuery.php"},"region":{"startLine":3}}}],"partialFingerprints":{"codehealthFindingId/v1":"f4782360866b5d4bd44e785b0c3fec3b4197e7e850741208fadf23499e300e29"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: DifferentialHunkParser: TooManyMethods \u2014 34 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/parser/DifferentialHunkParser.php"},"region":{"startLine":3}}}],"partialFingerprints":{"codehealthFindingId/v1":"438c48f45b41e7ec3c92d118ed6a13db4a81adfc9b2840ee392b063a2258dbe4"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: HeraldCommitAdapter: TooManyMethods \u2014 34 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/herald/HeraldCommitAdapter.php"},"region":{"startLine":3}}}],"partialFingerprints":{"codehealthFindingId/v1":"00397a890d115c2bd313a019a8fa3b454b58b97f763c51cb859fa0145fd8fe00"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: HeraldAction: TooManyMethods \u2014 34 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/herald/action/HeraldAction.php"},"region":{"startLine":3}}}],"partialFingerprints":{"codehealthFindingId/v1":"8d7f8270a9eb152752fab3db4f1a84cd7983b11c8645b0d9075ec4b46102a418"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: PhabricatorPolicyAwareQuery: TooManyMethods \u2014 34 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/query/policy/PhabricatorPolicyAwareQuery.php"},"region":{"startLine":29}}}],"partialFingerprints":{"codehealthFindingId/v1":"39708593e1c95a57c74be85d940f28cec4f15f71d7b6639ace54d64cddee9c43"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: query/PhabricatorProjectQuery.php: FileTooLong \u2014 563 significant lines (blank, comment-only and punctuation-only lines excluded)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/query/PhabricatorProjectQuery.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"61306482c2918c31f161e0b07b9878875be23a9782ca29e131627f2d17a79b32"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: controller/HarbormasterBuildLogRenderController.php: FileTooLong \u2014 558 significant lines (blank, comment-only and punctuation-only lines excluded)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/harbormaster/controller/HarbormasterBuildLogRenderController.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"6f664b951d9bd56cdc51a454e9d0332bb74f7e784d98028651cc9deaf769a66a"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: PhabricatorPeopleQuery: TooManyMethods \u2014 33 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/people/query/PhabricatorPeopleQuery.php"},"region":{"startLine":3}}}],"partialFingerprints":{"codehealthFindingId/v1":"503ce5e143a4cced61285642a4adefc55d0203e14bf3f7cb04e0559add3d77f1"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: PhabricatorActionView: TooManyMethods \u2014 33 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/layout/PhabricatorActionView.php"},"region":{"startLine":3}}}],"partialFingerprints":{"codehealthFindingId/v1":"f6ceda964ffc0004891e5c71bc3c59aa0a614ce64865c4edee5ceee677663b4d"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: worker/DrydockLeaseUpdateWorker.php: FileTooLong \u2014 546 significant lines (blank, comment-only and punctuation-only lines excluded)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/drydock/worker/DrydockLeaseUpdateWorker.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"46c66bd5ae4d29fa117fafaa69fb212b5b6807e6a09a3cf000459e626a789c4d"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: editor/PhabricatorAuditEditor.php: FileTooLong \u2014 544 significant lines (blank, comment-only and punctuation-only lines excluded)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/audit/editor/PhabricatorAuditEditor.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"b38b19435c650eca5001ef7766cf9a9eea293ab3d6eb44cc3090cac7a9052691"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: PhabricatorConfigOption: TooManyMethods \u2014 32 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/option/PhabricatorConfigOption.php"},"region":{"startLine":3}}}],"partialFingerprints":{"codehealthFindingId/v1":"fe08905a2b69ee2712d3e68baaeb2b7a9b734c0bd54d1dff15f77813b4cc0452"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: DrydockBlueprintImplementation: TooManyMethods \u2014 32 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/drydock/blueprint/DrydockBlueprintImplementation.php"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"3d867a4961fdca10f01db6956916fadac1cfe52a46835db206d615050b17334d"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: HarbormasterBuildStepImplementation: TooManyMethods \u2014 32 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/harbormaster/step/HarbormasterBuildStepImplementation.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"07c55cccbb08ccbff69bb84dd8617999fc87c1d9ac0e1e2f9baf902467923c16"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: PhabricatorEditType: TooManyMethods \u2014 32 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/edittype/PhabricatorEditType.php"},"region":{"startLine":3}}}],"partialFingerprints":{"codehealthFindingId/v1":"496b183b23586a16c5e84cbc03b2d3f0ecd43d4ddad916ba029059af22ddc753"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: controller/HeraldTranscriptController.php: FileTooLong \u2014 533 significant lines (blank, comment-only and punctuation-only lines excluded)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/herald/controller/HeraldTranscriptController.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"fca774286124339f7e01dc7c55c5b0f1d61904250c2fef0963c5f8bdc6461cd8"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: controller/PhabricatorAuthRegisterController.php: FileTooLong \u2014 526 significant lines (blank, comment-only and punctuation-only lines excluded)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/controller/PhabricatorAuthRegisterController.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"11c6bf6317e31fac1e510859978d643c9394534aeb8304f6c413ba91fca5dc9a"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: engine/PhabricatorRepositoryDiscoveryEngine.php: FileTooLong \u2014 525 significant lines (blank, comment-only and punctuation-only lines excluded)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/engine/PhabricatorRepositoryDiscoveryEngine.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"3b0271efa0ae0170ce0b7eb2ef902040860e0844f19e8359c6c51f945b1823df"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: parser/DifferentialHunkParser.php: FileTooLong \u2014 522 significant lines (blank, comment-only and punctuation-only lines excluded)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/parser/DifferentialHunkParser.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"b7d7e5c0dc21965b0dfcfc4de890f506eb7b0adcf179de73fc81b6455d13c656"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: editfield/PhabricatorEditField.php: FileTooLong \u2014 522 significant lines (blank, comment-only and punctuation-only lines excluded)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/editfield/PhabricatorEditField.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"87aa1d43bff91f77b1798edf2dbc343796c81583ec203e61e8acb57bd17d5b04"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: controller/HarbormasterBuildViewController.php: FileTooLong \u2014 517 significant lines (blank, comment-only and punctuation-only lines excluded)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/harbormaster/controller/HarbormasterBuildViewController.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"f52d11c01017e5c2fff1ca12f7aec9b59dde773a1f9048c272d2d4fcbfccab2e"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: controller/LegalpadDocumentSignController.php: FileTooLong \u2014 517 significant lines (blank, comment-only and punctuation-only lines excluded)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/legalpad/controller/LegalpadDocumentSignController.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"dcbb267808f1f86c1a475b51fbfa6d7efc077b9dbe8bb5212cab1f22d926c5b1"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: menu/PhabricatorMainMenuView.php: FileTooLong \u2014 517 significant lines (blank, comment-only and punctuation-only lines excluded)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/page/menu/PhabricatorMainMenuView.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7d0bcc8b7cdffa0e54ed14162b22ad4335c9c7fcc5407c7d34a1ed05c4f2ce70"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: PhutilOAuthAuthAdapter: TooManyMethods \u2014 31 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/adapter/PhutilOAuthAuthAdapter.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"0920c0455007f48e7b8017fb1b54930274d78867e7424df75552a1b50201bd1e"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: DifferentialChangesetListView: TooManyMethods \u2014 31 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/view/DifferentialChangesetListView.php"},"region":{"startLine":3}}}],"partialFingerprints":{"codehealthFindingId/v1":"d0b85ff846ef68a228e973cb6f58f891060440ba47353c53193dfe1c8f973dcd"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: AphrontFormControl: TooManyMethods \u2014 31 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/form/control/AphrontFormControl.php"},"region":{"startLine":3}}}],"partialFingerprints":{"codehealthFindingId/v1":"e4a3d15ccfe547bd486707085003c91e79e7f1c5a77afbcb7cce25a9d1f1b2e1"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: commitchangeparser/PhabricatorRepositorySvnCommitChangeParserWorker.php: FileTooLong \u2014 515 significant lines (blank, comment-only and punctuation-only lines excluded)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/worker/commitchangeparser/PhabricatorRepositorySvnCommitChangeParserWorker.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"585f85c9a675e29ef81337e38b40d759a0de322383739437f97a9193fdfab7fa"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: phui/PHUITimelineEventView.php: FileTooLong \u2014 506 significant lines (blank, comment-only and punctuation-only lines excluded)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/view/phui/PHUITimelineEventView.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7913999554a67d0c267da1bd276567acb5997545425ec8ee8ff5fcb53e8ece63"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (44 lines \u00D7 2): src/applications/conpherence/controller/ConpherenceRoomPictureController.php:132-175 | src/applications/diffusion/controller/DiffusionRepositoryProfilePictureController.php:150-193"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/conpherence/controller/ConpherenceRoomPictureController.php"},"region":{"startLine":132}}}],"partialFingerprints":{"codehealthFindingId/v1":"945ea2701ed79362061f538cf850b8096d8049d5fc8cc83499f62ef394453bc6"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (44 lines \u00D7 2): src/applications/files/management/PhabricatorFilesManagementIntegrityWorkflow.php:7-50 | src/applications/files/management/PhabricatorFilesManagementMigrateWorkflow.php:9-54"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/files/management/PhabricatorFilesManagementIntegrityWorkflow.php"},"region":{"startLine":7}}}],"partialFingerprints":{"codehealthFindingId/v1":"2155606d20bc6b4714a16c04dc0b305f1784a580c8181c71b6592a49813cd0b7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (42 lines \u00D7 8): src/applications/calendar/parser/data/__tests__/PhutilCalendarRecurrenceRuleTestCase.php:395-439 | src/applications/calendar/parser/data/__tests__/PhutilCalendarRecurrenceRuleTestCase.php:638-683 | src/applications/calendar/parser/data/__tests__/PhutilCalendarRecurrenceRuleTestCase.php:728-771 | src/applications/calendar/parser/data/__tests__/PhutilCalendarRecurrenceRuleTestCase.php:857-902 | src/applications/calendar/parser/data/__tests__/PhutilCalendarRecurrenceRuleTestCase.php:1030-1075 | src/applications/calendar/parser/data/__tests__/PhutilCalendarRecurrenceRuleTestCase.php:1085-1127 | src/applications/calendar/parser/data/__tests__/PhutilCalendarRecurrenceRuleTestCase.php:1136-1177 | src/applications/calendar/parser/data/__tests__/PhutilCalendarRecurrenceRuleTestCase.php:1605-1668"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/parser/data/__tests__/PhutilCalendarRecurrenceRuleTestCase.php"},"region":{"startLine":395}}}],"partialFingerprints":{"codehealthFindingId/v1":"944c33d7c86f92a8f7299652d33368686e7e7aa3a70573c5b609f244b3d9b416"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (32 lines \u00D7 2): src/applications/differential/constants/DifferentialConstantsModule.php:64-108 | src/applications/herald/controller/HeraldTranscriptController.php:646-677"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/constants/DifferentialConstantsModule.php"},"region":{"startLine":64}}}],"partialFingerprints":{"codehealthFindingId/v1":"b3de3a850b2bf3349fa0d6609b8e24ab0445851b47172e33bebb221b75cc9cdb"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (31 lines \u00D7 8): src/applications/calendar/parser/data/__tests__/PhutilCalendarRecurrenceRuleTestCase.php:107-137 | src/applications/calendar/parser/data/__tests__/PhutilCalendarRecurrenceRuleTestCase.php:445-475 | src/applications/calendar/parser/data/__tests__/PhutilCalendarRecurrenceRuleTestCase.php:689-719 | src/applications/calendar/parser/data/__tests__/PhutilCalendarRecurrenceRuleTestCase.php:777-807 | src/applications/calendar/parser/data/__tests__/PhutilCalendarRecurrenceRuleTestCase.php:908-938 | src/applications/calendar/parser/data/__tests__/PhutilCalendarRecurrenceRuleTestCase.php:1081-1115 | src/applications/calendar/parser/data/__tests__/PhutilCalendarRecurrenceRuleTestCase.php:1133-1165 | src/applications/calendar/parser/data/__tests__/PhutilCalendarRecurrenceRuleTestCase.php:1184-1237"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/parser/data/__tests__/PhutilCalendarRecurrenceRuleTestCase.php"},"region":{"startLine":107}}}],"partialFingerprints":{"codehealthFindingId/v1":"b851efa633bd0e9a89d449d91f8bc66aa63a2806b22597a24342eec57864a415"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (29 lines \u00D7 2): src/applications/badges/lipsum/PhabricatorBadgesBadgeTestDataGenerator.php:17-45 | src/applications/conpherence/lipsum/PhabricatorConpherenceRoomTestDataGenerator.php:35-63"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/badges/lipsum/PhabricatorBadgesBadgeTestDataGenerator.php"},"region":{"startLine":17}}}],"partialFingerprints":{"codehealthFindingId/v1":"e498739175a3c822685baf715505906de9b6b8f2995d5874c828285aca695a32"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (28 lines \u00D7 2): src/applications/config/controller/PhabricatorConfigConsoleController.php:106-136 | src/applications/config/controller/PhabricatorConfigConsoleController.php:305-332"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/controller/PhabricatorConfigConsoleController.php"},"region":{"startLine":106}}}],"partialFingerprints":{"codehealthFindingId/v1":"0b415154d55f8e1cfffc72de3c394a5d6f70779bb967529deb959f41caafbfbd"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (28 lines \u00D7 2): src/applications/differential/constants/DifferentialConstantsModule.php:112-139 | src/applications/differential/constants/DifferentialConstantsModule.php:146-173"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/constants/DifferentialConstantsModule.php"},"region":{"startLine":112}}}],"partialFingerprints":{"codehealthFindingId/v1":"6629bd0e1525a94f6b4f4f3796b7db404b122e83b7483c38f4333463e64fa5d9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (27 lines \u00D7 2): src/applications/files/document/PhabricatorAudioDocumentEngine.php:40-66 | src/applications/files/document/PhabricatorVideoDocumentEngine.php:46-72"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/files/document/PhabricatorAudioDocumentEngine.php"},"region":{"startLine":40}}}],"partialFingerprints":{"codehealthFindingId/v1":"ae49e8ada0928e05783af47b5d5e4d439daee0022a8136e2cf0f3023e6f97aa9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (26 lines \u00D7 2): src/applications/almanac/controller/AlmanacDeviceViewController.php:199-224 | src/applications/drydock/controller/DrydockController.php:44-78"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/almanac/controller/AlmanacDeviceViewController.php"},"region":{"startLine":199}}}],"partialFingerprints":{"codehealthFindingId/v1":"19e7d8f84abc1a6c540369aa42607b028604f24cc736e07eecfd456f85ccbb22"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (25 lines \u00D7 2): src/applications/config/check/PhabricatorManualActivitySetupCheck.php:40-64 | src/applications/config/check/PhabricatorManualActivitySetupCheck.php:109-133"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/check/PhabricatorManualActivitySetupCheck.php"},"region":{"startLine":40}}}],"partialFingerprints":{"codehealthFindingId/v1":"cec80fc914f2b9f02c834f9ec9f46ffea093aa590ea09cb9fe8e2be4f565c7b2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (24 lines \u00D7 2): src/applications/calendar/parser/data/__tests__/PhutilCalendarRecurrenceTestCase.php:33-56 | src/applications/calendar/parser/data/__tests__/PhutilCalendarRecurrenceTestCase.php:64-96"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/parser/data/__tests__/PhutilCalendarRecurrenceTestCase.php"},"region":{"startLine":33}}}],"partialFingerprints":{"codehealthFindingId/v1":"48766b729f25d25fdbe8dcdfdd5206cf4c42d2c329848792d5114663463011eb"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (24 lines \u00D7 2): src/applications/config/check/PhabricatorMySQLSetupCheck.php:201-224 | src/applications/config/check/PhabricatorMySQLSetupCheck.php:267-290"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/check/PhabricatorMySQLSetupCheck.php"},"region":{"startLine":201}}}],"partialFingerprints":{"codehealthFindingId/v1":"5476670e69a861510d934fc01fd9c15a959a22d8c80acbe3ce841b33fd84644d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (24 lines \u00D7 2): src/applications/differential/parser/__tests__/DifferentialHunkParserTestCase.php:171-194 | src/applications/differential/parser/__tests__/DifferentialHunkParserTestCase.php:200-223"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/parser/__tests__/DifferentialHunkParserTestCase.php"},"region":{"startLine":171}}}],"partialFingerprints":{"codehealthFindingId/v1":"f0a24bc74939a2fdc73d2e1de0b7121244f20a7b88cf16bbe03f078db730c8d7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (24 lines \u00D7 2): src/applications/differential/render/DifferentialChangesetOneUpRenderer.php:96-119 | src/applications/differential/render/DifferentialChangesetOneUpRenderer.php:164-187"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/render/DifferentialChangesetOneUpRenderer.php"},"region":{"startLine":96}}}],"partialFingerprints":{"codehealthFindingId/v1":"d8c45d6201164a04bf32a62f9497e6171602fa16fb3d5d9679a111887b1533a4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (24 lines \u00D7 2): src/applications/doorkeeper/bridge/DoorkeeperBridgeAsana.php:35-59 | src/applications/doorkeeper/bridge/DoorkeeperBridgeJIRA.php:30-53"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/doorkeeper/bridge/DoorkeeperBridgeAsana.php"},"region":{"startLine":35}}}],"partialFingerprints":{"codehealthFindingId/v1":"1679f8fc8ba6a83e16e94960a1282b0619a97799350110611471afbc3a806ed9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (24 lines \u00D7 2): src/applications/people/conduit/UserDisableConduitAPIMethod.php:47-70 | src/applications/people/conduit/UserEnableConduitAPIMethod.php:47-70"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/people/conduit/UserDisableConduitAPIMethod.php"},"region":{"startLine":47}}}],"partialFingerprints":{"codehealthFindingId/v1":"a686c71dd2ad110fa3a802654405260e875935ab9b9d50748d483984d9011bdc"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (23 lines \u00D7 2): src/applications/drydock/controller/DrydockController.php:8-30 | src/applications/drydock/controller/DrydockController.php:46-79"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/drydock/controller/DrydockController.php"},"region":{"startLine":8}}}],"partialFingerprints":{"codehealthFindingId/v1":"c17eb7d55a8a37012f36ffb3af9c75e6a1f920be60045464f0354ac9d3197684"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (23 lines \u00D7 2): src/applications/files/management/PhabricatorFilesManagementEncodeWorkflow.php:74-96 | src/applications/files/management/PhabricatorFilesManagementMigrateWorkflow.php:134-156"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/files/management/PhabricatorFilesManagementEncodeWorkflow.php"},"region":{"startLine":74}}}],"partialFingerprints":{"codehealthFindingId/v1":"c3dfe7f7df4a1892a3f0b1c0e391af1826c2c08076624f401ab380e472597f97"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (23 lines \u00D7 2): src/applications/metamta/controller/PhabricatorMetaMTAMailgunReceiveController.php:56-78 | src/applications/metamta/controller/PhabricatorMetaMTASendGridReceiveController.php:35-57"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/metamta/controller/PhabricatorMetaMTAMailgunReceiveController.php"},"region":{"startLine":56}}}],"partialFingerprints":{"codehealthFindingId/v1":"6ea1a4872be0723f95b039389ed02106df29857c0ab56d31a5166d521ea5c438"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (23 lines \u00D7 2): src/applications/owners/controller/PhabricatorOwnersDetailController.php:84-106 | src/applications/owners/controller/PhabricatorOwnersDetailController.php:110-133"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/owners/controller/PhabricatorOwnersDetailController.php"},"region":{"startLine":84}}}],"partialFingerprints":{"codehealthFindingId/v1":"526b4031edd7ae9d4a2a499df068a92d8172645836faf4f3dd7b74ca019b045e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (22 lines \u00D7 2): src/applications/auth/provider/PhabricatorOAuth1AuthProvider.php:97-118 | src/applications/auth/provider/PhabricatorOAuth2AuthProvider.php:77-98"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/provider/PhabricatorOAuth1AuthProvider.php"},"region":{"startLine":97}}}],"partialFingerprints":{"codehealthFindingId/v1":"366f02f033cc4c2d59c07442e37ab0c2b003f16c635b133c75c36fc32e7af85f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (22 lines \u00D7 2): src/applications/diffusion/controller/DiffusionCommitBranchesController.php:19-41 | src/applications/diffusion/controller/DiffusionCommitTagsController.php:19-40"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/controller/DiffusionCommitBranchesController.php"},"region":{"startLine":19}}}],"partialFingerprints":{"codehealthFindingId/v1":"d4f8411da9c89fe5c93c6f0bc68d936e6011b4b360b41e61552df83f566a25bc"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (22 lines \u00D7 2): src/applications/packages/xaction/package/PhabricatorPackagesPackagePublisherTransaction.php:40-61 | src/applications/packages/xaction/version/PhabricatorPackagesVersionPackageTransaction.php:39-60"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/packages/xaction/package/PhabricatorPackagesPackagePublisherTransaction.php"},"region":{"startLine":40}}}],"partialFingerprints":{"codehealthFindingId/v1":"0844ae26f6352d811d9b2a101fcad0e1cd1c0253048e037c39038e8272fcbefc"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (21 lines \u00D7 3): src/applications/calendar/parser/data/__tests__/PhutilCalendarRecurrenceRuleTestCase.php:10-30 | src/applications/calendar/parser/data/__tests__/PhutilCalendarRecurrenceRuleTestCase.php:33-54 | src/applications/calendar/parser/data/__tests__/PhutilCalendarRecurrenceRuleTestCase.php:56-79"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/parser/data/__tests__/PhutilCalendarRecurrenceRuleTestCase.php"},"region":{"startLine":10}}}],"partialFingerprints":{"codehealthFindingId/v1":"143a6f050bad5153ce79079283d349ab5c016ddff7330713265fbe5d4ef637f1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (21 lines \u00D7 3): src/applications/files/management/PhabricatorFilesManagementCycleWorkflow.php:34-54 | src/applications/files/management/PhabricatorFilesManagementEncodeWorkflow.php:74-94 | src/applications/files/management/PhabricatorFilesManagementMigrateWorkflow.php:134-154"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/files/management/PhabricatorFilesManagementCycleWorkflow.php"},"region":{"startLine":34}}}],"partialFingerprints":{"codehealthFindingId/v1":"7b86cbd07aa7eb959aa0452d04d195473f63d092b30a457c8abde5dc5545eeae"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (21 lines \u00D7 2): src/applications/auth/view/PhabricatorAuthSSHKeyTableView.php:91-115 | src/applications/drydock/controller/DrydockController.php:39-59"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/view/PhabricatorAuthSSHKeyTableView.php"},"region":{"startLine":91}}}],"partialFingerprints":{"codehealthFindingId/v1":"ff885c93d4727050bc3eec49a3ead3ab169d456c0247de0d16cc8a5bddbf67f2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (21 lines \u00D7 2): src/applications/calendar/parser/data/PhutilCalendarAbsoluteDateTime.php:80-103 | src/applications/calendar/parser/data/PhutilCalendarDuration.php:14-34"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/parser/data/PhutilCalendarAbsoluteDateTime.php"},"region":{"startLine":80}}}],"partialFingerprints":{"codehealthFindingId/v1":"4edcf965b7303cb953b8cce9fa930ab635e146412b9da445885d5cf176951ef4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (21 lines \u00D7 2): src/applications/config/check/PhabricatorMySQLSetupCheck.php:157-177 | src/applications/config/check/PhabricatorMySQLSetupCheck.php:205-225"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/check/PhabricatorMySQLSetupCheck.php"},"region":{"startLine":157}}}],"partialFingerprints":{"codehealthFindingId/v1":"cf47f6ca25341665cba63d47dc62f3c7d8c57c50d8c60a2437c52cf5d11ef345"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (21 lines \u00D7 2): src/applications/differential/xaction/DifferentialRevisionReviewersTransaction.php:350-373 | src/applications/diffusion/xaction/DiffusionCommitAuditorsTransaction.php:208-228"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/xaction/DifferentialRevisionReviewersTransaction.php"},"region":{"startLine":350}}}],"partialFingerprints":{"codehealthFindingId/v1":"0b28cd956cc2b7e17657f34422ddf2b862abcf9ebd4d69d471fc6ae4125cc78d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (21 lines \u00D7 2): src/applications/diffusion/controller/DiffusionCompareController.php:245-267 | src/applications/diffusion/controller/DiffusionLintController.php:310-330"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/controller/DiffusionCompareController.php"},"region":{"startLine":245}}}],"partialFingerprints":{"codehealthFindingId/v1":"76b386b4337e5997c9c2939381a382d4f064e56e2395af001fec256439f008af"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (21 lines \u00D7 2): src/applications/files/controller/PhabricatorFileDetachController.php:77-97 | src/applications/files/controller/PhabricatorFileUICurtainAttachController.php:90-110"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/files/controller/PhabricatorFileDetachController.php"},"region":{"startLine":77}}}],"partialFingerprints":{"codehealthFindingId/v1":"279bc0e82def05388680e794b68f811071e633b02c8c533b6092e7b1d466de40"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (21 lines \u00D7 2): src/applications/herald/controller/HeraldRuleController.php:186-206 | src/applications/herald/controller/HeraldRuleController.php:207-228"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/herald/controller/HeraldRuleController.php"},"region":{"startLine":186}}}],"partialFingerprints":{"codehealthFindingId/v1":"ec326fe3da71ab7c085ab9da09d89531ae9e2b988acd41c2e36b73b7640b6b13"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (20 lines \u00D7 7): src/applications/calendar/query/PhabricatorCalendarExportQuery.php:46-65 | src/applications/calendar/query/PhabricatorCalendarImportQuery.php:40-59 | src/applications/countdown/query/PhabricatorCountdownQuery.php:40-59 | src/applications/files/query/PhabricatorFileQuery.php:401-420 | src/applications/herald/query/HeraldRuleQuery.php:205-224 | src/applications/macro/query/PhabricatorMacroQuery.php:108-127 | src/applications/paste/query/PhabricatorPasteQuery.php:108-127"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/query/PhabricatorCalendarExportQuery.php"},"region":{"startLine":46}}}],"partialFingerprints":{"codehealthFindingId/v1":"1c2c3a27266ca28265d0c2e834207153125cbc84ffcf6a08dd8959557007a25f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (20 lines \u00D7 5): src/applications/auth/query/PhabricatorAuthFactorProviderQuery.php:40-59 | src/applications/dashboard/query/PhabricatorDashboardQuery.php:62-81 | src/applications/drydock/query/DrydockLeaseQuery.php:127-146 | src/applications/harbormaster/query/HarbormasterBuildPlanQuery.php:78-97 | src/applications/nuance/query/NuanceItemQuery.php:149-168"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/query/PhabricatorAuthFactorProviderQuery.php"},"region":{"startLine":40}}}],"partialFingerprints":{"codehealthFindingId/v1":"f6242c39a786d709c0ed772f0c428e298b0bacedc1d8742eddc0eddcbbec33bf"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (20 lines \u00D7 4): src/applications/auth/query/PhabricatorAuthContactNumberQuery.php:52-71 | src/applications/auth/query/PhabricatorAuthPasswordQuery.php:46-65 | src/applications/auth/query/PhabricatorAuthSSHKeyQuery.php:82-101 | src/applications/drydock/query/DrydockRepositoryOperationQuery.php:128-147"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/query/PhabricatorAuthContactNumberQuery.php"},"region":{"startLine":52}}}],"partialFingerprints":{"codehealthFindingId/v1":"55652ccefc28e0fe8243d114c39e42a06e1ba0107a243955acba406af9a8eebe"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (20 lines \u00D7 3): src/applications/auth/query/PhabricatorAuthChallengeQuery.php:48-67 | src/applications/auth/query/PhabricatorAuthFactorConfigQuery.php:46-65 | src/applications/auth/query/PhabricatorExternalAccountQuery.php:150-169"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/query/PhabricatorAuthChallengeQuery.php"},"region":{"startLine":48}}}],"partialFingerprints":{"codehealthFindingId/v1":"5ab5dc99267d7d9d983b8ea8fdea8167cdbf13b9b866904e6ce858e9850f1133"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (20 lines \u00D7 2): src/applications/almanac/query/AlmanacNamespaceQuery.php:40-59 | src/applications/almanac/query/AlmanacNetworkQuery.php:40-59"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/almanac/query/AlmanacNamespaceQuery.php"},"region":{"startLine":40}}}],"partialFingerprints":{"codehealthFindingId/v1":"ee3cd32b8be2556018099cbcda535c9ed581ea88b8c61be4ada22b099e4f0bf0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (20 lines \u00D7 2): src/applications/almanac/xaction/AlmanacBindingServiceTransaction.php:42-61 | src/applications/almanac/xaction/AlmanacInterfaceDeviceTransaction.php:52-71"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/almanac/xaction/AlmanacBindingServiceTransaction.php"},"region":{"startLine":42}}}],"partialFingerprints":{"codehealthFindingId/v1":"5fe4fec9e1a13be70483e63e8a664fa047c1d82afa373ed6538316666d3b5ec4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (20 lines \u00D7 2): src/applications/almanac/xaction/AlmanacDeviceNameTransaction.php:57-76 | src/applications/almanac/xaction/AlmanacServiceNameTransaction.php:66-85"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/almanac/xaction/AlmanacDeviceNameTransaction.php"},"region":{"startLine":57}}}],"partialFingerprints":{"codehealthFindingId/v1":"2484646ac34756019d54315edac701b0eeaa37e3b09d3503ee2567ff612ccd78"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (20 lines \u00D7 2): src/applications/conduit/query/PhabricatorConduitLogQuery.php:84-103 | src/applications/diffusion/query/DiffusionCommitQuery.php:671-690"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/conduit/query/PhabricatorConduitLogQuery.php"},"region":{"startLine":84}}}],"partialFingerprints":{"codehealthFindingId/v1":"afe83ffa4465ca10610b27aad4f33ba554fdd284d1ddaf0ed1e6a7daa69233f8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (20 lines \u00D7 2): src/applications/config/option/PhabricatorCoreConfigOptions.php:281-300 | src/applications/config/option/PhabricatorSecurityConfigOptions.php:300-319"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/option/PhabricatorCoreConfigOptions.php"},"region":{"startLine":281}}}],"partialFingerprints":{"codehealthFindingId/v1":"3fa57aa6f1da3b40e90a6880c7e6e68cfe51fa2c8f22edb62f45e26bbd419049"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (20 lines \u00D7 2): src/applications/dashboard/query/PhabricatorDashboardPortalQuery.php:34-53 | src/applications/herald/query/HeraldWebhookQuery.php:34-53"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/dashboard/query/PhabricatorDashboardPortalQuery.php"},"region":{"startLine":34}}}],"partialFingerprints":{"codehealthFindingId/v1":"188a33bf370e3d80792a19ced4dd19134326f7b349e9eaa6cab3cf2b2533fbde"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (20 lines \u00D7 2): src/applications/differential/editor/DifferentialTransactionEditor.php:1170-1189 | src/applications/differential/herald/DifferentialReviewersHeraldAction.php:40-59"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/editor/DifferentialTransactionEditor.php"},"region":{"startLine":1170}}}],"partialFingerprints":{"codehealthFindingId/v1":"0acf81a2b9f7f037630a306145e0d9f4cbdcc33471d2dc97e1a0f41dfae9ddc0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (20 lines \u00D7 2): src/applications/differential/parser/DifferentialChangesetParser.php:1682-1701 | src/applications/differential/parser/DifferentialChangesetParser.php:1718-1737"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/parser/DifferentialChangesetParser.php"},"region":{"startLine":1682}}}],"partialFingerprints":{"codehealthFindingId/v1":"097e9226ac8eeb5ce87249a988c2ca04e0735d3ff539eb6bd4b26cc85dbb47fd"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (20 lines \u00D7 2): src/applications/drydock/management/DrydockManagementReleaseLeaseWorkflow.php:57-76 | src/applications/drydock/management/DrydockManagementReleaseResourceWorkflow.php:56-75"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/drydock/management/DrydockManagementReleaseLeaseWorkflow.php"},"region":{"startLine":57}}}],"partialFingerprints":{"codehealthFindingId/v1":"a962202d5f1fbfc994225d6fb245144234acddea0b7b68836e03beef3cc9afce"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (19 lines \u00D7 2): src/applications/almanac/xaction/AlmanacDeviceStatusTransaction.php:40-58 | src/applications/dashboard/xaction/dashboard/PhabricatorDashboardLayoutTransaction.php:33-51"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/almanac/xaction/AlmanacDeviceStatusTransaction.php"},"region":{"startLine":40}}}],"partialFingerprints":{"codehealthFindingId/v1":"be6ef477358886f4047f747f1d277c9c86f9f569e0f1d7b7cde004d9c55f24ea"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (19 lines \u00D7 2): src/applications/auth/controller/PhabricatorAuthOneTimeLoginController.php:243-261 | src/applications/auth/controller/PhabricatorAuthSetExternalController.php:12-30"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/controller/PhabricatorAuthOneTimeLoginController.php"},"region":{"startLine":243}}}],"partialFingerprints":{"codehealthFindingId/v1":"58415510493cc2caa9b6afe66e184737cca759a73cf630132c0876e64cb2ee44"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (19 lines \u00D7 2): src/applications/differential/controller/DifferentialRevisionViewController.php:777-795 | src/applications/maniphest/controller/ManiphestTaskDetailController.php:314-335"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/controller/DifferentialRevisionViewController.php"},"region":{"startLine":777}}}],"partialFingerprints":{"codehealthFindingId/v1":"6125abb521d331ca9d783ec2cdd85a13583a7ef32fdb6559ee14ffbd14207edb"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (19 lines \u00D7 2): src/applications/diffusion/protocol/DiffusionRepositoryClusterEngine.php:183-201 | src/applications/diffusion/protocol/DiffusionRepositoryClusterEngine.php:373-391"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/protocol/DiffusionRepositoryClusterEngine.php"},"region":{"startLine":183}}}],"partialFingerprints":{"codehealthFindingId/v1":"bb4eb87623bfb6c695b078f627ee3c26bfd40d7685fd579d5ec245c957be2ff3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (19 lines \u00D7 2): src/applications/drydock/controller/DrydockBlueprintViewController.php:66-85 | src/applications/drydock/controller/DrydockRepositoryOperationViewController.php:58-76"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/drydock/controller/DrydockBlueprintViewController.php"},"region":{"startLine":66}}}],"partialFingerprints":{"codehealthFindingId/v1":"7b6d4899cb31d9762fa355e6321fe45af13499998505a8d0430a99ef9d3e7539"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (19 lines \u00D7 2): src/applications/drydock/management/DrydockManagementUpdateLeaseWorkflow.php:35-53 | src/applications/drydock/management/DrydockManagementUpdateResourceWorkflow.php:35-53"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/drydock/management/DrydockManagementUpdateLeaseWorkflow.php"},"region":{"startLine":35}}}],"partialFingerprints":{"codehealthFindingId/v1":"de8d56752a6facbc80b9f6cd9df27360b13815a1a7032e2ecbec583ff6ea594b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (19 lines \u00D7 2): src/applications/files/management/PhabricatorFilesManagementCycleWorkflow.php:97-115 | src/applications/files/management/PhabricatorFilesManagementEncodeWorkflow.php:119-137"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/files/management/PhabricatorFilesManagementCycleWorkflow.php"},"region":{"startLine":97}}}],"partialFingerprints":{"codehealthFindingId/v1":"bf98d1b2e9c1ba3adf4abfedc430a20f28aca187462f96927d223f0a061aca89"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (19 lines \u00D7 2): src/applications/packages/controller/PhabricatorPackagesPackageViewController.php:39-57 | src/applications/packages/controller/PhabricatorPackagesPublisherViewController.php:36-54"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/packages/controller/PhabricatorPackagesPackageViewController.php"},"region":{"startLine":39}}}],"partialFingerprints":{"codehealthFindingId/v1":"65b34ef42cb84c7db7df9db80aeaa3a29bec329504eafbecb673fe4f21804dfa"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (18 lines \u00D7 3): src/applications/dashboard/xaction/dashboard/PhabricatorDashboardNameTransaction.php:32-49 | src/applications/dashboard/xaction/panel/PhabricatorDashboardPanelNameTransaction.php:32-49 | src/applications/dashboard/xaction/portal/PhabricatorDashboardPortalNameTransaction.php:32-49"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/dashboard/xaction/dashboard/PhabricatorDashboardNameTransaction.php"},"region":{"startLine":32}}}],"partialFingerprints":{"codehealthFindingId/v1":"eba0845de28d7a7e93c494c8f700c9f1106728e13c9f5d02a2c97342c7054830"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (18 lines \u00D7 3): src/applications/diffusion/controller/DiffusionRepositoryURIDisableController.php:58-75 | src/applications/drydock/controller/DrydockAuthorizationAuthorizeController.php:61-78 | src/applications/drydock/controller/DrydockBlueprintDisableController.php:42-59"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/controller/DiffusionRepositoryURIDisableController.php"},"region":{"startLine":58}}}],"partialFingerprints":{"codehealthFindingId/v1":"858ec973b3819ddbddda2a9844ef9d1f7c2496e30e74977d979bc409afff6e13"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (18 lines \u00D7 2): src/applications/auth/controller/config/PhabricatorAuthListController.php:98-116 | src/applications/auth/controller/mfa/PhabricatorAuthFactorProviderListController.php:60-77"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/controller/config/PhabricatorAuthListController.php"},"region":{"startLine":98}}}],"partialFingerprints":{"codehealthFindingId/v1":"ef8a06772fb025a0c77391076c9cf3b755d32cbb87581979792f10f5b2f44139"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (18 lines \u00D7 2): src/applications/conduit/controller/PhabricatorConduitTokenEditController.php:8-25 | src/applications/conduit/controller/PhabricatorConduitTokenTerminateController.php:9-26"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/conduit/controller/PhabricatorConduitTokenEditController.php"},"region":{"startLine":8}}}],"partialFingerprints":{"codehealthFindingId/v1":"3bde378384774caa4d0000772c98c0f0a2f81bbe375ad49bcfb71620b313e1c3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (18 lines \u00D7 2): src/applications/conpherence/controller/ConpherenceRoomPictureController.php:39-56 | src/applications/diffusion/controller/DiffusionRepositoryProfilePictureController.php:40-57"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/conpherence/controller/ConpherenceRoomPictureController.php"},"region":{"startLine":39}}}],"partialFingerprints":{"codehealthFindingId/v1":"f75cc3fcc99cb512967bdd37df5a3a53ceaf32a6a29cd3f7a945782c0c919a17"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (18 lines \u00D7 2): src/applications/conpherence/query/ConpherenceThreadSearchEngine.php:346-364 | src/applications/conpherence/query/ConpherenceThreadSearchEngine.php:377-394"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/conpherence/query/ConpherenceThreadSearchEngine.php"},"region":{"startLine":346}}}],"partialFingerprints":{"codehealthFindingId/v1":"ce89dae05e0da72da373914266ecd5f3dfc34fa5b6f5677321240ce81fafc9a8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (18 lines \u00D7 2): src/applications/dashboard/controller/dashboard/PhabricatorDashboardViewController.php:45-63 | src/applications/dashboard/controller/panel/PhabricatorDashboardPanelViewController.php:52-69"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/dashboard/controller/dashboard/PhabricatorDashboardViewController.php"},"region":{"startLine":45}}}],"partialFingerprints":{"codehealthFindingId/v1":"c780b27b4132b3e1ea85d4e12e5087e03869e03751b0d28b61a9cace95f7c4a3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (18 lines \u00D7 2): src/applications/dashboard/controller/panel/PhabricatorDashboardPanelTabsController.php:60-77 | src/applications/dashboard/controller/panel/PhabricatorDashboardPanelTabsController.php:81-98"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/dashboard/controller/panel/PhabricatorDashboardPanelTabsController.php"},"region":{"startLine":60}}}],"partialFingerprints":{"codehealthFindingId/v1":"90b725c962cefb78130b0f950fa0db654b1819dc4df5f572b25208d07626dc21"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (18 lines \u00D7 2): src/applications/differential/engine/DifferentialDiffExtractionEngine.php:56-73 | src/applications/diffusion/controller/DiffusionBrowseController.php:727-746"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/engine/DifferentialDiffExtractionEngine.php"},"region":{"startLine":56}}}],"partialFingerprints":{"codehealthFindingId/v1":"edc2dae1a6439449fb321fa9f66c256cbe79832a6a134ba034d4801d17b873c5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (18 lines \u00D7 2): src/applications/differential/xaction/DifferentialRevisionAbandonTransaction.php:59-76 | src/applications/differential/xaction/DifferentialRevisionCloseTransaction.php:73-90"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/xaction/DifferentialRevisionAbandonTransaction.php"},"region":{"startLine":59}}}],"partialFingerprints":{"codehealthFindingId/v1":"be4c11027be4560d5b045dd1f6de8abc21e4ce00c8266ca7f7a55769aa999cfa"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (18 lines \u00D7 2): src/applications/files/controller/PhabricatorFileDetachController.php:14-31 | src/applications/files/controller/PhabricatorFileUICurtainAttachController.php:25-42"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/files/controller/PhabricatorFileDetachController.php"},"region":{"startLine":14}}}],"partialFingerprints":{"codehealthFindingId/v1":"32a166d1ebcd30b0f605268f90b1c77f06a138259af4760a0e1e75f15f03fc78"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (18 lines \u00D7 2): src/applications/harbormaster/controller/HarbormasterPlanViewController.php:70-89 | src/applications/legalpad/controller/LegalpadDocumentManageController.php:61-78"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/harbormaster/controller/HarbormasterPlanViewController.php"},"region":{"startLine":70}}}],"partialFingerprints":{"codehealthFindingId/v1":"0a3e8afb3376b40441be9baccaa9f1001e04175db241e08c62c132cacb3f2b4f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (18 lines \u00D7 2): src/applications/herald/adapter/HeraldAdapter.php:337-354 | src/applications/herald/adapter/HeraldAdapter.php:726-743"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/herald/adapter/HeraldAdapter.php"},"region":{"startLine":337}}}],"partialFingerprints":{"codehealthFindingId/v1":"e2ae3ee45e1e08b1d621a223ed066e2de792f712cd2b4f30c02ed90084720f46"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (18 lines \u00D7 2): src/applications/passphrase/controller/PassphraseCredentialDestroyController.php:12-29 | src/applications/passphrase/controller/PassphraseCredentialLockController.php:12-29"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/passphrase/controller/PassphraseCredentialDestroyController.php"},"region":{"startLine":12}}}],"partialFingerprints":{"codehealthFindingId/v1":"96fe65d8a2982d3c6eac5cf2e1ad2ca9f4fd9375600998f00aa7da0a1d64e276"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (17 lines \u00D7 52): src/applications/almanac/query/AlmanacBindingQuery.php:95-111 | src/applications/almanac/query/AlmanacDeviceQuery.php:60-76 | src/applications/almanac/query/AlmanacInterfaceQuery.php:88-104 | src/applications/almanac/query/AlmanacNamespaceQuery.php:36-52 | src/applications/almanac/query/AlmanacNetworkQuery.php:36-52 | src/applications/almanac/query/AlmanacServiceQuery.php:86-102 | src/applications/auth/query/PhabricatorAuthChallengeQuery.php:44-60 | src/applications/auth/query/PhabricatorAuthContactNumberQuery.php:48-64 | src/applications/auth/query/PhabricatorAuthFactorConfigQuery.php:42-58 | src/applications/auth/query/PhabricatorAuthFactorProviderQuery.php:36-52 | src/applications/auth/query/PhabricatorAuthMessageQuery.php:30-46 | src/applications/auth/query/PhabricatorAuthPasswordQuery.php:42-58 | src/applications/auth/query/PhabricatorAuthProviderConfigQuery.php:36-52 | src/applications/auth/query/PhabricatorAuthSSHKeyQuery.php:78-94 | src/applications/auth/query/PhabricatorAuthSessionQuery.php:64-80 | src/applications/auth/query/PhabricatorExternalAccountIdentifierQuery.php:42-58 | src/applications/auth/query/PhabricatorExternalAccountQuery.php:146-162 | src/applications/badges/query/PhabricatorBadgesQuery.php:46-62 | src/applications/calendar/query/PhabricatorCalendarEventQuery.php:358-378 | src/applications/calendar/query/PhabricatorCalendarExportQuery.php:42-58 | src/applications/calendar/query/PhabricatorCalendarExternalInviteeQuery.php:30-46 | src/applications/calendar/query/PhabricatorCalendarImportLogQuery.php:30-46 | src/applications/calendar/query/PhabricatorCalendarImportQuery.php:36-52 | src/applications/countdown/query/PhabricatorCountdownQuery.php:36-52 | src/applications/dashboard/query/PhabricatorDashboardPanelQuery.php:50-66 | src/applications/dashboard/query/PhabricatorDashboardPortalQuery.php:30-46 | src/applications/dashboard/query/PhabricatorDashboardQuery.php:58-74 | src/applications/differential/query/DifferentialDiffQuery.php:123-139 | src/applications/drydock/query/DrydockAuthorizationQuery.php:124-140 | src/applications/drydock/query/DrydockBlueprintQuery.php:147-163 | src/applications/drydock/query/DrydockRepositoryOperationQuery.php:124-140 | src/applications/drydock/query/DrydockResourceQuery.php:94-110 | src/applications/files/query/PhabricatorFileQuery.php:397-413 | src/applications/fund/query/FundInitiativeQuery.php:36-52 | src/applications/harbormaster/query/HarbormasterBuildLogQuery.php:56-72 | src/applications/harbormaster/query/HarbormasterBuildPlanQuery.php:74-90 | src/applications/harbormaster/query/HarbormasterBuildQuery.php:141-157 | src/applications/harbormaster/query/HarbormasterBuildStepQuery.php:30-46 | src/applications/harbormaster/query/HarbormasterBuildTargetQuery.php:73-89 | src/applications/harbormaster/query/HarbormasterBuildUnitMessageQuery.php:30-46 | src/applications/harbormaster/query/HarbormasterBuildableQuery.php:129-145 | src/applications/herald/query/HeraldRuleQuery.php:201-217 | src/applications/herald/query/HeraldWebhookQuery.php:30-46 | src/applications/herald/query/HeraldWebhookRequestQuery.php:44-60 | src/applications/legalpad/query/LegalpadDocumentQuery.php:158-174 | src/applications/macro/query/PhabricatorMacroQuery.php:104-120 | src/applications/metamta/query/PhabricatorMetaMTAMailQuery.php:40-56 | src/applications/packages/query/PhabricatorPackagesPackageQuery.php:48-64 | src/applications/packages/query/PhabricatorPackagesPublisherQuery.php:36-52 | src/applications/packages/query/PhabricatorPackagesVersionQuery.php:48-64 | src/applications/passphrase/query/PassphraseCredentialQuery.php:103-119 | src/applications/paste/query/PhabricatorPasteQuery.php:104-120"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/almanac/query/AlmanacBindingQuery.php"},"region":{"startLine":95}}}],"partialFingerprints":{"codehealthFindingId/v1":"13f19d360aa2d246175f2a65585b1745ce04271c62449633cb435a5610d3dde5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (17 lines \u00D7 5): src/applications/guides/module/PhabricatorGuideInstallModule.php:31-47 | src/applications/guides/module/PhabricatorGuideInstallModule.php:87-104 | src/applications/guides/module/PhabricatorGuideInstallModule.php:117-133 | src/applications/guides/module/PhabricatorGuideInstallModule.php:141-157 | src/applications/guides/module/PhabricatorGuideQuickStartModule.php:85-101"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/guides/module/PhabricatorGuideInstallModule.php"},"region":{"startLine":31}}}],"partialFingerprints":{"codehealthFindingId/v1":"793a66c0e8087fd174c5860bcdea09053f279a5cf477ce57deb8027cc66cbfe5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (17 lines \u00D7 4): src/applications/guides/module/PhabricatorGuideInstallModule.php:58-74 | src/applications/guides/module/PhabricatorGuideQuickStartModule.php:31-47 | src/applications/guides/module/PhabricatorGuideQuickStartModule.php:58-74 | src/applications/guides/module/PhabricatorGuideQuickStartModule.php:108-124"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/guides/module/PhabricatorGuideInstallModule.php"},"region":{"startLine":58}}}],"partialFingerprints":{"codehealthFindingId/v1":"a3d0b6a9f41b3e88360e9ee8b38fd0d5c7d351ee85a55e5d15eabe9389ad9850"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (17 lines \u00D7 3): src/applications/almanac/controller/AlmanacDeviceViewController.php:60-81 | src/applications/almanac/controller/AlmanacNamespaceViewController.php:38-54 | src/applications/almanac/controller/AlmanacNetworkViewController.php:38-54"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/almanac/controller/AlmanacDeviceViewController.php"},"region":{"startLine":60}}}],"partialFingerprints":{"codehealthFindingId/v1":"7319fd1bac775f90bdd4019f2458b4aeb05fab63afd33545115d21f56ba22d04"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (17 lines \u00D7 3): src/applications/auth/controller/contact/PhabricatorAuthContactNumberDisableController.php:7-23 | src/applications/auth/controller/contact/PhabricatorAuthContactNumberPrimaryController.php:7-23 | src/applications/auth/controller/contact/PhabricatorAuthContactNumberTestController.php:7-23"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/controller/contact/PhabricatorAuthContactNumberDisableController.php"},"region":{"startLine":7}}}],"partialFingerprints":{"codehealthFindingId/v1":"3dfcb12bf029723af4252bac9b066a9b352d26e2203d62d5124695945f7b0c70"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (17 lines \u00D7 3): src/applications/files/controller/PhabricatorFileViewController.php:77-93 | src/applications/harbormaster/controller/HarbormasterPlanViewController.php:70-89 | src/applications/legalpad/controller/LegalpadDocumentManageController.php:61-78"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/files/controller/PhabricatorFileViewController.php"},"region":{"startLine":77}}}],"partialFingerprints":{"codehealthFindingId/v1":"4a440bf6ef47e6cd1936c6a831f48aefb2982372c59da77cdd058a08676700e4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (17 lines \u00D7 3): src/applications/meta/controller/PhabricatorApplicationEditController.php:7-23 | src/applications/meta/controller/PhabricatorApplicationPanelController.php:11-27 | src/applications/meta/controller/PhabricatorApplicationUninstallController.php:9-26"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/meta/controller/PhabricatorApplicationEditController.php"},"region":{"startLine":7}}}],"partialFingerprints":{"codehealthFindingId/v1":"ecd2ae882c5dddccd47a276e60ba35350dafcf806a81784ea779e25a2dee9189"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (17 lines \u00D7 3): src/applications/owners/xaction/PhabricatorOwnersPackageAuthorityTransaction.php:16-32 | src/applications/owners/xaction/PhabricatorOwnersPackageAutoreviewTransaction.php:16-32 | src/applications/owners/xaction/PhabricatorOwnersPackageDominionTransaction.php:16-32"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/owners/xaction/PhabricatorOwnersPackageAuthorityTransaction.php"},"region":{"startLine":16}}}],"partialFingerprints":{"codehealthFindingId/v1":"d74f608a46a314c9643bbfb72229e501616e327621b9a76ef2cf119de3354793"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (17 lines \u00D7 2): src/applications/almanac/controller/AlmanacBindingViewController.php:63-79 | src/applications/meta/controller/PhabricatorApplicationDetailViewController.php:63-79"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/almanac/controller/AlmanacBindingViewController.php"},"region":{"startLine":63}}}],"partialFingerprints":{"codehealthFindingId/v1":"9fcc3bc5a7e6f1e5f85ccb12168120632b068ef9d24122c03e6604221d4a7191"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (17 lines \u00D7 2): src/applications/almanac/query/AlmanacPropertyQuery.php:71-87 | src/applications/conduit/query/PhabricatorConduitTokenQuery.php:42-58"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/almanac/query/AlmanacPropertyQuery.php"},"region":{"startLine":71}}}],"partialFingerprints":{"codehealthFindingId/v1":"4cb1bf097c29ae2487ad4a7056701df0f244a42df3945c1757cf3b5d1c372361"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (17 lines \u00D7 2): src/applications/almanac/xaction/AlmanacServiceTypeTransaction.php:37-53 | src/applications/drydock/xaction/DrydockBlueprintTypeTransaction.php:38-54"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/almanac/xaction/AlmanacServiceTypeTransaction.php"},"region":{"startLine":37}}}],"partialFingerprints":{"codehealthFindingId/v1":"448fab5e9601d20e7d4ba323d354596f6169b1e9766496c25926539f926fe40c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (17 lines \u00D7 2): src/applications/audit/view/PhabricatorAuditTransactionView.php:57-73 | src/applications/differential/view/DifferentialTransactionView.php:89-107"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/audit/view/PhabricatorAuditTransactionView.php"},"region":{"startLine":57}}}],"partialFingerprints":{"codehealthFindingId/v1":"534baee7f56f573e300fcc0bfa180f33f9943e5d9cf7c192d1f5449be35544f2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (17 lines \u00D7 2): src/applications/auth/controller/config/PhabricatorAuthDisableController.php:11-27 | src/applications/auth/controller/config/PhabricatorAuthProviderViewController.php:10-26"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/controller/config/PhabricatorAuthDisableController.php"},"region":{"startLine":11}}}],"partialFingerprints":{"codehealthFindingId/v1":"16b046d9763ed89b182333bb8d4533da72919e50fcf49c0e2f77914a249e9654"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (17 lines \u00D7 2): src/applications/auth/controller/contact/PhabricatorAuthContactNumberDisableController.php:49-65 | src/applications/auth/controller/contact/PhabricatorAuthContactNumberPrimaryController.php:60-76"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/controller/contact/PhabricatorAuthContactNumberDisableController.php"},"region":{"startLine":49}}}],"partialFingerprints":{"codehealthFindingId/v1":"753de56ae239ce77a011d98de9f0d432b8ae99f783fd42470091c2b48ebae062"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (17 lines \u00D7 2): src/applications/auth/controller/contact/PhabricatorAuthContactNumberViewController.php:30-46 | src/applications/auth/controller/mfa/PhabricatorAuthFactorProviderViewController.php:34-50"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/controller/contact/PhabricatorAuthContactNumberViewController.php"},"region":{"startLine":30}}}],"partialFingerprints":{"codehealthFindingId/v1":"c99759facaa21db37f74237ff0237703fb9096dc9ae00c45d81b82582e38a125"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (17 lines \u00D7 2): src/applications/auth/provider/PhabricatorAsanaAuthProvider.php:54-70 | src/applications/auth/provider/PhabricatorJIRAAuthProvider.php:337-353"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/provider/PhabricatorAsanaAuthProvider.php"},"region":{"startLine":54}}}],"partialFingerprints":{"codehealthFindingId/v1":"766d9f161db32c77f4d47aed7383952ba7c755911817e59b341568f4bbb0741c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (17 lines \u00D7 2): src/applications/badges/controller/PhabricatorBadgesArchiveController.php:7-23 | src/applications/badges/controller/PhabricatorBadgesRemoveRecipientsController.php:7-23"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/badges/controller/PhabricatorBadgesArchiveController.php"},"region":{"startLine":7}}}],"partialFingerprints":{"codehealthFindingId/v1":"58df435bf056985c530525aeb2cdb84d7a51caa47be55f4297a900012d8b07ce"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (17 lines \u00D7 2): src/applications/calendar/parser/data/__tests__/PhutilCalendarDateTimeTestCase.php:9-25 | src/applications/calendar/parser/data/__tests__/PhutilCalendarDateTimeTestCase.php:29-45"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/parser/data/__tests__/PhutilCalendarDateTimeTestCase.php"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"5709d423facd2f048896aa21af2564e84bb9cdb6fa1a2811a3eb11ad0adbe63c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (17 lines \u00D7 2): src/applications/calendar/parser/data/__tests__/PhutilCalendarRecurrenceRuleTestCase.php:33-51 | src/applications/calendar/parser/data/__tests__/PhutilCalendarRecurrenceRuleTestCase.php:86-102"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/parser/data/__tests__/PhutilCalendarRecurrenceRuleTestCase.php"},"region":{"startLine":33}}}],"partialFingerprints":{"codehealthFindingId/v1":"024a2fd0ec3bb497a9a93ef13b5fea81a4368130978c8df276b7b651daa98a6b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (17 lines \u00D7 2): src/applications/calendar/xaction/PhabricatorCalendarImportICSFileTransaction.php:37-53 | src/applications/calendar/xaction/PhabricatorCalendarImportICSURITransaction.php:29-45"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/xaction/PhabricatorCalendarImportICSFileTransaction.php"},"region":{"startLine":37}}}],"partialFingerprints":{"codehealthFindingId/v1":"ad8007bf98fb4baf4af64a8b6c4e05aebb9d676b212cc7365c2144d40c24d4af"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (17 lines \u00D7 2): src/applications/conpherence/controller/ConpherenceRoomPictureController.php:91-107 | src/applications/diffusion/controller/DiffusionRepositoryProfilePictureController.php:78-95"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/conpherence/controller/ConpherenceRoomPictureController.php"},"region":{"startLine":91}}}],"partialFingerprints":{"codehealthFindingId/v1":"fb2ffc2b5f6c8b41cc3bd817ceb9190e65f270679258e7fd1984467801fff1e2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (17 lines \u00D7 2): src/applications/dashboard/controller/dashboard/PhabricatorDashboardAdjustController.php:116-132 | src/applications/dashboard/controller/panel/PhabricatorDashboardPanelTabsController.php:201-217"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/dashboard/controller/dashboard/PhabricatorDashboardAdjustController.php"},"region":{"startLine":116}}}],"partialFingerprints":{"codehealthFindingId/v1":"da92c37c5f0df010ccd25407dd62235253549bcf0eb9db0d1ae7735b8bffd7cb"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (17 lines \u00D7 2): src/applications/dashboard/controller/dashboard/PhabricatorDashboardArchiveController.php:10-26 | src/applications/paste/controller/PhabricatorPasteArchiveController.php:10-26"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/dashboard/controller/dashboard/PhabricatorDashboardArchiveController.php"},"region":{"startLine":10}}}],"partialFingerprints":{"codehealthFindingId/v1":"bf2f19d62e8888b92d014bf176965eae9a24eb097c0c1ec03d2f65abc1b923c4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (17 lines \u00D7 2): src/applications/diffusion/controller/DiffusionBranchTableController.php:87-103 | src/applications/diffusion/controller/DiffusionBrowseController.php:79-97"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/controller/DiffusionBranchTableController.php"},"region":{"startLine":87}}}],"partialFingerprints":{"codehealthFindingId/v1":"3c8b37c14285664fb59b7cd439e0a77f01fcb53464c9d7af919ab36b02d42308"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (17 lines \u00D7 2): src/applications/diffusion/controller/DiffusionHistoryController.php:10-28 | src/applications/diffusion/controller/DiffusionTagListController.php:10-26"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/controller/DiffusionHistoryController.php"},"region":{"startLine":10}}}],"partialFingerprints":{"codehealthFindingId/v1":"b5411df515f0abe0ecb026629e0b7011e3dc4b3b30f6bd53f1f5d6cbbb19fc87"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (17 lines \u00D7 2): src/applications/doorkeeper/bridge/DoorkeeperBridgeAsana.php:82-98 | src/applications/doorkeeper/bridge/DoorkeeperBridgeJIRA.php:73-89"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/doorkeeper/bridge/DoorkeeperBridgeAsana.php"},"region":{"startLine":82}}}],"partialFingerprints":{"codehealthFindingId/v1":"ccf7ddab99d2ff06e5da10e8b44aa772e0c7361b21e7a64aa5a5442d485f9c08"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (17 lines \u00D7 2): src/applications/drydock/query/DrydockBlueprintSearchEngine.php:77-94 | src/applications/harbormaster/query/HarbormasterBuildPlanSearchEngine.php:83-99"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/drydock/query/DrydockBlueprintSearchEngine.php"},"region":{"startLine":77}}}],"partialFingerprints":{"codehealthFindingId/v1":"3106ed5ad8b87ba505e18824d6a7400f0c0fbf185cec93d3ca1034f43cbc4d86"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (17 lines \u00D7 2): src/applications/files/controller/PhabricatorFileTransformListController.php:128-144 | src/applications/macro/controller/PhabricatorMacroAudioController.php:146-162"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/files/controller/PhabricatorFileTransformListController.php"},"region":{"startLine":128}}}],"partialFingerprints":{"codehealthFindingId/v1":"fd35c87d2897889ff2e3da39636a1d8de1ffb890bcb749c7bec7741d13b50501"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 5): src/applications/almanac/controller/AlmanacDeviceViewController.php:85-100 | src/applications/almanac/controller/AlmanacNamespaceViewController.php:58-73 | src/applications/almanac/controller/AlmanacNetworkViewController.php:59-74 | src/applications/almanac/controller/AlmanacServiceViewController.php:90-105 | src/applications/diffusion/controller/DiffusionIdentityViewController.php:59-74"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/almanac/controller/AlmanacDeviceViewController.php"},"region":{"startLine":85}}}],"partialFingerprints":{"codehealthFindingId/v1":"e1b5c93e6a3e28714e22e3524da481099719dc708266ce15581323dec17aa51b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 5): src/applications/diffusion/management/DiffusionRepositoryBranchesManagementPanel.php:49-64 | src/applications/diffusion/management/DiffusionRepositoryLimitsManagementPanel.php:48-63 | src/applications/diffusion/management/DiffusionRepositoryStagingManagementPanel.php:46-61 | src/applications/diffusion/management/DiffusionRepositorySubversionManagementPanel.php:42-57 | src/applications/diffusion/management/DiffusionRepositorySymbolsManagementPanel.php:44-59"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/management/DiffusionRepositoryBranchesManagementPanel.php"},"region":{"startLine":49}}}],"partialFingerprints":{"codehealthFindingId/v1":"88dc049246262ebe0a8b8f789acbdac41155fc672b287cb65b79083998aaa2cb"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 4): src/applications/dashboard/controller/panel/PhabricatorDashboardPanelArchiveController.php:40-55 | src/applications/diffusion/controller/DiffusionRepositoryURIDisableController.php:61-76 | src/applications/drydock/controller/DrydockAuthorizationAuthorizeController.php:64-79 | src/applications/drydock/controller/DrydockBlueprintDisableController.php:45-60"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/dashboard/controller/panel/PhabricatorDashboardPanelArchiveController.php"},"region":{"startLine":40}}}],"partialFingerprints":{"codehealthFindingId/v1":"d9419fd826825f67d12786f0a4bbb402e3ec14fe57e7ad399f6b2c712dc790e3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 4): src/applications/passphrase/controller/PassphraseCredentialConduitController.php:7-23 | src/applications/passphrase/controller/PassphraseCredentialDestroyController.php:7-23 | src/applications/passphrase/controller/PassphraseCredentialLockController.php:7-23 | src/applications/passphrase/controller/PassphraseCredentialPublicController.php:7-22"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/passphrase/controller/PassphraseCredentialConduitController.php"},"region":{"startLine":7}}}],"partialFingerprints":{"codehealthFindingId/v1":"74828458ccedba1ab12731d7137fe154e7b049c96c7c5db36004ae94844877b1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 3): src/applications/calendar/controller/PhabricatorCalendarImportDeleteController.php:7-22 | src/applications/calendar/controller/PhabricatorCalendarImportDisableController.php:7-22 | src/applications/calendar/controller/PhabricatorCalendarImportReloadController.php:7-22"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/controller/PhabricatorCalendarImportDeleteController.php"},"region":{"startLine":7}}}],"partialFingerprints":{"codehealthFindingId/v1":"a7d6889c22e562295b4023fa331e3d2f2bdafe6c3f1e96d58f1f415c0d42afe7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 3): src/applications/harbormaster/controller/HarbormasterPlanBehaviorController.php:7-22 | src/applications/harbormaster/controller/HarbormasterPlanDisableController.php:7-22 | src/applications/harbormaster/controller/HarbormasterStepAddController.php:7-22"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/harbormaster/controller/HarbormasterPlanBehaviorController.php"},"region":{"startLine":7}}}],"partialFingerprints":{"codehealthFindingId/v1":"a8819b24e3fddf7d70d48ac5d1d5eb6daa0dc57a1e4df54b96e3fd289a72efcc"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 2): src/applications/almanac/controller/AlmanacConsoleController.php:33-48 | src/applications/config/controller/PhabricatorConfigConsoleController.php:39-54"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/almanac/controller/AlmanacConsoleController.php"},"region":{"startLine":33}}}],"partialFingerprints":{"codehealthFindingId/v1":"fbf91a459abfd0e1c2e043a290cea6dadd2cc28b16da2b0daeeaaf8688d26e1e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 2): src/applications/almanac/controller/AlmanacServiceViewController.php:52-69 | src/applications/auth/controller/PhabricatorAuthSSHKeyViewController.php:54-69"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/almanac/controller/AlmanacServiceViewController.php"},"region":{"startLine":52}}}],"partialFingerprints":{"codehealthFindingId/v1":"549692a1027e126b83d5e3d844c5633b5ba8a27f6cb647c0bb87983482266a81"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 2): src/applications/almanac/xaction/AlmanacBindingServiceTransaction.php:20-35 | src/applications/almanac/xaction/AlmanacInterfaceDeviceTransaction.php:28-43"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/almanac/xaction/AlmanacBindingServiceTransaction.php"},"region":{"startLine":20}}}],"partialFingerprints":{"codehealthFindingId/v1":"438925b5de303aaa9231a5607cd329a34403376dfc40f952fec6488abeabcebd"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 2): src/applications/auth/controller/PhabricatorAuthRevokeTokenController.php:30-45 | src/applications/auth/controller/PhabricatorAuthTerminateSessionController.php:34-49"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/controller/PhabricatorAuthRevokeTokenController.php"},"region":{"startLine":30}}}],"partialFingerprints":{"codehealthFindingId/v1":"171efb2dd3ce45e5471e4418071232f853c0dcd2e201ca56881132d149e6e5b4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 2): src/applications/auth/editor/PhabricatorAuthSSHKeyEditor.php:111-127 | src/applications/oauthserver/editor/PhabricatorOAuthServerEditor.php:96-111"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/editor/PhabricatorAuthSSHKeyEditor.php"},"region":{"startLine":111}}}],"partialFingerprints":{"codehealthFindingId/v1":"ce0ddd30dce4775f9a8075f454b11d5fd3e94f7a9eeee188ea195bcc483d9af5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 2): src/applications/auth/management/PhabricatorAuthManagementCachePKCS8Workflow.php:34-49 | src/applications/auth/management/PhabricatorAuthManagementCachePKCS8Workflow.php:51-66"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/management/PhabricatorAuthManagementCachePKCS8Workflow.php"},"region":{"startLine":34}}}],"partialFingerprints":{"codehealthFindingId/v1":"35e2ff023ed12b99acd8351a8fbb38fd75bfda5254d10617caa01f799de5fd94"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 2): src/applications/auth/management/PhabricatorAuthManagementTrustOAuthClientWorkflow.php:45-60 | src/applications/auth/management/PhabricatorAuthManagementUntrustOAuthClientWorkflow.php:45-60"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/management/PhabricatorAuthManagementTrustOAuthClientWorkflow.php"},"region":{"startLine":45}}}],"partialFingerprints":{"codehealthFindingId/v1":"6a6eb01c5a535ef61a48b4d2733b36c46cf83f6deb5fe36979c55ff42e1fe370"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 2): src/applications/calendar/controller/PhabricatorCalendarEventAvailabilityController.php:8-23 | src/applications/calendar/controller/PhabricatorCalendarEventJoinController.php:8-23"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/controller/PhabricatorCalendarEventAvailabilityController.php"},"region":{"startLine":8}}}],"partialFingerprints":{"codehealthFindingId/v1":"0ef114b05107a7db08fe02e0b195cf8e9fc96d18f74d18dc17bd417c0ff3460a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 2): src/applications/calendar/controller/PhabricatorCalendarExportDisableController.php:10-25 | src/applications/calendar/controller/PhabricatorCalendarImportDisableController.php:10-25"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/controller/PhabricatorCalendarExportDisableController.php"},"region":{"startLine":10}}}],"partialFingerprints":{"codehealthFindingId/v1":"7125dd722b43b88f08d0aafb97c7bd74b0002f2fb61fa83d6a66a8eabc2341d0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 2): src/applications/calendar/controller/PhabricatorCalendarImportDisableController.php:48-64 | src/applications/fund/controller/FundInitiativeCloseController.php:47-62"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/controller/PhabricatorCalendarImportDisableController.php"},"region":{"startLine":48}}}],"partialFingerprints":{"codehealthFindingId/v1":"efaff13421f3da2f037df1c3701d7a3ae68e318b99efcd6b0de47d28d14b547c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 2): src/applications/calendar/controller/PhabricatorCalendarImportReloadController.php:9-24 | src/applications/harbormaster/controller/HarbormasterPlanDisableController.php:9-24"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/controller/PhabricatorCalendarImportReloadController.php"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"8e43f37085275fba8ff7bdab50616f05be0cd0e652183ad501cab94cf0d15abf"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 2): src/applications/calendar/xaction/PhabricatorCalendarEventFrequencyTransaction.php:61-76 | src/applications/calendar/xaction/PhabricatorCalendarImportFrequencyTransaction.php:27-42"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/xaction/PhabricatorCalendarEventFrequencyTransaction.php"},"region":{"startLine":61}}}],"partialFingerprints":{"codehealthFindingId/v1":"5b9abe7fda5e70fcb7ce16eeec4a7b733bc525a4ea89f22a5132cecdcde4822d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 2): src/applications/config/management/PhabricatorConfigManagementDeleteWorkflow.php:27-43 | src/applications/config/management/PhabricatorConfigManagementGetWorkflow.php:21-36"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/management/PhabricatorConfigManagementDeleteWorkflow.php"},"region":{"startLine":27}}}],"partialFingerprints":{"codehealthFindingId/v1":"166a13ba65b9ff4bffe7066fb0904209a1db4766120af965db0e9ead592da004"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 2): src/applications/config/schema/PhabricatorConfigSchemaQuery.php:277-293 | src/applications/config/schema/PhabricatorConfigSchemaQuery.php:297-312"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/schema/PhabricatorConfigSchemaQuery.php"},"region":{"startLine":277}}}],"partialFingerprints":{"codehealthFindingId/v1":"13c7c13b5058a770431a00c9294e58e9a52e41c4ebb1bbe7901dc611b1ae7bbf"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 2): src/applications/dashboard/controller/PhabricatorDashboardQueryPanelInstallController.php:128-143 | src/applications/dashboard/controller/panel/PhabricatorDashboardPanelTabsController.php:205-220"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/dashboard/controller/PhabricatorDashboardQueryPanelInstallController.php"},"region":{"startLine":128}}}],"partialFingerprints":{"codehealthFindingId/v1":"cc0e4686ddebddda56fb05e8a7ede4fee7f812b9888705e6c1e9195bf5d0a87d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 2): src/applications/dashboard/install/PhabricatorDashboardPortalInstallWorkflow.php:39-54 | src/applications/dashboard/install/PhabricatorDashboardProjectInstallWorkflow.php:40-55"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/dashboard/install/PhabricatorDashboardPortalInstallWorkflow.php"},"region":{"startLine":39}}}],"partialFingerprints":{"codehealthFindingId/v1":"08d818f581194c9c5952669bdd0dd97c343758ddd923572f3335e93dcff906bf"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 2): src/applications/differential/render/DifferentialChangesetHTMLRenderer.php:523-538 | src/applications/differential/render/DifferentialChangesetHTMLRenderer.php:556-571"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/render/DifferentialChangesetHTMLRenderer.php"},"region":{"startLine":523}}}],"partialFingerprints":{"codehealthFindingId/v1":"540f79edd94ff84e22783aeef1c22b058942215580d940159e45e2d61c8ca3ee"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 2): src/applications/differential/xaction/DifferentialRevisionBuildableTransaction.php:44-59 | src/applications/diffusion/xaction/DiffusionCommitBuildableTransaction.php:40-55"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/xaction/DifferentialRevisionBuildableTransaction.php"},"region":{"startLine":44}}}],"partialFingerprints":{"codehealthFindingId/v1":"da9464e912d111dce88747efb26f12c41ce44815ef6622fcbbd1ae632734cba3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 2): src/applications/diffusion/controller/DiffusionRepositoryURICredentialController.php:16-31 | src/applications/diffusion/controller/DiffusionRepositoryURIDisableController.php:16-31"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/controller/DiffusionRepositoryURICredentialController.php"},"region":{"startLine":16}}}],"partialFingerprints":{"codehealthFindingId/v1":"99fc078f82202e20da0e957157a4b92cfa0eea1d66fef6b914102cb07a0e296d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 2): src/applications/diffusion/herald/DiffusionCommitRevisionAcceptedHeraldField.php:18-33 | src/applications/diffusion/herald/DiffusionPreCommitContentRevisionAcceptedHeraldField.php:18-33"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/herald/DiffusionCommitRevisionAcceptedHeraldField.php"},"region":{"startLine":18}}}],"partialFingerprints":{"codehealthFindingId/v1":"5d70339397580d6280ae9aae064457217d9eeb3fd8733668010d961203886c2c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 2): src/applications/diviner/query/DivinerAtomQuery.php:282-297 | src/applications/diviner/query/DivinerBookQuery.php:81-96"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diviner/query/DivinerAtomQuery.php"},"region":{"startLine":282}}}],"partialFingerprints":{"codehealthFindingId/v1":"87287477d697b0e0e48776dd0417849d5234e529d9f0197417f48422c3fce216"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 2): src/applications/diviner/workflow/DivinerAtomizeWorkflow.php:45-60 | src/applications/diviner/workflow/DivinerGenerateWorkflow.php:180-195"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diviner/workflow/DivinerAtomizeWorkflow.php"},"region":{"startLine":45}}}],"partialFingerprints":{"codehealthFindingId/v1":"a427173e5844ea39b1899d0f8580c9ee5481da0ad474ba04fe57acccf95d3471"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 2): src/applications/doorkeeper/bridge/DoorkeeperBridgeGitHubIssue.php:41-56 | src/applications/doorkeeper/bridge/DoorkeeperBridgeGitHubUser.php:45-60"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/doorkeeper/bridge/DoorkeeperBridgeGitHubIssue.php"},"region":{"startLine":41}}}],"partialFingerprints":{"codehealthFindingId/v1":"5fdd804f7a702b4fdb3192e8f099b8264d587c9cd24c0002d5a86392db03578e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 2): src/applications/drydock/controller/DrydockLeaseReleaseController.php:10-25 | src/applications/drydock/controller/DrydockResourceReleaseController.php:10-25"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/drydock/controller/DrydockLeaseReleaseController.php"},"region":{"startLine":10}}}],"partialFingerprints":{"codehealthFindingId/v1":"b2b2b4e4634abe9715c9f5fd272692b31eb282c03dfaa3031ae07dae2ab6f5b4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 2): src/applications/herald/controller/HeraldTestConsoleController.php:131-146 | src/applications/herald/management/HeraldTestManagementWorkflow.php:48-63"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/herald/controller/HeraldTestConsoleController.php"},"region":{"startLine":131}}}],"partialFingerprints":{"codehealthFindingId/v1":"723008be0351e71bbd44507290a6ca21640fe8129b85b073fd931556de86fbf3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 2): src/applications/herald/controller/HeraldWebhookKeyController.php:7-22 | src/applications/herald/controller/HeraldWebhookTestController.php:7-22"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/herald/controller/HeraldWebhookKeyController.php"},"region":{"startLine":7}}}],"partialFingerprints":{"codehealthFindingId/v1":"4aecf1f4ad8620cf4889b610a66fe412d1a44eaa70eb4b1629548b0aa337a162"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 2): src/applications/maniphest/controller/ManiphestTaskDetailController.php:95-110 | src/applications/maniphest/controller/ManiphestTaskGraphController.php:40-55"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/maniphest/controller/ManiphestTaskDetailController.php"},"region":{"startLine":95}}}],"partialFingerprints":{"codehealthFindingId/v1":"4f1790ebed113018ff9c1efbbc8aff8960469c1cf093ee072705f0dc5ecaf174"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 2): src/applications/metamta/management/PhabricatorMailManagementShowInboundWorkflow.php:34-49 | src/applications/metamta/management/PhabricatorMailManagementShowOutboundWorkflow.php:49-64"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/metamta/management/PhabricatorMailManagementShowInboundWorkflow.php"},"region":{"startLine":34}}}],"partialFingerprints":{"codehealthFindingId/v1":"0059e3e4fdf8493b3490c7a5169ee81ba596159ab68fc54be9b8bcd5ba0c3133"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 2): src/applications/oauthserver/controller/client/PhabricatorOAuthClientDisableController.php:7-22 | src/applications/oauthserver/controller/client/PhabricatorOAuthClientSecretController.php:7-22"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/oauthserver/controller/client/PhabricatorOAuthClientDisableController.php"},"region":{"startLine":7}}}],"partialFingerprints":{"codehealthFindingId/v1":"f5a0499aa08aca4b1a1fbd1c5d36e437b5d21bf9b92d0ffe457b702fdfcc7965"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 2): src/applications/paste/query/PhabricatorPasteQuery.php:240-255 | src/applications/paste/query/PhabricatorPasteQuery.php:301-316"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/paste/query/PhabricatorPasteQuery.php"},"region":{"startLine":240}}}],"partialFingerprints":{"codehealthFindingId/v1":"249f334ae96de8b36db8b3b4388122228504a274570f6dc3503d6b513a88e6ec"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (15 lines \u00D7 6): src/applications/auth/controller/config/PhabricatorAuthProviderViewController.php:68-82 | src/applications/auth/controller/contact/PhabricatorAuthContactNumberViewController.php:83-97 | src/applications/auth/controller/mfa/PhabricatorAuthFactorProviderViewController.php:98-112 | src/applications/fund/controller/FundInitiativeViewController.php:116-131 | src/applications/nuance/controller/NuanceItemViewController.php:54-68 | src/applications/nuance/controller/NuanceQueueViewController.php:55-69"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/controller/config/PhabricatorAuthProviderViewController.php"},"region":{"startLine":68}}}],"partialFingerprints":{"codehealthFindingId/v1":"0f18ce99032d323369cdb52491d6ce9d0d528cf64ac3c1a6bd22754147bcd4bd"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (15 lines \u00D7 4): src/applications/almanac/controller/AlmanacBindingViewController.php:119-133 | src/applications/auth/controller/PhabricatorAuthSSHKeyViewController.php:73-88 | src/applications/badges/controller/PhabricatorBadgesViewController.php:83-97 | src/applications/owners/controller/PhabricatorOwnersDetailController.php:241-255"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/almanac/controller/AlmanacBindingViewController.php"},"region":{"startLine":119}}}],"partialFingerprints":{"codehealthFindingId/v1":"0682d0ca834eaaec774492935cf160650d9ce38e9aab91f65f8946ed4a0826d3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (15 lines \u00D7 3): src/applications/calendar/controller/PhabricatorCalendarExportDisableController.php:46-60 | src/applications/diffusion/controller/DiffusionRepositoryURIDisableController.php:65-79 | src/applications/drydock/controller/DrydockBlueprintDisableController.php:49-63"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/controller/PhabricatorCalendarExportDisableController.php"},"region":{"startLine":46}}}],"partialFingerprints":{"codehealthFindingId/v1":"7dea22e92a41b66f7d851789a43e0fbe9ea52a6379efe5a2a592ddafbc7e3043"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (15 lines \u00D7 3): src/applications/calendar/controller/PhabricatorCalendarExportViewController.php:107-121 | src/applications/calendar/controller/PhabricatorCalendarImportViewController.php:121-135 | src/applications/fund/controller/FundInitiativeViewController.php:135-149"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/controller/PhabricatorCalendarExportViewController.php"},"region":{"startLine":107}}}],"partialFingerprints":{"codehealthFindingId/v1":"19de0204aefe38722da0ff1a188e46925447346918739c975a0d0a7066b2ab91"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (15 lines \u00D7 3): src/applications/config/controller/services/PhabricatorConfigCacheController.php:26-40 | src/applications/config/controller/services/PhabricatorConfigClusterNotificationsController.php:20-34 | src/applications/config/controller/services/PhabricatorConfigClusterSearchController.php:18-32"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/controller/services/PhabricatorConfigCacheController.php"},"region":{"startLine":26}}}],"partialFingerprints":{"codehealthFindingId/v1":"defdafa69914bf813c190cc7e93939f112740a3ff2188fafd634e0a06b34012c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (15 lines \u00D7 3): src/applications/packages/controller/PhabricatorPackagesPackageViewController.php:74-88 | src/applications/packages/controller/PhabricatorPackagesPublisherViewController.php:71-85 | src/applications/packages/controller/PhabricatorPackagesVersionViewController.php:72-86"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/packages/controller/PhabricatorPackagesPackageViewController.php"},"region":{"startLine":74}}}],"partialFingerprints":{"codehealthFindingId/v1":"d728c3d2079e1bcee41265f37cc4fce560eb182d29c708aa8db4f3fe6f07f827"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (15 lines \u00D7 2): src/applications/almanac/controller/AlmanacServiceEditController.php:91-105 | src/applications/calendar/controller/PhabricatorCalendarImportEditController.php:71-86"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/almanac/controller/AlmanacServiceEditController.php"},"region":{"startLine":91}}}],"partialFingerprints":{"codehealthFindingId/v1":"c21a4907d42e8522ddbbbe1808badb63db25831cb206f964e53c58e4b1c723da"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (15 lines \u00D7 2): src/applications/auth/provider/PhabricatorJIRAAuthProvider.php:214-228 | src/applications/auth/provider/PhabricatorPhabricatorAuthProvider.php:172-186"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/provider/PhabricatorJIRAAuthProvider.php"},"region":{"startLine":214}}}],"partialFingerprints":{"codehealthFindingId/v1":"c36e03cb23a69bd624f056d75b35a37040ddee7eefd02dee27d54bfdbf6e04c2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (15 lines \u00D7 2): src/applications/auth/xaction/PhabricatorAuthFactorProviderDuoCredentialTransaction.php:35-49 | src/applications/auth/xaction/PhabricatorAuthFactorProviderDuoHostnameTransaction.php:34-48"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/xaction/PhabricatorAuthFactorProviderDuoCredentialTransaction.php"},"region":{"startLine":35}}}],"partialFingerprints":{"codehealthFindingId/v1":"a843a121f2e8990167b76d429ec41c181be16cc051d1cc1e36e106b7b79cb3c4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (15 lines \u00D7 2): src/applications/calendar/controller/PhabricatorCalendarImportDeleteController.php:45-59 | src/applications/calendar/controller/PhabricatorCalendarImportReloadController.php:33-47"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/controller/PhabricatorCalendarImportDeleteController.php"},"region":{"startLine":45}}}],"partialFingerprints":{"codehealthFindingId/v1":"f2c26bf41d29ba084fdf2d0193372522661fe32c9b8e50676e7844b99a2ee58f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (15 lines \u00D7 2): src/applications/calendar/typeahead/PhabricatorCalendarInviteeDatasource.php:31-45 | src/applications/differential/typeahead/DifferentialResponsibleDatasource.php:32-46"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/typeahead/PhabricatorCalendarInviteeDatasource.php"},"region":{"startLine":31}}}],"partialFingerprints":{"codehealthFindingId/v1":"2209983a63e5a49477f8721cd476c2fbe8bd42a71ecfde8c5d3b304b9802d9e2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (15 lines \u00D7 2): src/applications/celerity/CeleritySpriteGenerator.php:7-21 | src/applications/celerity/CeleritySpriteGenerator.php:39-53"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/celerity/CeleritySpriteGenerator.php"},"region":{"startLine":7}}}],"partialFingerprints":{"codehealthFindingId/v1":"bbac6133f7e73d3ba734f21a91a86ffaa1f50652eaa606cd5efe1321d36a414f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (15 lines \u00D7 2): src/applications/config/check/PhabricatorMySQLSetupCheck.php:87-101 | src/applications/config/check/PhabricatorMySQLSetupCheck.php:124-138"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/check/PhabricatorMySQLSetupCheck.php"},"region":{"startLine":87}}}],"partialFingerprints":{"codehealthFindingId/v1":"fc4a3961557d18a2bc37699f2a46a380b0d18c668f811bc48bf702bda89e07a4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (15 lines \u00D7 2): src/applications/conpherence/controller/ConpherenceRoomPictureController.php:213-228 | src/applications/harbormaster/controller/HarbormasterStepAddController.php:90-104"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/conpherence/controller/ConpherenceRoomPictureController.php"},"region":{"startLine":213}}}],"partialFingerprints":{"codehealthFindingId/v1":"3c3db985dce506a1e586a96ac9632f831fe1e2622cc663e951ce81af01ce2e67"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (15 lines \u00D7 2): src/applications/dashboard/controller/PhabricatorDashboardConsoleController.php:27-41 | src/applications/drydock/controller/DrydockConsoleController.php:30-44"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/dashboard/controller/PhabricatorDashboardConsoleController.php"},"region":{"startLine":27}}}],"partialFingerprints":{"codehealthFindingId/v1":"e531b45e2dfb2632151e78249a4ceb26ded7bb187df34f2d885ade1e0feca652"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (15 lines \u00D7 2): src/applications/dashboard/controller/dashboard/PhabricatorDashboardViewController.php:69-83 | src/applications/dashboard/controller/panel/PhabricatorDashboardPanelViewController.php:92-106"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/dashboard/controller/dashboard/PhabricatorDashboardViewController.php"},"region":{"startLine":69}}}],"partialFingerprints":{"codehealthFindingId/v1":"4222913d1601d4f28f1af7413cd4bfdb5a93bce655e5848044fccf95f0d2e51a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (15 lines \u00D7 2): src/applications/dashboard/query/PhabricatorDashboardSearchEngine.php:157-171 | src/applications/harbormaster/query/HarbormasterBuildPlanSearchEngine.php:118-132"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/dashboard/query/PhabricatorDashboardSearchEngine.php"},"region":{"startLine":157}}}],"partialFingerprints":{"codehealthFindingId/v1":"c716af279f9b81225c648c8f664a083612f6f1d4ac9f46fabdb22e5351060bf6"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (15 lines \u00D7 2): src/applications/differential/customfield/DifferentialCustomField.php:49-63 | src/applications/differential/field/DifferentialCommitMessageField.php:135-149"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/customfield/DifferentialCustomField.php"},"region":{"startLine":49}}}],"partialFingerprints":{"codehealthFindingId/v1":"a09dd8943991749c7047d1df60dd530a4b70e6cc96266f0643f959cbefbc9e0d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (15 lines \u00D7 2): src/applications/differential/query/DifferentialRevisionSearchEngine.php:359-373 | src/applications/maniphest/query/ManiphestTaskSearchEngine.php:527-541"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/query/DifferentialRevisionSearchEngine.php"},"region":{"startLine":359}}}],"partialFingerprints":{"codehealthFindingId/v1":"cbcecdf38e5327ce650d34f2c04a5e0c68e7cb6bb8d3fa7943eb5a34dc82a648"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (15 lines \u00D7 2): src/applications/differential/render/DifferentialChangesetHTMLRenderer.php:39-53 | src/applications/differential/render/DifferentialChangesetHTMLRenderer.php:62-76"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/render/DifferentialChangesetHTMLRenderer.php"},"region":{"startLine":39}}}],"partialFingerprints":{"codehealthFindingId/v1":"87d4e8ba19d0ddaee19bf5bcde7996889f0cc6fb9e9211b184811ed7b3326a66"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (15 lines \u00D7 2): src/applications/differential/xaction/DifferentialRevisionBuildableTransaction.php:64-78 | src/applications/diffusion/xaction/DiffusionCommitBuildableTransaction.php:60-74"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/xaction/DifferentialRevisionBuildableTransaction.php"},"region":{"startLine":64}}}],"partialFingerprints":{"codehealthFindingId/v1":"446b9ef7e5eb3b7eff92e0c9c92b0eb8ea667d5ceea79da397dfa62b44716566"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (15 lines \u00D7 2): src/applications/diffusion/controller/DiffusionDocumentController.php:26-40 | src/applications/files/controller/PhabricatorFileDocumentController.php:17-31"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/controller/DiffusionDocumentController.php"},"region":{"startLine":26}}}],"partialFingerprints":{"codehealthFindingId/v1":"05cdd3b76273abb19c934a8f30d715e50cf60d4253211125c1efe20ed6effa2e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (15 lines \u00D7 2): src/applications/diffusion/controller/DiffusionRepositoryProfilePictureController.php:230-245 | src/applications/meta/controller/PhabricatorApplicationEditController.php:149-163"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/controller/DiffusionRepositoryProfilePictureController.php"},"region":{"startLine":230}}}],"partialFingerprints":{"codehealthFindingId/v1":"a97f851462fd414025d28dffb513979057d32ba21210971ed18bb63821e7023d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (15 lines \u00D7 2): src/applications/diffusion/herald/DiffusionCommitWrongBuildsHeraldField.php:26-40 | src/applications/diffusion/herald/DiffusionPreCommitContentWrongBuildsHeraldField.php:26-40"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/herald/DiffusionCommitWrongBuildsHeraldField.php"},"region":{"startLine":26}}}],"partialFingerprints":{"codehealthFindingId/v1":"19ed664cfd0e4361ccc516cbb575da1cbf018a0c8a534da57f891bc0707f0178"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (15 lines \u00D7 2): src/applications/drydock/query/DrydockBlueprintSearchEngine.php:124-138 | src/applications/fund/query/FundInitiativeSearchEngine.php:137-151"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/drydock/query/DrydockBlueprintSearchEngine.php"},"region":{"startLine":124}}}],"partialFingerprints":{"codehealthFindingId/v1":"d8e3132766933b1b7892f44591c3a31b8c5f973176ed26b76026e28560470811"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (15 lines \u00D7 2): src/applications/drydock/worker/DrydockRepositoryOperationUpdateWorker.php:115-129 | src/applications/harbormaster/step/HarbormasterLeaseWorkingCopyBuildStepImplementation.php:52-69"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/drydock/worker/DrydockRepositoryOperationUpdateWorker.php"},"region":{"startLine":115}}}],"partialFingerprints":{"codehealthFindingId/v1":"92a2b06d87262a50a24d258669601f9a5f311a5644f98ea29f444f5b38c5bd8f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (15 lines \u00D7 2): src/applications/files/builtin/PhabricatorFilesComposeIconBuiltinFile.php:99-113 | src/applications/files/builtin/PhabricatorFilesComposeIconBuiltinFile.php:115-129"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/files/builtin/PhabricatorFilesComposeIconBuiltinFile.php"},"region":{"startLine":99}}}],"partialFingerprints":{"codehealthFindingId/v1":"46c260426796abd8195b0f87f54506edec217994198d9311b9ca0003d71b59e5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (15 lines \u00D7 2): src/applications/files/diff/PhabricatorDocumentEngineBlocks.php:102-116 | src/applications/files/diff/PhabricatorDocumentEngineBlocks.php:117-132"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/files/diff/PhabricatorDocumentEngineBlocks.php"},"region":{"startLine":102}}}],"partialFingerprints":{"codehealthFindingId/v1":"8d08d7ba6efdd2e4538521dec57f4b5f34adcb3ee11733c5559914a51bdc0439"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (15 lines \u00D7 2): src/applications/harbormaster/controller/HarbormasterBuildLogRenderController.php:512-528 | src/applications/harbormaster/controller/HarbormasterBuildLogRenderController.php:563-577"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/harbormaster/controller/HarbormasterBuildLogRenderController.php"},"region":{"startLine":512}}}],"partialFingerprints":{"codehealthFindingId/v1":"525efdbc27723e7630377c7be64c5d1fa2eb1f93599fcf7452ac0c3f7db18ea2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (15 lines \u00D7 2): src/applications/harbormaster/controller/HarbormasterPlanViewController.php:520-534 | src/applications/owners/controller/PhabricatorOwnersDetailController.php:386-400"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/harbormaster/controller/HarbormasterPlanViewController.php"},"region":{"startLine":520}}}],"partialFingerprints":{"codehealthFindingId/v1":"9e099de4f308eb5403080656b830c7955eb88c02edc885a174aaeed25c1a4525"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (15 lines \u00D7 2): src/applications/metamta/adapter/PhabricatorMailMailgunAdapter.php:43-57 | src/applications/metamta/adapter/PhabricatorMailPostmarkAdapter.php:48-62"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/metamta/adapter/PhabricatorMailMailgunAdapter.php"},"region":{"startLine":43}}}],"partialFingerprints":{"codehealthFindingId/v1":"825eca12f728b224922f962dbb3d772a7ab5202e87367751c7079db7e96adf29"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 5): src/applications/diffusion/controller/DiffusionRepositoryEditActivateController.php:7-20 | src/applications/diffusion/controller/DiffusionRepositoryEditDangerousController.php:7-20 | src/applications/diffusion/controller/DiffusionRepositoryEditEnormousController.php:7-20 | src/applications/diffusion/controller/DiffusionRepositoryEditPublishingController.php:7-20 | src/applications/diffusion/controller/DiffusionRepositoryEditUpdateController.php:7-20"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/controller/DiffusionRepositoryEditActivateController.php"},"region":{"startLine":7}}}],"partialFingerprints":{"codehealthFindingId/v1":"e91c8c28b89176995858ebadfc43e623b4cd61e3090279a81a9b2551a8ffc306"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 4): src/applications/differential/render/DifferentialChangesetHTMLRenderer.php:87-100 | src/applications/differential/render/DifferentialChangesetHTMLRenderer.php:111-124 | src/applications/differential/render/DifferentialChangesetHTMLRenderer.php:138-151 | src/applications/differential/render/DifferentialChangesetHTMLRenderer.php:165-178"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/render/DifferentialChangesetHTMLRenderer.php"},"region":{"startLine":87}}}],"partialFingerprints":{"codehealthFindingId/v1":"b0e70c50989a733759cea9ffbeeb93b7f86091db2d9f021d1b2fdc8e7a0fcdce"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 4): src/applications/differential/xaction/DifferentialRevisionReviewersTransaction.php:196-209 | src/applications/differential/xaction/DifferentialRevisionReviewersTransaction.php:211-224 | src/applications/differential/xaction/DifferentialRevisionReviewersTransaction.php:275-288 | src/applications/differential/xaction/DifferentialRevisionReviewersTransaction.php:290-303"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/xaction/DifferentialRevisionReviewersTransaction.php"},"region":{"startLine":196}}}],"partialFingerprints":{"codehealthFindingId/v1":"257f1d8e3cdb2b7f9f3ed10913353d9a7de9320001ab248eba737098465019b5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 3): src/applications/almanac/typeahead/AlmanacServiceDatasource.php:36-49 | src/applications/harbormaster/controller/HarbormasterBuildViewController.php:641-654 | src/applications/metamta/typeahead/PhabricatorMetaMTAApplicationEmailDatasource.php:31-44"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/almanac/typeahead/AlmanacServiceDatasource.php"},"region":{"startLine":36}}}],"partialFingerprints":{"codehealthFindingId/v1":"df56d654e9f4f83a58f30e1926d7ad1cf567b248452b45603ce4966d21d76ae1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 3): src/applications/chatlog/query/PhabricatorChatLogChannelQuery.php:20-33 | src/applications/chatlog/query/PhabricatorChatLogQuery.php:20-33 | src/applications/legalpad/query/LegalpadDocumentSignatureQuery.php:50-63"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/chatlog/query/PhabricatorChatLogChannelQuery.php"},"region":{"startLine":20}}}],"partialFingerprints":{"codehealthFindingId/v1":"b76370c855ced165a0a4fd54a8471f0b486b10f8a31b0142f2e353e7012e2c04"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 3): src/applications/dashboard/controller/dashboard/PhabricatorDashboardArchiveController.php:46-59 | src/applications/owners/controller/PhabricatorOwnersArchiveController.php:46-59 | src/applications/paste/controller/PhabricatorPasteArchiveController.php:45-58"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/dashboard/controller/dashboard/PhabricatorDashboardArchiveController.php"},"region":{"startLine":46}}}],"partialFingerprints":{"codehealthFindingId/v1":"fb410fb0b840a8e314b6e599dda6069e72cd931ee472efbe026399bf4ed54543"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 3): src/applications/differential/typeahead/DifferentialBlockingReviewerDatasource.php:79-92 | src/applications/differential/typeahead/DifferentialExactUserFunctionDatasource.php:67-80 | src/applications/owners/typeahead/PhabricatorOwnersPackageOwnerDatasource.php:91-104"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/typeahead/DifferentialBlockingReviewerDatasource.php"},"region":{"startLine":79}}}],"partialFingerprints":{"codehealthFindingId/v1":"8c9367a7f38d1bdaec11ffc18357bc82f45d1b391a41736e849262a50ddd2408"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 3): src/applications/diffusion/herald/DiffusionCommitAuthorPackagesHeraldField.php:13-26 | src/applications/diffusion/herald/DiffusionCommitCommitterPackagesHeraldField.php:13-26 | src/applications/diffusion/herald/DiffusionPreCommitContentAuthorPackagesHeraldField.php:13-26"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/herald/DiffusionCommitAuthorPackagesHeraldField.php"},"region":{"startLine":13}}}],"partialFingerprints":{"codehealthFindingId/v1":"b780921f8dd61d1058b17bbc49eedadb3aacb1e48d5b35a8810b65a83d6c8b2d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 3): src/applications/drydock/controller/DrydockLogController.php:98-111 | src/applications/drydock/controller/DrydockLogController.php:112-125 | src/applications/drydock/controller/DrydockLogController.php:126-139"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/drydock/controller/DrydockLogController.php"},"region":{"startLine":98}}}],"partialFingerprints":{"codehealthFindingId/v1":"ddf1f6194e32200b0e10217a23032b161b56bfc01cd187faf46ed9293576eabe"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 3): src/applications/harbormaster/controller/HarbormasterPlanViewController.php:477-490 | src/applications/harbormaster/controller/HarbormasterPlanViewController.php:524-537 | src/applications/owners/controller/PhabricatorOwnersDetailController.php:390-403"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/harbormaster/controller/HarbormasterPlanViewController.php"},"region":{"startLine":477}}}],"partialFingerprints":{"codehealthFindingId/v1":"0d2f000b0e33b11b3d23bc2e294b8c2e95b07ccb980bd7e5a311bba2f02e65e5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 2): src/applications/almanac/controller/AlmanacDeviceViewController.php:21-34 | src/applications/almanac/controller/AlmanacNamespaceViewController.php:19-32"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/almanac/controller/AlmanacDeviceViewController.php"},"region":{"startLine":21}}}],"partialFingerprints":{"codehealthFindingId/v1":"e82795346d89079657586ffd04833760c270499ec95bc9a6a08e335277bf866c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 2): src/applications/almanac/management/AlmanacManagementTrustKeyWorkflow.php:25-38 | src/applications/almanac/management/AlmanacManagementUntrustKeyWorkflow.php:25-38"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/almanac/management/AlmanacManagementTrustKeyWorkflow.php"},"region":{"startLine":25}}}],"partialFingerprints":{"codehealthFindingId/v1":"230ab0f1349c5506c9ffac9193f321a1c2513cf64fcbe79243aee99be9644ba4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 2): src/applications/audit/management/PhabricatorAuditManagementDeleteWorkflow.php:275-288 | src/applications/audit/management/PhabricatorAuditManagementDeleteWorkflow.php:315-328"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/audit/management/PhabricatorAuditManagementDeleteWorkflow.php"},"region":{"startLine":275}}}],"partialFingerprints":{"codehealthFindingId/v1":"98ed86217d12a1bee5deadb6374530ca561ff6c25effa54523bd27407a92b6e2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 2): src/applications/auth/conduit/PhabricatorAuthQueryPublicKeysConduitAPIMethod.php:32-45 | src/applications/harbormaster/conduit/HarbormasterQueryBuildablesConduitAPIMethod.php:32-45"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/conduit/PhabricatorAuthQueryPublicKeysConduitAPIMethod.php"},"region":{"startLine":32}}}],"partialFingerprints":{"codehealthFindingId/v1":"aae505bd22d9e474799558d082b590ec4ad71683fe145feb7592b608ce218749"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 2): src/applications/auth/controller/PhabricatorAuthSetPasswordController.php:105-118 | src/applications/herald/controller/HeraldDisableController.php:43-56"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/controller/PhabricatorAuthSetPasswordController.php"},"region":{"startLine":105}}}],"partialFingerprints":{"codehealthFindingId/v1":"0d46320a6da34cc294c8e49ecf93a6327b6f0e0c5e0d8e31d1c785c7800b74fa"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 2): src/applications/auth/editor/PhabricatorAuthSSHKeyEditor.php:133-146 | src/applications/oauthserver/editor/PhabricatorOAuthServerEditor.php:116-129"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/editor/PhabricatorAuthSSHKeyEditor.php"},"region":{"startLine":133}}}],"partialFingerprints":{"codehealthFindingId/v1":"d027d928d756900932ebe0ad854aeef79724cf7f7c70b75cedee61328ee061a3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 2): src/applications/auth/management/PhabricatorAuthManagementUnlimitWorkflow.php:33-47 | src/applications/metamta/management/PhabricatorMailManagementReceiveTestWorkflow.php:75-88"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/management/PhabricatorAuthManagementUnlimitWorkflow.php"},"region":{"startLine":33}}}],"partialFingerprints":{"codehealthFindingId/v1":"02ae221ce829aa3cf8e0e6f427a3243f30a51f177f1edf9bc656bdd28c6a3426"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 2): src/applications/auth/query/PhabricatorAuthInviteQuery.php:38-53 | src/applications/diffusion/query/DiffusionSymbolQuery.php:151-164"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/query/PhabricatorAuthInviteQuery.php"},"region":{"startLine":38}}}],"partialFingerprints":{"codehealthFindingId/v1":"7c0baaec030dca94debdd09c25663a9806b94bf905955755d104c454860d92cc"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 2): src/applications/auth/xaction/PhabricatorAuthFactorProviderNameTransaction.php:20-33 | src/applications/calendar/xaction/PhabricatorCalendarImportNameTransaction.php:20-33"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/xaction/PhabricatorAuthFactorProviderNameTransaction.php"},"region":{"startLine":20}}}],"partialFingerprints":{"codehealthFindingId/v1":"63ec5d0dfe8c7e5c1a45c86eb367c8ffccffe5210da3ea0a4b883febdade5216"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 2): src/applications/calendar/controller/PhabricatorCalendarEventViewController.php:104-117 | src/applications/calendar/controller/PhabricatorCalendarExportViewController.php:56-69"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/controller/PhabricatorCalendarEventViewController.php"},"region":{"startLine":104}}}],"partialFingerprints":{"codehealthFindingId/v1":"550783fd9168a9d883d38627bf22619a84e5b7b0fa0507077ffa8882d13cf0aa"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 2): src/applications/calendar/controller/PhabricatorCalendarExportViewController.php:13-26 | src/applications/calendar/controller/PhabricatorCalendarImportViewController.php:13-26"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/controller/PhabricatorCalendarExportViewController.php"},"region":{"startLine":13}}}],"partialFingerprints":{"codehealthFindingId/v1":"c931c0a421022ee331e69428ef8df11df4faa4772edbcdbd170b43ce74fa2fd1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 2): src/applications/calendar/controller/PhabricatorCalendarExportViewController.php:53-66 | src/applications/calendar/controller/PhabricatorCalendarImportViewController.php:61-74"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/controller/PhabricatorCalendarExportViewController.php"},"region":{"startLine":53}}}],"partialFingerprints":{"codehealthFindingId/v1":"d8e968d9b211c939fbac6cb7f881d4fb58a997ec028a1e1b48ad0000c1cb6e6a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 2): src/applications/calendar/xaction/PhabricatorCalendarEventInviteTransaction.php:127-140 | src/applications/maniphest/xaction/ManiphestTaskAttachTransaction.php:32-45"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/xaction/PhabricatorCalendarEventInviteTransaction.php"},"region":{"startLine":127}}}],"partialFingerprints":{"codehealthFindingId/v1":"14875d6d426a728cb6fa69e89a9c3955c27aa000ef67f11f1d98b2a57a1fc049"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 2): src/applications/config/controller/services/PhabricatorConfigClusterDatabasesController.php:20-33 | src/applications/config/controller/settings/PhabricatorConfigSettingsHistoryController.php:30-43"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/controller/services/PhabricatorConfigClusterDatabasesController.php"},"region":{"startLine":20}}}],"partialFingerprints":{"codehealthFindingId/v1":"542309c933d63abfa3dc5400812edece8d65efb4112d808f6c45cc5a01126765"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 2): src/applications/conpherence/__tests__/ConpherenceRoomTestCase.php:22-37 | src/applications/conpherence/__tests__/ConpherenceRoomTestCase.php:41-54"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/conpherence/__tests__/ConpherenceRoomTestCase.php"},"region":{"startLine":22}}}],"partialFingerprints":{"codehealthFindingId/v1":"2d15efa918ac33be69e5a26e795606dfa6c215f7fb5507b4d10eaf218ccacece"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 2): src/applications/dashboard/controller/PhabricatorDashboardConsoleController.php:52-65 | src/applications/drydock/controller/DrydockConsoleController.php:69-82"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/dashboard/controller/PhabricatorDashboardConsoleController.php"},"region":{"startLine":52}}}],"partialFingerprints":{"codehealthFindingId/v1":"65939030d97d6ee1cd14090ce39b622005405538cefca2066a4efd40e18e0b8c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 2): src/applications/diffusion/conduit/DiffusionGetLintMessagesConduitAPIMethod.php:32-45 | src/applications/diffusion/conduit/DiffusionUpdateCoverageConduitAPIMethod.php:38-51"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/conduit/DiffusionGetLintMessagesConduitAPIMethod.php"},"region":{"startLine":32}}}],"partialFingerprints":{"codehealthFindingId/v1":"0172a253c3413b8993e15ea174fa05b2759924eddf05cf39ec434cea097d838d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 2): src/applications/diffusion/controller/DiffusionChangeController.php:18-33 | src/applications/diffusion/controller/DiffusionDiffController.php:46-59"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/controller/DiffusionChangeController.php"},"region":{"startLine":18}}}],"partialFingerprints":{"codehealthFindingId/v1":"b9adecbabe706a1cc862bcde7fbc73afe949127317418af5182e2dd28ece7724"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 2): src/applications/diffusion/herald/DiffusionCommitAuthorProjectsHeraldField.php:13-26 | src/applications/diffusion/herald/DiffusionPreCommitContentAuthorProjectsHeraldField.php:13-26"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/herald/DiffusionCommitAuthorProjectsHeraldField.php"},"region":{"startLine":13}}}],"partialFingerprints":{"codehealthFindingId/v1":"386471cba38df5b3fee1eae69470f370e042000ac1bd268980e6ab19fa212f3b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 2): src/applications/diffusion/herald/DiffusionCommitCommitterProjectsHeraldField.php:13-26 | src/applications/diffusion/herald/DiffusionPreCommitContentCommitterProjectsHeraldField.php:13-26"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/herald/DiffusionCommitCommitterProjectsHeraldField.php"},"region":{"startLine":13}}}],"partialFingerprints":{"codehealthFindingId/v1":"e72c41c6a316df1613ccd011311143a87a1a1650e56111fdbe2bddcdc5df4b1a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 2): src/applications/diffusion/herald/DiffusionCommitRevisionAcceptingReviewersHeraldField.php:17-30 | src/applications/diffusion/herald/DiffusionPreCommitContentRevisionAcceptingReviewersHeraldField.php:17-30"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/herald/DiffusionCommitRevisionAcceptingReviewersHeraldField.php"},"region":{"startLine":17}}}],"partialFingerprints":{"codehealthFindingId/v1":"c7bbed3bbbd0a8103e62895744b76a50d0504709f85037fad1c6ba497989a743"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 2): src/applications/diffusion/management/DiffusionRepositoryBasicsManagementPanel.php:103-116 | src/applications/diffusion/management/DiffusionRepositoryBasicsManagementPanel.php:123-136"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/management/DiffusionRepositoryBasicsManagementPanel.php"},"region":{"startLine":103}}}],"partialFingerprints":{"codehealthFindingId/v1":"f58e6b0d7e6e2a750f68c6acfaf070076762a864caf258026ed22d2e973a0695"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 2): src/applications/diffusion/management/DiffusionRepositoryBasicsManagementPanel.php:768-781 | src/applications/diffusion/management/DiffusionRepositoryBasicsManagementPanel.php:801-814"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/management/DiffusionRepositoryBasicsManagementPanel.php"},"region":{"startLine":768}}}],"partialFingerprints":{"codehealthFindingId/v1":"94fea6df570a8e088fd8aa3821e027c726e2170bbc8cb8f517168d94e94f1407"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 2): src/applications/drydock/controller/DrydockAuthorizationListController.php:65-79 | src/applications/drydock/controller/DrydockResourceController.php:36-49"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/drydock/controller/DrydockAuthorizationListController.php"},"region":{"startLine":65}}}],"partialFingerprints":{"codehealthFindingId/v1":"3bb7cb65aa25f82028258c449e06de741c7db57b41b2edc88734653a386c48e9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 2): src/applications/drydock/controller/DrydockBlueprintDisableController.php:36-49 | src/applications/oauthserver/controller/client/PhabricatorOAuthClientDisableController.php:33-46"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/drydock/controller/DrydockBlueprintDisableController.php"},"region":{"startLine":36}}}],"partialFingerprints":{"codehealthFindingId/v1":"85fb8c2050ae4ba4c9bf87ec282f6cb7e9a36b8e98d95d675fd5ac05e34c8eff"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 2): src/applications/drydock/controller/DrydockLeaseController.php:39-52 | src/applications/drydock/controller/DrydockLogController.php:104-117"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/drydock/controller/DrydockLeaseController.php"},"region":{"startLine":39}}}],"partialFingerprints":{"codehealthFindingId/v1":"b30ed7bc2581d44e21f0eccbe73a175ee61e59bd368941eb509a351aad1eedf3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 2): src/applications/drydock/controller/DrydockLeaseViewController.php:27-40 | src/applications/drydock/controller/DrydockResourceViewController.php:29-42"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/drydock/controller/DrydockLeaseViewController.php"},"region":{"startLine":27}}}],"partialFingerprints":{"codehealthFindingId/v1":"cf98a6eabfdba8e38eb1e06a19229fb438dc4b265e48f1a2849ce55af80e3a1c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 2): src/applications/drydock/worker/DrydockRepositoryOperationUpdateWorker.php:95-108 | src/applications/harbormaster/step/HarbormasterLeaseWorkingCopyBuildStepImplementation.php:27-41"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/drydock/worker/DrydockRepositoryOperationUpdateWorker.php"},"region":{"startLine":95}}}],"partialFingerprints":{"codehealthFindingId/v1":"0584f045ee95b234f9c63b5b2b0ca60830f38facb0f4368cf5dfc51b6fe24a63"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 2): src/applications/harbormaster/controller/HarbormasterLintMessagesController.php:19-32 | src/applications/harbormaster/controller/HarbormasterUnitMessageListController.php:19-32"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/harbormaster/controller/HarbormasterLintMessagesController.php"},"region":{"startLine":19}}}],"partialFingerprints":{"codehealthFindingId/v1":"88de2601c39eff868558b6da70a3e801150dfaf40f123397adbe06ca21b3bb86"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 2): src/applications/harbormaster/controller/HarbormasterPlanViewController.php:235-248 | src/applications/harbormaster/controller/HarbormasterStepViewController.php:118-131"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/harbormaster/controller/HarbormasterPlanViewController.php"},"region":{"startLine":235}}}],"partialFingerprints":{"codehealthFindingId/v1":"df2496be508d787b9aeb5d801b8e2da26c8a2c54022d930746c2a9ffc5324eff"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 2): src/applications/harbormaster/step/HarbormasterBuildkiteBuildStepImplementation.php:136-149 | src/applications/harbormaster/step/HarbormasterCircleCIBuildStepImplementation.php:135-151"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/harbormaster/step/HarbormasterBuildkiteBuildStepImplementation.php"},"region":{"startLine":136}}}],"partialFingerprints":{"codehealthFindingId/v1":"b568a28944243af2d6a40d3eca4a7016a6999dbdc572f17ff1eb0255333d46da"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 2): src/applications/meta/controller/PhabricatorApplicationEditController.php:58-71 | src/applications/meta/controller/PhabricatorApplicationUninstallController.php:54-67"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/meta/controller/PhabricatorApplicationEditController.php"},"region":{"startLine":58}}}],"partialFingerprints":{"codehealthFindingId/v1":"9189d18263143676d3273bfa24a39814012c56fcd1ddfe5575f99f6fb9edfb09"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 2): src/applications/metamta/management/PhabricatorMailManagementResendWorkflow.php:32-45 | src/applications/metamta/management/PhabricatorMailManagementShowOutboundWorkflow.php:47-60"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/metamta/management/PhabricatorMailManagementResendWorkflow.php"},"region":{"startLine":32}}}],"partialFingerprints":{"codehealthFindingId/v1":"75bf16280cbfef8142fd7736f952efd46d961b0c881a69b1da49a00f1b395501"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 2): src/applications/packages/controller/PhabricatorPackagesPackageViewController.php:105-118 | src/applications/packages/controller/PhabricatorPackagesPublisherViewController.php:102-115"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/packages/controller/PhabricatorPackagesPackageViewController.php"},"region":{"startLine":105}}}],"partialFingerprints":{"codehealthFindingId/v1":"2136ca5e7f3d1adae9356814b67a429ba158aeb117d8ae5901f7081937c504c0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 4): src/applications/auth/controller/contact/PhabricatorAuthContactNumberViewController.php:89-101 | src/applications/auth/controller/mfa/PhabricatorAuthFactorProviderViewController.php:104-116 | src/applications/nuance/controller/NuanceQueueViewController.php:61-73 | src/applications/nuance/controller/NuanceSourceViewController.php:74-86"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/controller/contact/PhabricatorAuthContactNumberViewController.php"},"region":{"startLine":89}}}],"partialFingerprints":{"codehealthFindingId/v1":"d3776334c2cfebe5f39a46a48e36987ee69b2c928c9f54ae22faae96ca71053c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 4): src/applications/calendar/controller/PhabricatorCalendarEventJoinController.php:66-78 | src/applications/dashboard/controller/dashboard/PhabricatorDashboardArchiveController.php:49-61 | src/applications/owners/controller/PhabricatorOwnersArchiveController.php:49-61 | src/applications/paste/controller/PhabricatorPasteArchiveController.php:48-60"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/controller/PhabricatorCalendarEventJoinController.php"},"region":{"startLine":66}}}],"partialFingerprints":{"codehealthFindingId/v1":"84f9824f2d67dee025d0c995a5739df2866dcab449d658e8f60014711f6bc054"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 4): src/applications/drydock/query/DrydockLogQuery.php:43-55 | src/applications/drydock/query/DrydockLogQuery.php:64-76 | src/applications/drydock/query/DrydockLogQuery.php:85-97 | src/applications/drydock/query/DrydockLogQuery.php:106-118"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/drydock/query/DrydockLogQuery.php"},"region":{"startLine":43}}}],"partialFingerprints":{"codehealthFindingId/v1":"487efd0ce8ccec9563ec259ca8df8b5df1d8d8a72f446d300b1b5412484b4ec5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 3): src/applications/differential/typeahead/DifferentialBlockingReviewerDatasource.php:113-125 | src/applications/differential/typeahead/DifferentialExactUserFunctionDatasource.php:100-112 | src/applications/owners/typeahead/PhabricatorOwnersPackageOwnerDatasource.php:134-146"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/typeahead/DifferentialBlockingReviewerDatasource.php"},"region":{"startLine":113}}}],"partialFingerprints":{"codehealthFindingId/v1":"13f5bd11cd62cac09f854b3d3cc79e1e5e05fdd8132fff969ee0ea17f4355712"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 3): src/applications/drydock/controller/DrydockBlueprintViewController.php:162-174 | src/applications/drydock/controller/DrydockBlueprintViewController.php:228-240 | src/applications/drydock/controller/DrydockResourceViewController.php:185-197"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/drydock/controller/DrydockBlueprintViewController.php"},"region":{"startLine":162}}}],"partialFingerprints":{"codehealthFindingId/v1":"0f3bb68b6a9808dce3967e30ce2a1c20d45987c6a11a9ab35e76c0d5f239b6fd"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 3): src/applications/drydock/typeahead/DrydockBlueprintDatasource.php:22-34 | src/applications/drydock/typeahead/DrydockLeaseDatasource.php:18-30 | src/applications/drydock/typeahead/DrydockResourceDatasource.php:18-30"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/drydock/typeahead/DrydockBlueprintDatasource.php"},"region":{"startLine":22}}}],"partialFingerprints":{"codehealthFindingId/v1":"b9054c848ae52c6fafdd857a182dc5798ce9308e2df96f18f46b8fd67f0c5247"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 3): src/applications/fund/xaction/FundInitiativeNameTransaction.php:32-44 | src/applications/legalpad/xaction/LegalpadDocumentTitleTransaction.php:36-49 | src/applications/passphrase/xaction/PassphraseCredentialNameTransaction.php:32-44"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/fund/xaction/FundInitiativeNameTransaction.php"},"region":{"startLine":32}}}],"partialFingerprints":{"codehealthFindingId/v1":"f23c764f2be57c359612069002f0bed113bd8fb06f5643a3fecfab1c8cb59149"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 3): src/applications/herald/xaction/HeraldWebhookNameTransaction.php:37-49 | src/applications/herald/xaction/HeraldWebhookURITransaction.php:37-49 | src/applications/macro/xaction/PhabricatorMacroNameTransaction.php:37-49"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/herald/xaction/HeraldWebhookNameTransaction.php"},"region":{"startLine":37}}}],"partialFingerprints":{"codehealthFindingId/v1":"599ff28e5d74c60c8834530c09d8b614645354e64fa43fd29c545678fc8521df"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 3): src/applications/owners/xaction/PhabricatorOwnersPackageAuthorityTransaction.php:40-52 | src/applications/owners/xaction/PhabricatorOwnersPackageAutoreviewTransaction.php:40-52 | src/applications/owners/xaction/PhabricatorOwnersPackageDominionTransaction.php:40-52"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/owners/xaction/PhabricatorOwnersPackageAuthorityTransaction.php"},"region":{"startLine":40}}}],"partialFingerprints":{"codehealthFindingId/v1":"b890a266d3a1601e4b83ebe7f541ab7b2d8971db987e7f8c4f6c261690e0d12b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 2): src/applications/almanac/controller/AlmanacNamespaceViewController.php:14-26 | src/applications/almanac/controller/AlmanacNetworkViewController.php:14-26"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/almanac/controller/AlmanacNamespaceViewController.php"},"region":{"startLine":14}}}],"partialFingerprints":{"codehealthFindingId/v1":"42538acc566c6a1af9f821cd306395dc76c26da75326dab1e36e3a6696613f41"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 2): src/applications/almanac/query/AlmanacNamespaceSearchEngine.php:76-88 | src/applications/almanac/query/AlmanacNetworkSearchEngine.php:76-88"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/almanac/query/AlmanacNamespaceSearchEngine.php"},"region":{"startLine":76}}}],"partialFingerprints":{"codehealthFindingId/v1":"6247f35ee443e5e6843c78a488fd6bbecf22e02fc639c92c3d748852150dba81"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 2): src/applications/aphlict/management/PhabricatorAphlictManagementNotifyWorkflow.php:57-69 | src/applications/notification/controller/PhabricatorNotificationTestController.php:18-30"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/aphlict/management/PhabricatorAphlictManagementNotifyWorkflow.php"},"region":{"startLine":57}}}],"partialFingerprints":{"codehealthFindingId/v1":"c9b8452666be1299d0cf98f9948d1a4e3385c28578e271cce8f55bf1fc4f8dbc"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 2): src/applications/auth/controller/PhabricatorAuthSetPasswordController.php:79-91 | src/applications/diffusion/panel/DiffusionSetPasswordSettingsPanel.php:93-105"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/controller/PhabricatorAuthSetPasswordController.php"},"region":{"startLine":79}}}],"partialFingerprints":{"codehealthFindingId/v1":"c6c41eb61de32ce42e50750e096d8e50ad820853d46190a1daef38c12c8de089"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 2): src/applications/auth/provider/PhabricatorLDAPAuthProvider.php:113-125 | src/applications/auth/provider/PhabricatorPasswordAuthProvider.php:229-241"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/provider/PhabricatorLDAPAuthProvider.php"},"region":{"startLine":113}}}],"partialFingerprints":{"codehealthFindingId/v1":"ec9eafaeae6b116d5517a1aa008223c68e80118939ff90db9b9c6dc2edc6f464"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 2): src/applications/badges/controller/PhabricatorBadgesRecipientsController.php:11-23 | src/applications/badges/controller/PhabricatorBadgesViewController.php:11-24"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/badges/controller/PhabricatorBadgesRecipientsController.php"},"region":{"startLine":11}}}],"partialFingerprints":{"codehealthFindingId/v1":"2d39ad16ff93c8107e9dc077221ec7596c61abe2ed2f8c1dc062c7071f185c84"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 2): src/applications/calendar/controller/PhabricatorCalendarImportViewController.php:237-249 | src/applications/calendar/controller/PhabricatorCalendarImportViewController.php:277-289"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/controller/PhabricatorCalendarImportViewController.php"},"region":{"startLine":237}}}],"partialFingerprints":{"codehealthFindingId/v1":"372a3959cfad812429b0ea1603992f48891bc044f600b49a8fc72f3602b3ee6a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 2): src/applications/calendar/parser/ics/__tests__/PhutilICSWriterTestCase.php:25-37 | src/applications/calendar/parser/ics/__tests__/PhutilICSWriterTestCase.php:77-89"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/parser/ics/__tests__/PhutilICSWriterTestCase.php"},"region":{"startLine":25}}}],"partialFingerprints":{"codehealthFindingId/v1":"bf490d279c64fc3952a7a43a6e57762ba3ac5e3edcbc372f940241acf4baefc9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 2): src/applications/countdown/controller/PhabricatorCountdownViewController.php:118-130 | src/applications/paste/controller/PhabricatorPasteViewController.php:161-173"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/countdown/controller/PhabricatorCountdownViewController.php"},"region":{"startLine":118}}}],"partialFingerprints":{"codehealthFindingId/v1":"ed29fdfb351ff4865a7fa837eb10a19bd889ccdcaff96c6d9ad9bf2c358815bc"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 2): src/applications/dashboard/controller/PhabricatorDashboardQueryPanelInstallController.php:115-127 | src/applications/dashboard/controller/dashboard/PhabricatorDashboardAdjustController.php:169-181"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/dashboard/controller/PhabricatorDashboardQueryPanelInstallController.php"},"region":{"startLine":115}}}],"partialFingerprints":{"codehealthFindingId/v1":"0de6faf62fe518e7c54caf7434c754664286633c36f553009c14939df6259c0c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 2): src/applications/dashboard/controller/dashboard/PhabricatorDashboardInstallController.php:18-30 | src/applications/dashboard/controller/dashboard/PhabricatorDashboardViewController.php:11-23"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/dashboard/controller/dashboard/PhabricatorDashboardInstallController.php"},"region":{"startLine":18}}}],"partialFingerprints":{"codehealthFindingId/v1":"718c348ef3badda04f727bf33f6d8501c381deae37009c6833ad5652f4d53ba9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 2): src/applications/dashboard/paneltype/PhabricatorDashboardChartPanelType.php:58-70 | src/applications/dashboard/paneltype/PhabricatorDashboardQueryPanelType.php:174-186"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/dashboard/paneltype/PhabricatorDashboardChartPanelType.php"},"region":{"startLine":58}}}],"partialFingerprints":{"codehealthFindingId/v1":"4b5fdb572940235c5d074cc46f4c3beaae745df4e24fc56dc7ee8e3cd89acff5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 2): src/applications/differential/controller/DifferentialRevisionViewController.php:1322-1336 | src/applications/differential/controller/DifferentialRevisionViewController.php:1431-1443"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/controller/DifferentialRevisionViewController.php"},"region":{"startLine":1322}}}],"partialFingerprints":{"codehealthFindingId/v1":"ff4f15c4fe1d6ec35b0169ae1c3bb9a7bedf8c260024a7c094a0b9f86d9165b1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 2): src/applications/differential/customfield/DifferentialLintField.php:87-99 | src/applications/differential/customfield/DifferentialUnitField.php:76-88"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/customfield/DifferentialLintField.php"},"region":{"startLine":87}}}],"partialFingerprints":{"codehealthFindingId/v1":"b0292008904669c5f076c5abea335b7030f82fe8011b9c357345aff118c58be2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 2): src/applications/differential/query/DifferentialRevisionRequiredActionResultBucket.php:107-119 | src/applications/differential/query/DifferentialRevisionRequiredActionResultBucket.php:251-263"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/query/DifferentialRevisionRequiredActionResultBucket.php"},"region":{"startLine":107}}}],"partialFingerprints":{"codehealthFindingId/v1":"a709d3a6eb5eacb11b73581d3cd8a3f41efb5098f8333c477e7c0be0fbc03c60"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 2): src/applications/differential/query/DifferentialRevisionRequiredActionResultBucket.php:175-187 | src/applications/differential/query/DifferentialRevisionRequiredActionResultBucket.php:214-226"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/query/DifferentialRevisionRequiredActionResultBucket.php"},"region":{"startLine":175}}}],"partialFingerprints":{"codehealthFindingId/v1":"2ac0a3259eeaf913b763dd756c27c6441e0a36f52879337db5d810bd4daf8e5c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 2): src/applications/diffusion/editor/DiffusionURIEditor.php:298-310 | src/applications/diffusion/editor/DiffusionURIEditor.php:411-423"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/editor/DiffusionURIEditor.php"},"region":{"startLine":298}}}],"partialFingerprints":{"codehealthFindingId/v1":"33db3c19f979fcfc7ed76d0873aac6046f7d730fd13aa28da6edb76f4239cd0f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 2): src/applications/diviner/atom/DivinerAtom.php:393-405 | src/applications/diviner/atom/DivinerAtom.php:424-436"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diviner/atom/DivinerAtom.php"},"region":{"startLine":393}}}],"partialFingerprints":{"codehealthFindingId/v1":"6bfffb2a7f96f1796da2f01d8aa4c64dd7d661ce784075be34e44d31f89b83c3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 2): src/applications/drydock/controller/DrydockRepositoryOperationStatusController.php:11-24 | src/applications/drydock/controller/DrydockRepositoryOperationViewController.php:11-23"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/drydock/controller/DrydockRepositoryOperationStatusController.php"},"region":{"startLine":11}}}],"partialFingerprints":{"codehealthFindingId/v1":"5515b363c3d16c7bd5629b8bcc94f21299006c77371bdd64e6226e1e84524232"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 2): src/applications/files/builtin/PhabricatorFilesOnDiskBuiltinFile.php:44-56 | src/applications/files/builtin/PhabricatorFilesOnDiskBuiltinFile.php:60-72"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/files/builtin/PhabricatorFilesOnDiskBuiltinFile.php"},"region":{"startLine":44}}}],"partialFingerprints":{"codehealthFindingId/v1":"b8e7b55adf167468e4b6722db38fa50f500e5b8679bfc2840f4c5d50c624ee32"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 2): src/applications/files/controller/PhabricatorFileUICurtainAttachController.php:9-21 | src/applications/files/controller/PhabricatorFileUICurtainListController.php:11-24"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/files/controller/PhabricatorFileUICurtainAttachController.php"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"b5b4a94ec07de067f4aa35535f66e7791f418a9633dbf5004447d2adfe0e15f4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 2): src/applications/harbormaster/controller/HarbormasterBuildLogRenderController.php:11-23 | src/applications/harbormaster/controller/HarbormasterBuildLogViewController.php:11-23"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/harbormaster/controller/HarbormasterBuildLogRenderController.php"},"region":{"startLine":11}}}],"partialFingerprints":{"codehealthFindingId/v1":"a3f5c0acd00df3fe011cf41c421fada3a5c9fb316c443ca0c80e6fbda0256eee"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 2): src/applications/harbormaster/query/HarbormasterBuildArtifactQuery.php:53-65 | src/applications/harbormaster/query/HarbormasterBuildLogQuery.php:40-52"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/harbormaster/query/HarbormasterBuildArtifactQuery.php"},"region":{"startLine":53}}}],"partialFingerprints":{"codehealthFindingId/v1":"97020a7aad79d28928f17f11b58783c3ad803b301e0326093cc7722107157912"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 2): src/applications/harbormaster/step/HarbormasterBuildkiteBuildStepImplementation.php:153-165 | src/applications/harbormaster/step/HarbormasterCircleCIBuildStepImplementation.php:187-199"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/harbormaster/step/HarbormasterBuildkiteBuildStepImplementation.php"},"region":{"startLine":153}}}],"partialFingerprints":{"codehealthFindingId/v1":"a7163a19f1745737360a98d153597b8472da610f4b2bace4243a443f0e4abd48"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 2): src/applications/herald/controller/HeraldWebhookViewController.php:130-142 | src/applications/paste/controller/PhabricatorPasteViewController.php:104-116"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/herald/controller/HeraldWebhookViewController.php"},"region":{"startLine":130}}}],"partialFingerprints":{"codehealthFindingId/v1":"e9e35e8768a8e6f384a550cefb9ee8e025946572cdd832899ea3d1909e009ec2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 2): src/applications/legalpad/controller/LegalpadDocumentSignController.php:563-576 | src/applications/legalpad/controller/LegalpadDocumentSignController.php:616-628"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/legalpad/controller/LegalpadDocumentSignController.php"},"region":{"startLine":563}}}],"partialFingerprints":{"codehealthFindingId/v1":"83398fc48b2515fbbc4da61205f61f189bdc45500d33040978c1d39b05a3d5df"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 2): src/applications/macro/xaction/PhabricatorMacroAudioTransaction.php:46-58 | src/applications/maniphest/xaction/ManiphestTaskOwnerTransaction.php:93-105"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/macro/xaction/PhabricatorMacroAudioTransaction.php"},"region":{"startLine":46}}}],"partialFingerprints":{"codehealthFindingId/v1":"c710f0a0d0f1ec0438c431240ac0d16ce64c93ed84e6b3348e88cf5e98a1c8f1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 2): src/applications/maniphest/xaction/ManiphestTaskStatusTransaction.php:54-66 | src/applications/maniphest/xaction/ManiphestTaskStatusTransaction.php:124-136"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/maniphest/xaction/ManiphestTaskStatusTransaction.php"},"region":{"startLine":54}}}],"partialFingerprints":{"codehealthFindingId/v1":"f0813bd0b4b2535a8e58c23bde3a6a4b9ea02ab2da97b54c0827c2e27ce6a124"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 2): src/applications/meta/controller/PhabricatorApplicationDetailViewController.php:164-176 | src/applications/owners/controller/PhabricatorOwnersDetailController.php:250-262"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/meta/controller/PhabricatorApplicationDetailViewController.php"},"region":{"startLine":164}}}],"partialFingerprints":{"codehealthFindingId/v1":"c7a42840b191eae099c97b8aa6f90b221f185618943410d90d324f5508bf72f4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 2): src/applications/multimeter/controller/MultimeterSampleController.php:130-142 | src/applications/multimeter/controller/MultimeterSampleController.php:143-155"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/multimeter/controller/MultimeterSampleController.php"},"region":{"startLine":130}}}],"partialFingerprints":{"codehealthFindingId/v1":"f929ead277212a7f5840e7943f0c7bd530c10f1dc4f0c2d1f89c9749420555b5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 2): src/applications/nuance/controller/NuanceQueueViewController.php:7-19 | src/applications/nuance/controller/NuanceQueueWorkController.php:7-19"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/nuance/controller/NuanceQueueViewController.php"},"region":{"startLine":7}}}],"partialFingerprints":{"codehealthFindingId/v1":"3a215c37ec800c91baa6239427d4462c2b64dba709fddd39521d8d609e49c192"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 13): src/applications/calendar/phid/PhabricatorCalendarEventPHIDType.php:65-76 | src/applications/countdown/phid/PhabricatorCountdownCountdownPHIDType.php:59-70 | src/applications/dashboard/phid/PhabricatorDashboardPanelPHIDType.php:65-76 | src/applications/differential/phid/DifferentialRevisionPHIDType.php:65-76 | src/applications/files/phid/PhabricatorFileFilePHIDType.php:63-74 | src/applications/fund/phid/FundInitiativePHIDType.php:64-75 | src/applications/harbormaster/phid/HarbormasterBuildablePHIDType.php:74-85 | src/applications/herald/phid/HeraldRulePHIDType.php:63-74 | src/applications/legalpad/phid/PhabricatorLegalpadDocumentPHIDType.php:60-71 | src/applications/maniphest/phid/ManiphestTaskPHIDType.php:62-73 | src/applications/owners/phid/PhabricatorOwnersPackagePHIDType.php:72-83 | src/applications/passphrase/phid/PassphraseCredentialPHIDType.php:62-73 | src/applications/paste/phid/PhabricatorPastePastePHIDType.php:59-70"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/phid/PhabricatorCalendarEventPHIDType.php"},"region":{"startLine":65}}}],"partialFingerprints":{"codehealthFindingId/v1":"6c52f882f54f39c208f879ef90a0af1500cb9e4ba7627294a0452b717568e8b5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 11): src/applications/badges/xaction/PhabricatorBadgesBadgeNameTransaction.php:37-48 | src/applications/conpherence/xaction/ConpherenceThreadTitleTransaction.php:57-68 | src/applications/countdown/xaction/PhabricatorCountdownTitleTransaction.php:36-47 | src/applications/drydock/xaction/DrydockBlueprintNameTransaction.php:41-53 | src/applications/files/xaction/PhabricatorFileNameTransaction.php:37-48 | src/applications/fund/xaction/FundInitiativeNameTransaction.php:52-63 | src/applications/herald/xaction/HeraldRuleNameTransaction.php:28-41 | src/applications/legalpad/xaction/LegalpadDocumentTitleTransaction.php:57-68 | src/applications/nuance/xaction/NuanceQueueNameTransaction.php:28-40 | src/applications/nuance/xaction/NuanceSourceNameTransaction.php:28-40 | src/applications/passphrase/xaction/PassphraseCredentialNameTransaction.php:52-64"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/badges/xaction/PhabricatorBadgesBadgeNameTransaction.php"},"region":{"startLine":37}}}],"partialFingerprints":{"codehealthFindingId/v1":"dd641c8ac1516c3c94b7f6c2ad99ed7247fb617266aaf784ee4fc90911c2ce57"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 4): src/applications/badges/controller/PhabricatorBadgesArchiveController.php:39-50 | src/applications/dashboard/controller/dashboard/PhabricatorDashboardArchiveController.php:39-50 | src/applications/owners/controller/PhabricatorOwnersArchiveController.php:39-50 | src/applications/paste/controller/PhabricatorPasteArchiveController.php:38-49"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/badges/controller/PhabricatorBadgesArchiveController.php"},"region":{"startLine":39}}}],"partialFingerprints":{"codehealthFindingId/v1":"6a2c96904beb85be8a8995acd8f5fde72440248956a29acc71ad31c1a7189fa1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 4): src/applications/drydock/query/DrydockAuthorizationQuery.php:78-89 | src/applications/drydock/query/DrydockAuthorizationQuery.php:100-111 | src/applications/drydock/query/DrydockRepositoryOperationQuery.php:79-90 | src/applications/drydock/query/DrydockRepositoryOperationQuery.php:105-116"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/drydock/query/DrydockAuthorizationQuery.php"},"region":{"startLine":78}}}],"partialFingerprints":{"codehealthFindingId/v1":"6af29fd5ecc96597dd97b720306d47d8d2430b87b2a87f7a35dd398429ad1bba"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 3): src/applications/conduit/controller/PhabricatorConduitController.php:67-78 | src/applications/drydock/controller/DrydockLeaseViewController.php:58-69 | src/applications/drydock/controller/DrydockResourceViewController.php:63-74"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/conduit/controller/PhabricatorConduitController.php"},"region":{"startLine":67}}}],"partialFingerprints":{"codehealthFindingId/v1":"df8643ae72ed0eab4b5c5f5db507a6fd58a470d8fbdfaf7b382e6d09cd24c90b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 3): src/applications/help/controller/PhabricatorHelpDocumentationController.php:11-22 | src/applications/meta/controller/PhabricatorApplicationDetailViewController.php:12-23 | src/applications/meta/controller/PhabricatorApplicationEmailCommandsController.php:11-22"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/help/controller/PhabricatorHelpDocumentationController.php"},"region":{"startLine":11}}}],"partialFingerprints":{"codehealthFindingId/v1":"504d39b689677ea3dbb9ca5e9635affdc1c5309f337e56cfd3800ca493f4dec0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): src/aphront/configuration/AphrontApplicationConfiguration.php:299-310 | src/aphront/configuration/AphrontApplicationConfiguration.php:339-355"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/aphront/configuration/AphrontApplicationConfiguration.php"},"region":{"startLine":299}}}],"partialFingerprints":{"codehealthFindingId/v1":"86fa4c14870326d86b2398ef977c1277758156109188ddacca62e1a1521a1f37"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): src/applications/almanac/controller/AlmanacPropertyDeleteController.php:49-60 | src/applications/calendar/controller/PhabricatorCalendarEventJoinController.php:53-64"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/almanac/controller/AlmanacPropertyDeleteController.php"},"region":{"startLine":49}}}],"partialFingerprints":{"codehealthFindingId/v1":"66045c3740ff0ded7600e6de1357d818a97ccef41bb69e68213fa720a0144f88"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): src/applications/almanac/management/AlmanacManagementUntrustKeyWorkflow.php:29-40 | src/applications/auth/management/PhabricatorAuthManagementUntrustOAuthClientWorkflow.php:34-47"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/almanac/management/AlmanacManagementUntrustKeyWorkflow.php"},"region":{"startLine":29}}}],"partialFingerprints":{"codehealthFindingId/v1":"7407b8cdbdb0d60d29442973589102d22ed8a7b0431d40ac674b7af2f8f50e6d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): src/applications/auth/__tests__/PhabricatorAuthSSHKeyTestCase.php:13-24 | src/applications/auth/__tests__/PhabricatorAuthSSHKeyTestCase.php:38-49"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/__tests__/PhabricatorAuthSSHKeyTestCase.php"},"region":{"startLine":13}}}],"partialFingerprints":{"codehealthFindingId/v1":"c90bbda7d811b0b0375a32f3db44126ea1f4877a19d4dc81bb81901b913094e4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): src/applications/auth/controller/PhabricatorAuthSSHKeyEditController.php:81-92 | src/applications/auth/controller/PhabricatorAuthSSHKeyGenerateController.php:54-65"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/controller/PhabricatorAuthSSHKeyEditController.php"},"region":{"startLine":81}}}],"partialFingerprints":{"codehealthFindingId/v1":"d06490b2b1500462103fa14465bdb3ee3908a94c024e0395c34773ebc489c38c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): src/applications/auth/controller/PhabricatorAuthSSHKeyViewController.php:90-101 | src/applications/diffusion/controller/DiffusionRepositoryURIViewController.php:142-153"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/controller/PhabricatorAuthSSHKeyViewController.php"},"region":{"startLine":90}}}],"partialFingerprints":{"codehealthFindingId/v1":"c6a92733594cf814e7eebc419fbaa419a3192dec9d10db327700192bface843c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): src/applications/auth/controller/config/PhabricatorAuthProviderController.php:11-22 | src/applications/auth/controller/config/PhabricatorAuthProviderController.php:32-43"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/controller/config/PhabricatorAuthProviderController.php"},"region":{"startLine":11}}}],"partialFingerprints":{"codehealthFindingId/v1":"22a4e743aa21a6790b833e816883f322a19ccaff5129f35fa92326e2091871bc"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): src/applications/auth/factor/PhabricatorAuthFactor.php:323-334 | src/applications/auth/factor/PhabricatorAuthFactor.php:355-366"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/factor/PhabricatorAuthFactor.php"},"region":{"startLine":323}}}],"partialFingerprints":{"codehealthFindingId/v1":"abac6fd1a41baf593021946aaa23923a432a1a62d241305cdeed7a96032ab9b8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): src/applications/auth/provider/PhabricatorJIRAAuthProvider.php:126-137 | src/applications/auth/provider/PhabricatorPhabricatorAuthProvider.php:110-121"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/provider/PhabricatorJIRAAuthProvider.php"},"region":{"startLine":126}}}],"partialFingerprints":{"codehealthFindingId/v1":"ea8316e7fb631bebe14b731ffd246d372a6f87cbd6e2f74180dfaec93df4fbe4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): src/applications/badges/xaction/PhabricatorBadgesBadgeAwardTransaction.php:65-77 | src/applications/conpherence/xaction/ConpherenceThreadParticipantsTransaction.php:99-110"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/badges/xaction/PhabricatorBadgesBadgeAwardTransaction.php"},"region":{"startLine":65}}}],"partialFingerprints":{"codehealthFindingId/v1":"0c92ff0805e1e4303a1ad535bf49a2bf64f8ce9473189e2b705c3f9262be8bed"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): src/applications/config/controller/services/PhabricatorConfigServicesController.php:10-21 | src/applications/config/controller/services/PhabricatorConfigServicesController.php:35-46"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/controller/services/PhabricatorConfigServicesController.php"},"region":{"startLine":10}}}],"partialFingerprints":{"codehealthFindingId/v1":"3e0bd81ac63c4d198f76d438a32f4a156e1c4011b610ed02e384e1fd2e1db762"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): src/applications/config/schema/PhabricatorConfigStorageSchema.php:104-115 | src/applications/config/schema/PhabricatorConfigStorageSchema.php:145-156"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/schema/PhabricatorConfigStorageSchema.php"},"region":{"startLine":104}}}],"partialFingerprints":{"codehealthFindingId/v1":"23e00b6ca2879ed5f39a245e29b7d25711387650a2ab3b8bbfbe1dd1ec882067"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): src/applications/conpherence/controller/ConpherenceRoomPreferencesController.php:65-76 | src/applications/conpherence/controller/ConpherenceUpdateController.php:413-424"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/conpherence/controller/ConpherenceRoomPreferencesController.php"},"region":{"startLine":65}}}],"partialFingerprints":{"codehealthFindingId/v1":"332ccce406ae5d01eac166a93869577abb658864caf42e02fad8ae5db0495802"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): src/applications/daemon/controller/PhabricatorDaemonConsoleController.php:220-231 | src/applications/daemon/controller/PhabricatorDaemonLogListController.php:19-30"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/daemon/controller/PhabricatorDaemonConsoleController.php"},"region":{"startLine":220}}}],"partialFingerprints":{"codehealthFindingId/v1":"798e919cb8a9af3300aa131b4eec946d57ff5da150d6668e5cd75ea64d833e90"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): src/applications/diffusion/conduit/DiffusionLastModifiedQueryConduitAPIMethod.php:25-36 | src/applications/diffusion/conduit/DiffusionLastModifiedQueryConduitAPIMethod.php:78-90"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/conduit/DiffusionLastModifiedQueryConduitAPIMethod.php"},"region":{"startLine":25}}}],"partialFingerprints":{"codehealthFindingId/v1":"df5fcc8490606106336c03f5b4ca92690373059c4c6b86d447c4b47eb2fee232"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): src/applications/diffusion/controller/DiffusionController.php:519-530 | src/applications/diffusion/controller/DiffusionController.php:532-543"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/controller/DiffusionController.php"},"region":{"startLine":519}}}],"partialFingerprints":{"codehealthFindingId/v1":"497b4ca788258bcf1629700ef6897a213dfd4dafa834e830354d5f7d9b1686ee"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): src/applications/diffusion/controller/DiffusionRepositoryURIViewController.php:254-265 | src/applications/diffusion/controller/DiffusionRepositoryURIViewController.php:274-285"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/controller/DiffusionRepositoryURIViewController.php"},"region":{"startLine":254}}}],"partialFingerprints":{"codehealthFindingId/v1":"91ace12c1a58f2d05fb4511e6a4b0ca881e8182f0529f81be755ad5f5134e5b9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): src/applications/diffusion/xaction/DiffusionCommitAuditorsTransaction.php:108-119 | src/applications/diffusion/xaction/DiffusionCommitAuditorsTransaction.php:142-153"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/xaction/DiffusionCommitAuditorsTransaction.php"},"region":{"startLine":108}}}],"partialFingerprints":{"codehealthFindingId/v1":"3922c5a6e0fd0b48c763b975faa4773b0bdd114c0efba922d47ef84f24963df3"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): src/applications/drydock/query/DrydockLeaseQuery.php:94-105 | src/applications/drydock/query/DrydockResourceQuery.php:79-90"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/drydock/query/DrydockLeaseQuery.php"},"region":{"startLine":94}}}],"partialFingerprints":{"codehealthFindingId/v1":"93af09fc402d17ad0b6decd9a74432f8f4c0bba8dd2a990033e8af42dfcb6423"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): src/applications/fact/controller/PhabricatorFactObjectController.php:126-137 | src/applications/owners/controller/PhabricatorOwnersPathsController.php:96-107"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/fact/controller/PhabricatorFactObjectController.php"},"region":{"startLine":126}}}],"partialFingerprints":{"codehealthFindingId/v1":"a679ef3246503bb5999408af7031c0a17977dd9da00dce316971e85ad8890d48"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): src/applications/files/document/render/PhabricatorDocumentRenderingEngine.php:62-73 | src/applications/files/document/render/PhabricatorDocumentRenderingEngine.php:210-221"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/files/document/render/PhabricatorDocumentRenderingEngine.php"},"region":{"startLine":62}}}],"partialFingerprints":{"codehealthFindingId/v1":"80a93523abc8e94366dfb92749c29bd65091222a15043efafa4524b6e29c21b9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): src/applications/harbormaster/controller/HarbormasterPlanBehaviorController.php:42-53 | src/applications/harbormaster/controller/HarbormasterPlanDisableController.php:35-46"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/harbormaster/controller/HarbormasterPlanBehaviorController.php"},"region":{"startLine":42}}}],"partialFingerprints":{"codehealthFindingId/v1":"5ee9181cb13987943fa26fbf807ff5a8597e2a9a8728ebb818e74e12d2d60d68"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): src/applications/harbormaster/query/HarbormasterBuildMessageQuery.php:31-42 | src/applications/harbormaster/query/HarbormasterBuildableQuery.php:95-106"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/harbormaster/query/HarbormasterBuildMessageQuery.php"},"region":{"startLine":31}}}],"partialFingerprints":{"codehealthFindingId/v1":"df9d4adbd53616f0a3a54233322c897f6e8bf80d183bfc033caa674d19daf9a5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): src/applications/harbormaster/query/HarbormasterBuildQuery.php:67-78 | src/applications/harbormaster/query/HarbormasterBuildableQuery.php:74-85"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/harbormaster/query/HarbormasterBuildQuery.php"},"region":{"startLine":67}}}],"partialFingerprints":{"codehealthFindingId/v1":"ffbd040ca2e2fa9698326c492693b1ba420a56854ab7616167e9ee7e7f6202a2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): src/applications/herald/controller/HeraldTestConsoleController.php:56-67 | src/applications/herald/management/HeraldTestManagementWorkflow.php:113-124"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/herald/controller/HeraldTestConsoleController.php"},"region":{"startLine":56}}}],"partialFingerprints":{"codehealthFindingId/v1":"48b5e1d2f2b19d276d75dddeda87797abd89836593f5d64c08272955a01a1461"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): src/applications/maniphest/controller/ManiphestReportController.php:537-548 | src/applications/maniphest/controller/ManiphestReportController.php:550-561"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/maniphest/controller/ManiphestReportController.php"},"region":{"startLine":537}}}],"partialFingerprints":{"codehealthFindingId/v1":"06701a4d738732f867fad997f3afddeb9452bd7d37e6d9e6ceaa9d71274809b8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): src/applications/maniphest/controller/ManiphestTaskGraphController.php:11-22 | src/applications/maniphest/controller/ManiphestTaskSubtaskController.php:7-18"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/maniphest/controller/ManiphestTaskGraphController.php"},"region":{"startLine":11}}}],"partialFingerprints":{"codehealthFindingId/v1":"91b8ac8c5da2c1348640a9fde851fd45feca24d1b18ca1d72b1ffae254ccf0a6"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): src/applications/maniphest/xaction/ManiphestTaskUnblockTransaction.php:33-45 | src/applications/maniphest/xaction/ManiphestTaskUnblockTransaction.php:74-85"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/maniphest/xaction/ManiphestTaskUnblockTransaction.php"},"region":{"startLine":33}}}],"partialFingerprints":{"codehealthFindingId/v1":"07b5a6e1d8c0614da4fbc3be583097911231dd658d6ff1276c1a451bdafa1520"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): src/applications/nuance/controller/NuanceItemManageController.php:6-17 | src/applications/nuance/controller/NuanceItemViewController.php:6-17"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/nuance/controller/NuanceItemManageController.php"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"c16d628d57cac4367591dde4027d8b648331103d997ce42408bc31b4e74f5931"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): src/applications/nuance/management/NuanceManagementWorkflow.php:16-27 | src/applications/nuance/management/NuanceManagementWorkflow.php:77-88"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/nuance/management/NuanceManagementWorkflow.php"},"region":{"startLine":16}}}],"partialFingerprints":{"codehealthFindingId/v1":"06ae938e56a298a9417b75eea0851301be9d97ee7b4e813837ae411a404fd076"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): src/applications/passphrase/conduit/PassphraseQueryConduitAPIMethod.php:32-43 | src/applications/paste/conduit/PasteQueryConduitAPIMethod.php:40-51"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/passphrase/conduit/PassphraseQueryConduitAPIMethod.php"},"region":{"startLine":32}}}],"partialFingerprints":{"codehealthFindingId/v1":"95376072e41b29e89aaedc3d881dcd8a8bdb2e4b145e6577b8c8af1f841cdd73"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 6): src/applications/badges/query/PhabricatorBadgesSearchEngine.php:142-152 | src/applications/countdown/query/PhabricatorCountdownSearchEngine.php:151-161 | src/applications/differential/query/DifferentialRevisionSearchEngine.php:255-265 | src/applications/herald/query/HeraldRuleSearchEngine.php:157-167 | src/applications/maniphest/query/ManiphestTaskSearchEngine.php:443-453 | src/applications/owners/query/PhabricatorOwnersPackageSearchEngine.php:163-174"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/badges/query/PhabricatorBadgesSearchEngine.php"},"region":{"startLine":142}}}],"partialFingerprints":{"codehealthFindingId/v1":"d65e94149a5adb44ec8a485ed9f54d0252e145aa9403992c4835b5a6e3d8de49"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 4): src/applications/config/controller/services/PhabricatorConfigClusterDatabasesController.php:9-19 | src/applications/config/controller/services/PhabricatorConfigClusterNotificationsController.php:7-17 | src/applications/config/controller/services/PhabricatorConfigClusterRepositoriesController.php:7-18 | src/applications/config/controller/services/PhabricatorConfigClusterSearchController.php:7-18"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/controller/services/PhabricatorConfigClusterDatabasesController.php"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"1d761a7e76d9cf0c377b4e1547733672cb0ccb51ea78ef920fd21937349473fa"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): src/applications/almanac/controller/AlmanacDeviceViewController.php:125-135 | src/applications/almanac/controller/AlmanacServiceViewController.php:132-142"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/almanac/controller/AlmanacDeviceViewController.php"},"region":{"startLine":125}}}],"partialFingerprints":{"codehealthFindingId/v1":"508f4f0a8760381afd5ff2f267e114bc3964729e636670a381032119f659af42"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): src/applications/almanac/query/AlmanacBindingQuery.php:52-62 | src/applications/almanac/query/AlmanacInterfaceQuery.php:45-55"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/almanac/query/AlmanacBindingQuery.php"},"region":{"startLine":52}}}],"partialFingerprints":{"codehealthFindingId/v1":"bd8c563cd8220c571843e2ac1f5b8a1933cf7335141a84e520144bddafed9391"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): src/applications/audit/management/PhabricatorAuditManagementDeleteWorkflow.php:237-247 | src/applications/auth/management/PhabricatorAuthManagementStripWorkflow.php:74-86"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/audit/management/PhabricatorAuditManagementDeleteWorkflow.php"},"region":{"startLine":237}}}],"partialFingerprints":{"codehealthFindingId/v1":"aca2c65b2b1e78a824c1d2ed936e61abe8ad283737e8f242fe13f5572ed5f4c6"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): src/applications/auth/controller/contact/PhabricatorAuthContactNumberViewController.php:121-131 | src/applications/passphrase/controller/PassphraseCredentialViewController.php:135-145"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/controller/contact/PhabricatorAuthContactNumberViewController.php"},"region":{"startLine":121}}}],"partialFingerprints":{"codehealthFindingId/v1":"745dca164d3dd6e8b4f9ee441a4c4af78247be4d79a59047ebca3e278c48de8a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): src/applications/auth/management/PhabricatorAuthManagementRecoverWorkflow.php:29-40 | src/applications/auth/management/PhabricatorAuthManagementVerifyWorkflow.php:25-35"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/management/PhabricatorAuthManagementRecoverWorkflow.php"},"region":{"startLine":29}}}],"partialFingerprints":{"codehealthFindingId/v1":"869c2fb5a9df0d75410807663bafa168af952d9d00dad30e349a32aa57d0a266"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): src/applications/badges/controller/PhabricatorBadgesAwardController.php:38-48 | src/applications/badges/controller/PhabricatorBadgesEditRecipientsController.php:36-46"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/badges/controller/PhabricatorBadgesAwardController.php"},"region":{"startLine":38}}}],"partialFingerprints":{"codehealthFindingId/v1":"2763dca19c3dd7045c114281c377bf1462ee8f479a2b78474c9c69969448f3f1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): src/applications/badges/xaction/PhabricatorBadgesBadgeAwardTransaction.php:37-47 | src/applications/badges/xaction/PhabricatorBadgesBadgeRevokeTransaction.php:40-50"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/badges/xaction/PhabricatorBadgesBadgeAwardTransaction.php"},"region":{"startLine":37}}}],"partialFingerprints":{"codehealthFindingId/v1":"d3b0b76696e980377a46795f9eb609f887cd43610a41c3aea342d9cacf5f21c9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): src/applications/calendar/controller/PhabricatorCalendarEventViewController.php:221-231 | src/applications/dashboard/controller/dashboard/PhabricatorDashboardViewController.php:94-104"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/controller/PhabricatorCalendarEventViewController.php"},"region":{"startLine":221}}}],"partialFingerprints":{"codehealthFindingId/v1":"d1a148737038e9091cdbf756983ce7a6d179bd695de2894993dff603ae09481c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): src/applications/conduit/controller/PhabricatorConduitAPIController.php:564-574 | src/applications/files/controller/PhabricatorFileTransformListController.php:116-126"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/conduit/controller/PhabricatorConduitAPIController.php"},"region":{"startLine":564}}}],"partialFingerprints":{"codehealthFindingId/v1":"2730d26f7f8044d2eab3ffa01733c5ea999bc4e4a2f8311d0c331237e01b1cac"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): src/applications/config/controller/services/PhabricatorConfigDatabaseStatusController.php:592-602 | src/applications/config/controller/services/PhabricatorConfigDatabaseStatusController.php:607-617"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/controller/services/PhabricatorConfigDatabaseStatusController.php"},"region":{"startLine":592}}}],"partialFingerprints":{"codehealthFindingId/v1":"70caa19036433c1ef2a925d9727d23293a48e01464b1ce92a509f24097393ada"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): src/applications/conpherence/conduit/ConpherenceQueryTransactionConduitAPIMethod.php:44-57 | src/applications/conpherence/conduit/ConpherenceUpdateThreadConduitAPIMethod.php:55-65"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/conpherence/conduit/ConpherenceQueryTransactionConduitAPIMethod.php"},"region":{"startLine":44}}}],"partialFingerprints":{"codehealthFindingId/v1":"cbfc1c06c0199d1de67975a0305869464125f4729f43f7a32e394fc061a8b2eb"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): src/applications/conpherence/xaction/ConpherenceThreadTitleTransaction.php:34-44 | src/applications/paste/xaction/PhabricatorPasteTitleTransaction.php:40-50"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/conpherence/xaction/ConpherenceThreadTitleTransaction.php"},"region":{"startLine":34}}}],"partialFingerprints":{"codehealthFindingId/v1":"5b9d4ffb19595e1d3d5325d641bdfa3b25be76d420ff1a10b73f0c241d42767c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): src/applications/differential/controller/DifferentialChangesetViewController.php:123-133 | src/applications/differential/controller/DifferentialController.php:173-184"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/controller/DifferentialChangesetViewController.php"},"region":{"startLine":123}}}],"partialFingerprints":{"codehealthFindingId/v1":"e0b02a00c02f8c5d3d869435ab4e6c40a386194bc898e635c3a300b9a0ea94c9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): src/applications/differential/editor/DifferentialRevisionEditEngine.php:262-272 | src/applications/differential/editor/DifferentialRevisionEditEngine.php:275-285"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/editor/DifferentialRevisionEditEngine.php"},"region":{"startLine":262}}}],"partialFingerprints":{"codehealthFindingId/v1":"3ac3a2fa9ab0611ea512659836fa2c9934c022d16b5e3c1f8c6331e5fde3159c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): src/applications/differential/typeahead/DifferentialExactUserFunctionDatasource.php:42-52 | src/applications/owners/typeahead/PhabricatorOwnersPackageOwnerDatasource.php:43-53"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/typeahead/DifferentialExactUserFunctionDatasource.php"},"region":{"startLine":42}}}],"partialFingerprints":{"codehealthFindingId/v1":"c42d13defa8e6ae09d4628734fa4492a8ea8a371a154c9fe3a08dd9ced4136dd"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): src/applications/diffusion/controller/DiffusionRepositoryEditActivateController.php:29-39 | src/applications/diffusion/controller/DiffusionRepositoryEditPublishingController.php:29-39"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/controller/DiffusionRepositoryEditActivateController.php"},"region":{"startLine":29}}}],"partialFingerprints":{"codehealthFindingId/v1":"eae06331f26662283913688a8ee67b4d76146a93d8851e5396239e6028367d19"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): src/applications/diffusion/controller/DiffusionRepositoryListController.php:18-28 | src/applications/feed/controller/PhabricatorFeedListController.php:11-21"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/controller/DiffusionRepositoryListController.php"},"region":{"startLine":18}}}],"partialFingerprints":{"codehealthFindingId/v1":"fbb5f6080cf4f39c04b104a9b08b393cae918851c9a73bfa82c57ac339e8abca"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): src/applications/diffusion/management/DiffusionRepositoryBasicsManagementPanel.php:498-515 | src/applications/diffusion/management/DiffusionRepositoryBasicsManagementPanel.php:525-535"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/management/DiffusionRepositoryBasicsManagementPanel.php"},"region":{"startLine":498}}}],"partialFingerprints":{"codehealthFindingId/v1":"5222725a645bb173d5a9cc9a7d0bf394c596494bdf600b83bb9faa6e3e3c6cc2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): src/applications/diffusion/management/DiffusionRepositoryBasicsManagementPanel.php:553-563 | src/applications/diffusion/management/DiffusionRepositoryBasicsManagementPanel.php:584-594"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/management/DiffusionRepositoryBasicsManagementPanel.php"},"region":{"startLine":553}}}],"partialFingerprints":{"codehealthFindingId/v1":"4cc9fa2e2727bae312ab4e347f785696565c9b2a19efb7ed9db75ca5f1c999a0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): src/applications/doorkeeper/bridge/DoorkeeperBridgeGitHubIssue.php:21-31 | src/applications/doorkeeper/bridge/DoorkeeperBridgeGitHubUser.php:21-31"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/doorkeeper/bridge/DoorkeeperBridgeGitHubIssue.php"},"region":{"startLine":21}}}],"partialFingerprints":{"codehealthFindingId/v1":"01be35c4639cadb36c90d4af65b544dfbbee30501ae7c07accd4b20434084133"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): src/applications/drydock/controller/DrydockAuthorizationViewController.php:31-42 | src/applications/drydock/controller/DrydockRepositoryOperationViewController.php:33-43"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/drydock/controller/DrydockAuthorizationViewController.php"},"region":{"startLine":31}}}],"partialFingerprints":{"codehealthFindingId/v1":"90cd5fbf5e5aa8ada6fd83b5d59e5f6b47fc24161f53894fe7d783f077e3633f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): src/applications/drydock/management/DrydockManagementLeaseWorkflow.php:218-228 | src/applications/drydock/view/DrydockLogListView.php:91-101"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/drydock/management/DrydockManagementLeaseWorkflow.php"},"region":{"startLine":218}}}],"partialFingerprints":{"codehealthFindingId/v1":"a749e8264ff0780310d0765d61f1e7a22e316abd99c6837993f80b23eb1d2c04"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): src/applications/files/controller/PhabricatorFileViewController.php:185-195 | src/applications/maniphest/controller/ManiphestTaskDetailController.php:358-368"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/files/controller/PhabricatorFileViewController.php"},"region":{"startLine":185}}}],"partialFingerprints":{"codehealthFindingId/v1":"7408cc7fa25111d922d2e582ccf8bbea643d361348f74663e77fd72623016a08"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): src/applications/fund/phortune/FundBackerProduct.php:87-101 | src/applications/fund/phortune/FundBackerProduct.php:125-135"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/fund/phortune/FundBackerProduct.php"},"region":{"startLine":87}}}],"partialFingerprints":{"codehealthFindingId/v1":"aa2b24e9c3c4f1bd4a68ef728ac913385b31b2477ebdc6be492dd6c759943e0a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): src/applications/harbormaster/query/HarbormasterBuildQuery.php:88-98 | src/applications/harbormaster/query/HarbormasterBuildStepQuery.php:60-70"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/harbormaster/query/HarbormasterBuildQuery.php"},"region":{"startLine":88}}}],"partialFingerprints":{"codehealthFindingId/v1":"ae767d4b14cfab1e0203d8d7e230bd3acc35cf88a5581f79b11409e0d22d4ca1"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): src/applications/legalpad/controller/LegalpadDocumentSignController.php:585-595 | src/applications/legalpad/controller/LegalpadDocumentSignController.php:650-660"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/legalpad/controller/LegalpadDocumentSignController.php"},"region":{"startLine":585}}}],"partialFingerprints":{"codehealthFindingId/v1":"83de1b9d9139f61b4406f3e4a5268085643f13813d313e627815bd6cc1d9a525"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): src/applications/legalpad/query/LegalpadDocumentSignatureSearchEngine.php:99-109 | src/applications/macro/controller/PhabricatorMacroMemeDialogController.php:54-64"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/legalpad/query/LegalpadDocumentSignatureSearchEngine.php"},"region":{"startLine":99}}}],"partialFingerprints":{"codehealthFindingId/v1":"3d8fb4d8d664d94f18b7a2f509d0d9fef7fa0bd5c3b8c56cecc4c3f6fa82dcde"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): src/applications/nuance/github/NuanceGitHubRawEvent.php:295-305 | src/applications/nuance/github/NuanceGitHubRawEvent.php:306-316"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/nuance/github/NuanceGitHubRawEvent.php"},"region":{"startLine":295}}}],"partialFingerprints":{"codehealthFindingId/v1":"1a98a17b7f8ae35ca55cbf1b0e38e7958747886642ad83ee2f30c7c21ecf6560"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): src/applications/packages/typeahead/PhabricatorPackagesPackageDatasource.php:22-32 | src/applications/packages/typeahead/PhabricatorPackagesPublisherDatasource.php:22-32"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/packages/typeahead/PhabricatorPackagesPackageDatasource.php"},"region":{"startLine":22}}}],"partialFingerprints":{"codehealthFindingId/v1":"6414f773840e38e3d09a765dc7c06132227fac669988facac8cf62ae45e53718"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 5): src/applications/almanac/query/AlmanacDeviceSearchEngine.php:100-109 | src/applications/almanac/query/AlmanacServiceSearchEngine.php:93-102 | src/applications/auth/query/PhabricatorAuthSSHKeySearchEngine.php:80-89 | src/applications/nuance/query/NuanceQueueSearchEngine.php:56-65 | src/applications/nuance/query/NuanceSourceSearchEngine.php:65-74"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/almanac/query/AlmanacDeviceSearchEngine.php"},"region":{"startLine":100}}}],"partialFingerprints":{"codehealthFindingId/v1":"867ba61c81f272922ca45d25a55c4eac25ec39671c30255ad00e6ff38a392241"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 5): src/applications/auth/query/PhabricatorAuthPasswordQuery.php:83-93 | src/applications/auth/query/PhabricatorAuthSSHKeyQuery.php:51-61 | src/applications/auth/query/PhabricatorAuthSessionQuery.php:42-52 | src/applications/conduit/query/PhabricatorConduitTokenQuery.php:90-99 | src/applications/drydock/query/DrydockCommandQuery.php:29-39"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/query/PhabricatorAuthPasswordQuery.php"},"region":{"startLine":83}}}],"partialFingerprints":{"codehealthFindingId/v1":"6c711830a7b4f4258f9a0e225730a35070bec08e602a76d4f84a95c42e337f18"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 5): src/applications/dashboard/controller/panel/PhabricatorDashboardPanelListController.php:56-65 | src/applications/files/query/PhabricatorFileSearchEngine.php:200-209 | src/applications/legalpad/query/LegalpadDocumentSearchEngine.php:180-189 | src/applications/macro/query/PhabricatorMacroSearchEngine.php:197-206 | src/applications/passphrase/query/PassphraseCredentialSearchEngine.php:119-128"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/dashboard/controller/panel/PhabricatorDashboardPanelListController.php"},"region":{"startLine":56}}}],"partialFingerprints":{"codehealthFindingId/v1":"83411d7fa9534f1007afb9f27b170be0bcdb7d447f3732fe5afde97ccf83d3bc"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 4): src/applications/almanac/phid/AlmanacDevicePHIDType.php:32-41 | src/applications/almanac/phid/AlmanacNamespacePHIDType.php:32-41 | src/applications/almanac/phid/AlmanacNetworkPHIDType.php:32-41 | src/applications/almanac/phid/AlmanacServicePHIDType.php:32-41"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/almanac/phid/AlmanacDevicePHIDType.php"},"region":{"startLine":32}}}],"partialFingerprints":{"codehealthFindingId/v1":"9e8c1999a2719aa7365e4a8a410e7fdd377cdf40f211c21d19d90f0ab2314a40"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 4): src/applications/conpherence/xaction/ConpherenceThreadTitleTransaction.php:54-64 | src/applications/countdown/xaction/PhabricatorCountdownTitleTransaction.php:33-42 | src/applications/differential/xaction/DifferentialRevisionTitleTransaction.php:35-45 | src/applications/legalpad/xaction/LegalpadDocumentTitleTransaction.php:54-64"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/conpherence/xaction/ConpherenceThreadTitleTransaction.php"},"region":{"startLine":54}}}],"partialFingerprints":{"codehealthFindingId/v1":"1fc63f4875cb6876ff9b6b6113eb05c949635e5ff9220834014b3b5cc51fc5e8"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 3): src/applications/diffusion/management/DiffusionRepositoryBasicsManagementPanel.php:345-354 | src/applications/diffusion/management/DiffusionRepositoryBasicsManagementPanel.php:503-518 | src/applications/diffusion/management/DiffusionRepositoryBasicsManagementPanel.php:529-538"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/management/DiffusionRepositoryBasicsManagementPanel.php"},"region":{"startLine":345}}}],"partialFingerprints":{"codehealthFindingId/v1":"1cb87bf723a064aab241aaf034141b9f2500b4479466936b3a63cee210e9d731"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): src/applications/almanac/query/AlmanacBindingQuery.php:68-77 | src/applications/almanac/query/AlmanacInterfaceQuery.php:53-62"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/almanac/query/AlmanacBindingQuery.php"},"region":{"startLine":68}}}],"partialFingerprints":{"codehealthFindingId/v1":"d6b51cfbd9c3d3700b2e43acdb4730325e3144ee8019a9f8074c69ddccf9e685"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): src/applications/auth/engine/PhabricatorAuthInviteEngine.php:132-141 | src/applications/auth/engine/PhabricatorAuthInviteEngine.php:144-157"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/engine/PhabricatorAuthInviteEngine.php"},"region":{"startLine":132}}}],"partialFingerprints":{"codehealthFindingId/v1":"16831ff2f832e76aecedd2198df15af07dd73fce67485c6123c03875e97cee0b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): src/applications/auth/factor/PhabricatorSMSAuthFactor.php:262-271 | src/applications/auth/factor/PhabricatorTOTPAuthFactor.php:188-197"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/factor/PhabricatorSMSAuthFactor.php"},"region":{"startLine":262}}}],"partialFingerprints":{"codehealthFindingId/v1":"f37bbf9309b74f7264df8c349bcb972b645041cbced8e44f1893a6744de38353"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): src/applications/auth/xaction/PhabricatorAuthContactNumberNumberTransaction.php:42-51 | src/applications/auth/xaction/PhabricatorAuthFactorProviderNameTransaction.php:42-51"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/xaction/PhabricatorAuthContactNumberNumberTransaction.php"},"region":{"startLine":42}}}],"partialFingerprints":{"codehealthFindingId/v1":"2590a5c2256cef91713f3f49ac5c73f674f29f074284ff203bcd3eb16d6b95dc"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): src/applications/auth/xaction/PhabricatorAuthFactorProviderNameTransaction.php:40-50 | src/applications/conpherence/xaction/ConpherenceThreadTopicTransaction.php:53-62"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/auth/xaction/PhabricatorAuthFactorProviderNameTransaction.php"},"region":{"startLine":40}}}],"partialFingerprints":{"codehealthFindingId/v1":"0a5852714ac27b3a52e8ec8879a325380eb47df0ea8547952e3ac654d74ed6ab"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): src/applications/differential/query/DifferentialRevisionRequiredActionResultBucket.php:75-84 | src/applications/diffusion/query/DiffusionCommitRequiredActionResultBucket.php:44-53"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/query/DifferentialRevisionRequiredActionResultBucket.php"},"region":{"startLine":75}}}],"partialFingerprints":{"codehealthFindingId/v1":"df2c3ac75ac36c12f5d04190fcca74f2af3b9cdadf39e7171a1198e4cc7167ed"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): src/applications/diffusion/controller/DiffusionRepositoryURIViewController.php:65-74 | src/applications/drydock/controller/DrydockBlueprintViewController.php:22-32"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/controller/DiffusionRepositoryURIViewController.php"},"region":{"startLine":65}}}],"partialFingerprints":{"codehealthFindingId/v1":"73312b497c0df9e9f86db54a5b286df22563a3ef5694cd10c8eeebc2c3ccce32"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): src/applications/diffusion/symbol/DiffusionPythonExternalSymbolsSource.php:19-28 | src/applications/diffusion/symbol/DiffusionPythonExternalSymbolsSource.php:29-38"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/symbol/DiffusionPythonExternalSymbolsSource.php"},"region":{"startLine":19}}}],"partialFingerprints":{"codehealthFindingId/v1":"4ceadb06fef709bb6381ae185e45408bf14f137a97293740bda3ea6e108fbc7a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): src/applications/harbormaster/conduit/HarbormasterSendMessageConduitAPIMethod.php:320-329 | src/applications/harbormaster/conduit/HarbormasterSendMessageConduitAPIMethod.php:402-411"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/harbormaster/conduit/HarbormasterSendMessageConduitAPIMethod.php"},"region":{"startLine":320}}}],"partialFingerprints":{"codehealthFindingId/v1":"c53a1111bf9f07e6041a3f9e17a732021b17172d1a5889c58931075c9a77f9a7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): src/applications/legalpad/controller/LegalpadDocumentSignatureViewController.php:56-65 | src/applications/legalpad/controller/LegalpadDocumentSignatureViewController.php:69-78"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/legalpad/controller/LegalpadDocumentSignatureViewController.php"},"region":{"startLine":56}}}],"partialFingerprints":{"codehealthFindingId/v1":"8d6f98e86528367bd24717041727b299d2d869feb00a6e68a066febbe7ab4cb5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): src/applications/macro/query/PhabricatorMacroQuery.php:210-219 | src/applications/paste/query/PhabricatorPasteQuery.php:197-206"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/macro/query/PhabricatorMacroQuery.php"},"region":{"startLine":210}}}],"partialFingerprints":{"codehealthFindingId/v1":"a1a9874c7c78621d0ae6d65bba1baafeda14a1da17feca47f22ee26e574ae87b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): src/applications/packages/editor/PhabricatorPackagesPackageEditEngine.php:86-95 | src/applications/packages/editor/PhabricatorPackagesPublisherEditEngine.php:78-87"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/packages/editor/PhabricatorPackagesPackageEditEngine.php"},"region":{"startLine":86}}}],"partialFingerprints":{"codehealthFindingId/v1":"4aa71eeb3530a6e7ec421ce9220f9802464c3c121e923fe28f921f38154b5d29"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): src/applications/audit/query/PhabricatorCommitSearchEngine.php:169-177 | src/applications/maniphest/query/ManiphestTaskSearchEngine.php:290-298"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/audit/query/PhabricatorCommitSearchEngine.php"},"region":{"startLine":169}}}],"partialFingerprints":{"codehealthFindingId/v1":"e1be2725479130ab6dae9e92e2aeabb9f3abe0940090886a025ebfee9c2a1429"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): src/applications/calendar/query/PhabricatorCalendarExportSearchEngine.php:64-72 | src/applications/calendar/query/PhabricatorCalendarImportSearchEngine.php:61-69"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/query/PhabricatorCalendarExportSearchEngine.php"},"region":{"startLine":64}}}],"partialFingerprints":{"codehealthFindingId/v1":"8ed37662e67188b51df42ed16e97c3e635267638ea656e084aa119206cdd5296"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): src/applications/differential/controller/DifferentialRevisionViewController.php:702-710 | src/applications/macro/controller/PhabricatorMacroViewController.php:127-135"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/controller/DifferentialRevisionViewController.php"},"region":{"startLine":702}}}],"partialFingerprints":{"codehealthFindingId/v1":"68521bbe939c402ebd558654afed3cb92abf3635e1cf605e7d047fd258f833c7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): src/applications/differential/render/DifferentialChangesetRenderer.php:505-513 | src/applications/differential/render/DifferentialChangesetRenderer.php:516-524"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/render/DifferentialChangesetRenderer.php"},"region":{"startLine":505}}}],"partialFingerprints":{"codehealthFindingId/v1":"35d1461a67af260d3ef1b6fba7dd0be0291881abdb2a7986289df6143b47065c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): src/applications/differential/render/DifferentialChangesetRenderer.php:681-689 | src/applications/differential/render/DifferentialChangesetRenderer.php:697-705"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/render/DifferentialChangesetRenderer.php"},"region":{"startLine":681}}}],"partialFingerprints":{"codehealthFindingId/v1":"74e926ecb5d70adcb1f3b04e9b0c85bfc448950a001413131fcb8de4d433f029"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): src/applications/differential/render/DifferentialChangesetTwoUpRenderer.php:157-165 | src/applications/differential/render/DifferentialChangesetTwoUpRenderer.php:208-221"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/render/DifferentialChangesetTwoUpRenderer.php"},"region":{"startLine":157}}}],"partialFingerprints":{"codehealthFindingId/v1":"eb918cfe90b5581edb725114913bdbfb92f59a77a36ddc65af6892260a996864"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): src/applications/diffusion/conduit/DiffusionBrowseQueryConduitAPIMethod.php:268-277 | src/applications/diffusion/conduit/DiffusionBrowseQueryConduitAPIMethod.php:364-372"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/conduit/DiffusionBrowseQueryConduitAPIMethod.php"},"region":{"startLine":268}}}],"partialFingerprints":{"codehealthFindingId/v1":"afb44e2db53bf76ab266b66fe28f1bdeec01635fb764dba1b9352cc84812621c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): src/applications/maniphest/query/ManiphestTaskSearchEngine.php:443-451 | src/applications/paste/query/PhabricatorPasteSearchEngine.php:211-219"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/maniphest/query/ManiphestTaskSearchEngine.php"},"region":{"startLine":443}}}],"partialFingerprints":{"codehealthFindingId/v1":"78dba77069f67c911325f5cbdc903fde1748dd1098b11e8b570b19a6f611bc69"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): src/applications/maniphest/xaction/ManiphestTaskAttachTransaction.php:21-29 | src/applications/maniphest/xaction/ManiphestTaskAttachTransaction.php:56-64"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/maniphest/xaction/ManiphestTaskAttachTransaction.php"},"region":{"startLine":21}}}],"partialFingerprints":{"codehealthFindingId/v1":"443b794ef15384c6bbdb344468a93a4cada9805bc42a4bd7db5cc4271df1b05c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 3): src/applications/differential/xaction/DifferentialRevisionReviewersTransaction.php:166-173 | src/applications/diffusion/xaction/DiffusionCommitAuditorsTransaction.php:107-114 | src/applications/diffusion/xaction/DiffusionCommitAuditorsTransaction.php:141-148"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/xaction/DifferentialRevisionReviewersTransaction.php"},"region":{"startLine":166}}}],"partialFingerprints":{"codehealthFindingId/v1":"8f2df176dca6fbcbc9fa9ac8fb6705114dbe764827e23014709e75066ca092ee"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): src/applications/differential/conduit/DifferentialQueryConduitAPIMethod.php:66-73 | src/applications/diffusion/conduit/DiffusionHistoryQueryConduitAPIMethod.php:205-213"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/conduit/DifferentialQueryConduitAPIMethod.php"},"region":{"startLine":66}}}],"partialFingerprints":{"codehealthFindingId/v1":"9175f434f58b8062a8f214c0a5936217f382ab90231fa1a395147962a4081091"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): src/applications/differential/parser/DifferentialHunkParser.php:643-650 | src/applications/differential/parser/DifferentialHunkParser.php:652-659"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/parser/DifferentialHunkParser.php"},"region":{"startLine":643}}}],"partialFingerprints":{"codehealthFindingId/v1":"4608d8804dfad568308c4b5468fe94ecba511152a4e8dc25ba6f324c55fab444"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): src/applications/diffusion/controller/DiffusionLintController.php:229-236 | src/applications/diffusion/controller/DiffusionLintController.php:508-515"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/controller/DiffusionLintController.php"},"region":{"startLine":229}}}],"partialFingerprints":{"codehealthFindingId/v1":"40cb2be53fbe981b4cea61485797cb035541b484c81614d9277e6f40c29aa294"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): src/applications/harbormaster/controller/HarbormasterBuildableListController.php:12-19 | src/applications/harbormaster/controller/HarbormasterBuildableListController.php:21-28"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/harbormaster/controller/HarbormasterBuildableListController.php"},"region":{"startLine":12}}}],"partialFingerprints":{"codehealthFindingId/v1":"523e95654790b03dbf888324c28c09c714950cc1de8dec3d9215b3fd8ccbc2f9"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 2): src/applications/calendar/parser/data/PhutilCalendarAbsoluteDateTime.php:68-74 | src/applications/calendar/parser/data/PhutilCalendarRelativeDateTime.php:62-68"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/calendar/parser/data/PhutilCalendarAbsoluteDateTime.php"},"region":{"startLine":68}}}],"partialFingerprints":{"codehealthFindingId/v1":"f6aecfa899615cbeea96a01467286236f18b612ab49351b5c41b709771853b64"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 2): src/applications/config/controller/services/PhabricatorConfigDatabaseStatusController.php:218-225 | src/applications/config/controller/services/PhabricatorConfigDatabaseStatusController.php:323-329"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/controller/services/PhabricatorConfigDatabaseStatusController.php"},"region":{"startLine":218}}}],"partialFingerprints":{"codehealthFindingId/v1":"6fd256cf4963663dfe000f4fb7714b38e4cca2392ac0a9f910a98b0951fc2268"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 2): src/applications/diffusion/conduit/DiffusionHistoryQueryConduitAPIMethod.php:44-51 | src/applications/diffusion/conduit/DiffusionHistoryQueryConduitAPIMethod.php:204-210"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/diffusion/conduit/DiffusionHistoryQueryConduitAPIMethod.php"},"region":{"startLine":44}}}],"partialFingerprints":{"codehealthFindingId/v1":"dc1dbebfdb1c31da476b2ed9c58833e22e9cfaae81447413086d2cc8f9d731c4"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 2): src/applications/metamta/management/PhabricatorMailManagementListInboundWorkflow.php:47-53 | src/applications/metamta/management/PhabricatorMailManagementListOutboundWorkflow.php:39-45"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/metamta/management/PhabricatorMailManagementListInboundWorkflow.php"},"region":{"startLine":47}}}],"partialFingerprints":{"codehealthFindingId/v1":"65e5f56567ea75b46ebc05262153d502c055d41ac5279d6057e8c49c9576acdd"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): src/applications/config/controller/services/PhabricatorConfigDatabaseStatusController.php:678-683 | src/applications/config/controller/services/PhabricatorConfigDatabaseStatusController.php:773-778"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/config/controller/services/PhabricatorConfigDatabaseStatusController.php"},"region":{"startLine":678}}}],"partialFingerprints":{"codehealthFindingId/v1":"42279809db01e28f4a050a7a0dabbca4f9b9c201094e715a66677d5904774f99"}},{"ruleId":"D16","level":"warning","message":{"text":"dormant codebase \u2014 no living knowledge left to concentrate: All 650 significant source file(s) were last meaningfully changed so long ago that no living knowledge remains \u2014 nothing since has been substantial enough to re-establish ownership (a broad, mechanical sweep that touches many files shallowly does not count, and neither does no activity at all). There is no concentration to measure, so the bus factor is not scored. This is not a clean bill: nobody currently holds working knowledge of this code (see D34 Knowledge Freshness)."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"569d55ea5cb0330f13c125b289d07e5abdfcceac947a2c2645277937942e7d5f"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"66e3e43cc52781da3e3c2740af301889d8214a59f49d0996f3d4080e990d82b0"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"3d4dbe699a5c3df2bb07dae76dbd070d8f0230cc3f43fe7bdf012f6a825fb4ea"}},{"ruleId":"D28","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"c29fe5f9fe87ed341d15c18d687533fed395a6ed160e88d4efec0cfc4ca78ed9"}},{"ruleId":"D28","level":"note","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"3cdfd7beb31b791ae18dcb425e21eb157c842e7bbcd522cc330573c1a6538db1"}},{"ruleId":"D29","level":"error","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"da92b7fdc307b5ed4508ca610169c034036762f29f7b6542d324dc601fcb2a80"},"taxa":[{"id":"CWE-676","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"warning","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"af0c94c48aeec4d9715841435ba3d98daefe927693dad633dae7eb19faf9378d"},"taxa":[{"id":"CWE-200","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"note","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"828ce6665203dea5bf2cac7b64fcce1e0ededb2ef3fc5e5b79eb109bb17eda84"},"taxa":[{"id":"CWE-290","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"note","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"085d7b4453fbe8f507c9c3bc9f6d00726b55545514b8416cad9a3c47548e7860"},"taxa":[{"id":"CWE-290","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"note","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"6e255c80a26bff8fded572184479fd4f74d615181876280d4b79e489fba1c37d"},"taxa":[{"id":"CWE-290","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"note","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"55daf7ea189fd628524593792cb9a95343a7f8da400e6630dc01fd994869c07f"},"taxa":[{"id":"CWE-290","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"note","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"a6b86e06a5bc1ac2a8844d35c48bb48fd2f0b415bb20408863df892545e56a87"},"taxa":[{"id":"CWE-290","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"note","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"6bd2f2b3e18439139e4e870c42a0c86cedcbadd86c4616b12f13703fe96cefc3"},"taxa":[{"id":"CWE-290","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"note","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"d29ead8c6a6da96917a4aae76c8473533ff90bcf0805f33b7bb770dc22251fe3"},"taxa":[{"id":"CWE-290","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"note","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"859776521f7e5ad963c29a57bcb0ba2a30215b89807ff5b19fda7a127c8fff14"},"taxa":[{"id":"CWE-290","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"note","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"87500ed205f6d4152dac27d0f9cf79a6ed6e0b1afb44cc006c2db102020977a4"},"taxa":[{"id":"CWE-290","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"note","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"7510d1ae53615d334b0cb7d2d89850af0ff6efb8cb72dc1981fb494ffc3d0c6c"},"taxa":[{"id":"CWE-290","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"note","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"1dbd43ff11b1391b04efdfa61a54a9c073dd9256cd606991d0ff50930b1730f8"},"taxa":[{"id":"CWE-290","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"note","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"50ebb9642e7719b766444d736304026a2bd5fdeb420844670002ff4e5e9299d9"},"taxa":[{"id":"CWE-290","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"note","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"0af863e2f956c74614cc4756603ba2381e50387aeaa1a55d1a4cb0300592970d"},"taxa":[{"id":"CWE-290","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"note","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"99358ebc4bfd12b6272293a57afc4f6fb0fc833f09773762ec02c968c8c5048d"},"taxa":[{"id":"CWE-290","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"note","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"21598e8239ba58bd90b6d045683f4729eadc1e730de9e2cd6fe6c597ec7363f9"},"taxa":[{"id":"CWE-290","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"note","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"a0bf410df519ed0b80d191e8d877e5d7b6fef5cb3ff2009f80ae0d34e09d60b1"},"taxa":[{"id":"CWE-290","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"note","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"35faa51f569149398476b4e9864f1133d55bc16a6b3988ff660ca7c86fbb9609"},"taxa":[{"id":"CWE-290","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"note","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"92bc011da840c79f0aa18973cbc76ffcea4376827f966284769619d39813529e"},"taxa":[{"id":"CWE-290","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"note","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"72fbcdca40af4115f0da333d603be4c6259df3671f8168ae3e9ac2b90e1847da"},"taxa":[{"id":"CWE-290","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"note","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"3d7690e4e1514d21a53228424ab51f9b369b93ae0b74b2dfbc6e505423519684"},"taxa":[{"id":"CWE-290","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"note","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"d2181560c2a11648c8e0076e7a3693ef097055e4555303ad736708eed9544d76"},"taxa":[{"id":"CWE-290","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"note","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"c5c4cbc758bc3896f4fa31cd4ece29918e275c56532f135153bd2ce01a59f586"},"taxa":[{"id":"CWE-290","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"note","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"ed07342eace36be3b4b9b9cd7b186a2dcb6c74c3f09374c40f47bfa59b4bb526"},"taxa":[{"id":"CWE-290","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"note","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"1d7f15351d12baa13d074f2b5e0c9e65d050197a97ded2937739dfb9ab279910"},"taxa":[{"id":"CWE-290","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"note","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"9d63d6677ff804d4f44a4d906ee228a751ccb858408db25f66126a45ab6a26e1"},"taxa":[{"id":"CWE-290","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"note","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"8e6f7491c9ea39e39fab4e86d84492a3dfe0570351ba1df472b6ac539f568d24"},"taxa":[{"id":"CWE-290","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"note","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"668eb70fc47c6b8c9f65b99523a8136ecfbac51f180d5ec38473b9827d99a36e"},"taxa":[{"id":"CWE-290","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"note","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"70bca4b99855b216cf043549ea8b137fb79d1c1132e6ae0650719709f8cbc934"},"taxa":[{"id":"CWE-290","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"note","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"fb63553a7c83ab17c1d7e81b79e3cb6c3abb156d8375d4d1e16302a20c015be5"},"taxa":[{"id":"CWE-290","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"note","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"db1a0e5c8abb8eee8e177e7bce4a045a206cf267a6e38989fb577b66aa992765"},"taxa":[{"id":"CWE-290","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"note","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"ec3872a3a91a4995c277ae453041533a879e5352596c4c08365cc4eef8d7f4d8"},"taxa":[{"id":"CWE-290","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D29","level":"note","message":{"text":"A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."},"partialFingerprints":{"codehealthFindingId/v1":"3820e419189d2e0bc7516534fa8f14a7eeb237cca00e23653a0f5eb4d7e3ba10"},"taxa":[{"id":"CWE-290","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D34","level":"note","message":{"text":"Dormant codebase: 1855 of 1855 significant files have no living knowledge \u2014 the codebase as a whole is dormant, not 1855 separate risks. Re-engage owners or document before change."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"4c69f1e54b7dd6fe9029dd02df6ba8f8145b789f2f18dbdaa086c40ded49dba6"}},{"ruleId":"D34","level":"note","message":{"text":"Largest orphaned file: One of the largest files with no living knowledge remaining \u2014 a reasonable place to start a read-through before the aggregate risk above bites."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/transactions/editor/PhabricatorApplicationTransactionEditor.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"0dfea18e5491004061f57a3727306da3d2a85184d2a1a77ca1a5eb7670179a44"}},{"ruleId":"D34","level":"note","message":{"text":"Largest orphaned file: One of the largest files with no living knowledge remaining \u2014 a reasonable place to start a read-through before the aggregate risk above bites."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/query/policy/PhabricatorCursorPagedPolicyAwareQuery.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"70887a4019659c5a7f2a73257af14652f8c9303a07698143e5187eadfaed4b05"}},{"ruleId":"D34","level":"note","message":{"text":"Largest orphaned file: One of the largest files with no living knowledge remaining \u2014 a reasonable place to start a read-through before the aggregate risk above bites."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/repository/storage/PhabricatorRepository.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"707e63951a0242c2a3e52cf57bfa48765a96363a5c2b47d5ef815a1d00e4f86b"}},{"ruleId":"D35","level":"warning","message":{"text":"Change coupling: PhabricatorInlineComment.php \u2194 DiffInline.js: \u0060src/infrastructure/diff/interface/PhabricatorInlineComment.php\u0060 and \u0060webroot/rsrc/js/application/diff/DiffInline.js\u0060 change together 90% of the time (9 of the 10 commits that touched the less-changed of the two, renames followed) with no explicit dependency \u2014 a hidden/logical coupling. If they belong together, co-locate them; if not, break the coupling."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/diff/interface/PhabricatorInlineComment.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"25898165c3d6386ecb5c869a6e9baed63061cfdfc2d238bd1349e9be0bd510de"}},{"ruleId":"D35","level":"warning","message":{"text":"Change coupling clique: PhabricatorProjectDetailsProfileMenuItem.php, PhabricatorProjectWorkboardProfileMenuItem.php, PhabricatorLinkProfileMenuItem.php: 3 files \u2014 \u0060src/applications/project/menuitem/PhabricatorProjectDetailsProfileMenuItem.php\u0060, \u0060src/applications/project/menuitem/PhabricatorProjectWorkboardProfileMenuItem.php\u0060, \u0060src/applications/search/menuitem/PhabricatorLinkProfileMenuItem.php\u0060 \u2014 all change together with no explicit dependency: a fully-connected co-change clique, not 3 separate couplings. They share one concern (thin parallel siblings over a common abstraction), so extract the shared part into ONE unit and the whole clique\u0027s coupling clears at once \u2014 you do not need to break each pair individually."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/project/menuitem/PhabricatorProjectDetailsProfileMenuItem.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"b08138e56fcf21f37203d5b4591bd71d198ae873ffc1ebcc3eff1d2d3fc143aa"}},{"ruleId":"D35","level":"warning","message":{"text":"Change coupling: PHUIDiffInlineCommentView.php \u2194 DiffInline.js: \u0060src/infrastructure/diff/view/PHUIDiffInlineCommentView.php\u0060 and \u0060webroot/rsrc/js/application/diff/DiffInline.js\u0060 change together 64% of the time (9 of the 14 commits that touched the less-changed of the two, renames followed) with no explicit dependency \u2014 a hidden/logical coupling. If they belong together, co-locate them; if not, break the coupling."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/diff/view/PHUIDiffInlineCommentView.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"bfbd53fcfaecdd675f4de52deac794e041dc558bed7006e4a0db551339fd8da4"}},{"ruleId":"D35","level":"warning","message":{"text":"Change coupling: DifferentialChangesetParser.php \u2194 DifferentialChangesetTestRenderer.php: \u0060src/applications/differential/parser/DifferentialChangesetParser.php\u0060 and \u0060src/applications/differential/render/DifferentialChangesetTestRenderer.php\u0060 change together 64% of the time (7 of the 11 commits that touched the less-changed of the two, renames followed) with no explicit dependency \u2014 a hidden/logical coupling. If they belong together, co-locate them; if not, break the coupling."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/applications/differential/parser/DifferentialChangesetParser.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"67a4f8c04a532eaf1d122888deae5488bf5122800d968ff86ce19d2ab4096ad9"}},{"ruleId":"D35","level":"warning","message":{"text":"Change coupling: PhabricatorInlineComment.php \u2194 PHUIDiffInlineCommentEditView.php: \u0060src/infrastructure/diff/interface/PhabricatorInlineComment.php\u0060 and \u0060src/infrastructure/diff/view/PHUIDiffInlineCommentEditView.php\u0060 change together 50% of the time (5 of the 10 commits that touched the less-changed of the two, renames followed) with no explicit dependency \u2014 a hidden/logical coupling. If they belong together, co-locate them; if not, break the coupling."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/infrastructure/diff/interface/PhabricatorInlineComment.php"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"8cd92ffbe589d0ee81278eda2a58e082cceb840f72802cb43dd5a509f3261de8"}}],"taxonomies":[{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d","organization":"MITRE","informationUri":"https://cwe.mitre.org/","isComprehensive":false,"shortDescription":{"text":"The MITRE Common Weakness Enumeration (CWE)."},"taxa":[{"id":"CWE-200","guid":"b0ce3b1d-7a29-fe50-8aab-9aba899d2988","name":"Exposure of Sensitive Information to an Unauthorized Actor","shortDescription":{"text":"Exposure of Sensitive Information to an Unauthorized Actor"},"helpUri":"https://cwe.mitre.org/data/definitions/200.html"},{"id":"CWE-259","guid":"ae9ad959-fbb6-9d5e-892d-3dca66da0b69","name":"Use of Hard-coded Password","shortDescription":{"text":"Use of Hard-coded Password"},"helpUri":"https://cwe.mitre.org/data/definitions/259.html"},{"id":"CWE-290","guid":"379b1e66-a292-7b59-aa1e-a5bb4a6a99e9","name":"CWE-290","shortDescription":{"text":"CWE-290"},"helpUri":"https://cwe.mitre.org/data/definitions/290.html"},{"id":"CWE-676","guid":"550e6fab-2881-3252-8a05-c688a6b19c14","name":"CWE-676","shortDescription":{"text":"CWE-676"},"helpUri":"https://cwe.mitre.org/data/definitions/676.html"},{"id":"CWE-77","guid":"332c8ade-6612-9f56-a06b-d8d90b1a8750","name":"Command Injection","shortDescription":{"text":"Command Injection"},"helpUri":"https://cwe.mitre.org/data/definitions/77.html"},{"id":"CWE-78","guid":"2e31ceaf-c7ae-2e5e-9661-cfb1362789cf","name":"OS Command Injection","shortDescription":{"text":"OS Command Injection"},"helpUri":"https://cwe.mitre.org/data/definitions/78.html"},{"id":"CWE-79","guid":"fd45580b-e8c4-fc5e-8c2f-aa8fab0b4dbf","name":"Cross-site Scripting (XSS)","shortDescription":{"text":"Cross-site Scripting (XSS)"},"helpUri":"https://cwe.mitre.org/data/definitions/79.html"},{"id":"CWE-798","guid":"5e8f057d-fee3-995a-a0cb-9fc5b0d174d1","name":"Use of Hard-coded Credentials","shortDescription":{"text":"Use of Hard-coded Credentials"},"helpUri":"https://cwe.mitre.org/data/definitions/798.html"},{"id":"CWE-89","guid":"6d08fdad-37eb-c150-bbf0-d7d946863407","name":"SQL Injection","shortDescription":{"text":"SQL Injection"},"helpUri":"https://cwe.mitre.org/data/definitions/89.html"},{"id":"CWE-94","guid":"75e7f50c-6c2f-dd52-bf40-bf6c52b861fd","name":"Code Injection","shortDescription":{"text":"Code Injection"},"helpUri":"https://cwe.mitre.org/data/definitions/94.html"}]}],"properties":{"codehealthPublication":{"public":true,"notice":"This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings \u2014 which rule fired, in which file, on which line, and how to fix it \u2014 are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.","securityFindingsRedacted":38,"secretScannerRunsExcluded":0}},"redactionTokens":["A security finding was recorded here. Its details are withheld on the public artifact \u2014 ask the repository owner for the full report."]}]}