{"$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":"D4","name":"Code Duplication","shortDescription":{"text":"Code Duplication"},"helpUri":"https://codehealth.canine.dev/dimensions/D4"},{"id":"D12","name":"Dependency Hygiene","shortDescription":{"text":"Dependency Hygiene"},"helpUri":"https://codehealth.canine.dev/dimensions/D12"},{"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":"D14","name":"License Compliance","shortDescription":{"text":"License Compliance"},"helpUri":"https://codehealth.canine.dev/dimensions/D14"},{"id":"D16","name":"Bus Factor","shortDescription":{"text":"Bus Factor"},"helpUri":"https://codehealth.canine.dev/dimensions/D16"},{"id":"D17","name":"Explicit Debt","shortDescription":{"text":"Explicit Debt"},"helpUri":"https://codehealth.canine.dev/dimensions/D17"},{"id":"D19","name":"Documentation Quality","shortDescription":{"text":"Documentation Quality"},"helpUri":"https://codehealth.canine.dev/dimensions/D19"},{"id":"D20","name":"ADR Quality","shortDescription":{"text":"ADR Quality"},"helpUri":"https://codehealth.canine.dev/dimensions/D20"},{"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":"D30","name":"Dependency Vulnerabilities","shortDescription":{"text":"Dependency Vulnerabilities"},"helpUri":"https://codehealth.canine.dev/dimensions/D30","relationships":[{"target":{"id":"CWE-1395","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]},{"target":{"id":"CWE-937","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]}],"properties":{"cwe":["CWE-1395","CWE-937"]}},{"id":"D31","name":"IaC \u0026 Container Security","shortDescription":{"text":"IaC \u0026 Container Security"},"helpUri":"https://codehealth.canine.dev/dimensions/D31","relationships":[{"target":{"id":"CWE-1032","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]},{"target":{"id":"CWE-732","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]},{"target":{"id":"CWE-16","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]}],"properties":{"cwe":["CWE-1032","CWE-732","CWE-16"]}},{"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"},{"id":"D36","name":"Supply-chain Provenance \u0026 Signing","shortDescription":{"text":"Supply-chain Provenance \u0026 Signing"},"helpUri":"https://codehealth.canine.dev/dimensions/D36","relationships":[{"target":{"id":"CWE-1357","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]},{"target":{"id":"CWE-494","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]}],"properties":{"cwe":["CWE-1357","CWE-494"]}},{"id":"D37","name":"Vulnerability-disclosure Policy","shortDescription":{"text":"Vulnerability-disclosure Policy"},"helpUri":"https://codehealth.canine.dev/dimensions/D37","relationships":[{"target":{"id":"CWE-1059","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]}],"properties":{"cwe":["CWE-1059"]}},{"id":"D43","name":"Malicious Dependencies","shortDescription":{"text":"Malicious Dependencies"},"helpUri":"https://codehealth.canine.dev/dimensions/D43","relationships":[{"target":{"id":"CWE-506","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},"kinds":["relevant"]}],"properties":{"cwe":["CWE-506"]}},{"id":"AX10","name":"Code composition","shortDescription":{"text":"Code composition"},"helpUri":"https://codehealth.canine.dev/dimensions/AX10"},{"id":"AXB2","name":"Runtime readiness","shortDescription":{"text":"Runtime readiness"},"helpUri":"https://codehealth.canine.dev/dimensions/AXB2"},{"id":"M1","name":"Documentation (README)","shortDescription":{"text":"Documentation (README)"},"helpUri":"https://codehealth.canine.dev/dimensions/M1"},{"id":"M2","name":"Architecture documentation","shortDescription":{"text":"Architecture documentation"},"helpUri":"https://codehealth.canine.dev/dimensions/M2"},{"id":"M3","name":"Folder \u0026 project structure","shortDescription":{"text":"Folder \u0026 project structure"},"helpUri":"https://codehealth.canine.dev/dimensions/M3"},{"id":"M4","name":"Documentation accuracy","shortDescription":{"text":"Documentation accuracy"},"helpUri":"https://codehealth.canine.dev/dimensions/M4"},{"id":"P1","name":"CI/CD gates","shortDescription":{"text":"CI/CD gates"},"helpUri":"https://codehealth.canine.dev/dimensions/P1"},{"id":"P12","name":"CI test-gate honesty","shortDescription":{"text":"CI test-gate honesty"},"helpUri":"https://codehealth.canine.dev/dimensions/P12"},{"id":"P3","name":"Security \u0026 performance tooling","shortDescription":{"text":"Security \u0026 performance tooling"},"helpUri":"https://codehealth.canine.dev/dimensions/P3"},{"id":"P4","name":"Deployment \u0026 Rollback","shortDescription":{"text":"Deployment \u0026 Rollback"},"helpUri":"https://codehealth.canine.dev/dimensions/P4"},{"id":"P6","name":"Release Hygiene","shortDescription":{"text":"Release Hygiene"},"helpUri":"https://codehealth.canine.dev/dimensions/P6"},{"id":"R1","name":"Type Safety","shortDescription":{"text":"Type Safety"},"helpUri":"https://codehealth.canine.dev/dimensions/R1"},{"id":"R10","name":"Code Duplication","shortDescription":{"text":"Code Duplication"},"helpUri":"https://codehealth.canine.dev/dimensions/R10"},{"id":"R2","name":"Cyclomatic Complexity","shortDescription":{"text":"Cyclomatic Complexity"},"helpUri":"https://codehealth.canine.dev/dimensions/R2"},{"id":"R3","name":"Large Files","shortDescription":{"text":"Large Files"},"helpUri":"https://codehealth.canine.dev/dimensions/R3"},{"id":"R9","name":"Circular Imports","shortDescription":{"text":"Circular Imports"},"helpUri":"https://codehealth.canine.dev/dimensions/R9"},{"id":"X9","name":"Subsumed condition operand","shortDescription":{"text":"Subsumed condition operand"},"helpUri":"https://codehealth.canine.dev/dimensions/X9"}]}},"results":[{"ruleId":"D4","level":"warning","message":{"text":"Members sharing a duplicated core (4 members, 50\u002B identical tokens): library/src/scala/runtime/BoxesRunTime.java:553-578 | library/src/scala/runtime/BoxesRunTime.java:580-605 | library/src/scala/runtime/BoxesRunTime.java:607-632 | library/src/scala/runtime/BoxesRunTime.java:634-659 \u2014 These 4 members share a duplicated core: a run of at least 50 identical tokens appears in every one of them. That run is NOT broken out as duplicated-block rows below \u2014 it is what admitted this row, and the blocks below cover only the part of it that clears the block floor, so they understate the correspondence. Read the members as one construct written 4 times. The repair is at the members\u0027 grain \u2014 factor the shared implementation out once and have all of them call it with their differences as parameters or as an injected step, or, where the difference is systematic, generate them from one template. Extracting the individual blocks below is not the same fix: it leaves every body in place and the next edit still has to be made 4 times."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/runtime/BoxesRunTime.java"},"region":{"startLine":553}}}],"partialFingerprints":{"codehealthFindingId/v1":"41f899274bf542f66c8abb2e2a02da04d4eb8f3aea4448b894cc8b6862f02abe"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 3): library/src/scala/runtime/BoxesRunTime.java:454-461 | library/src/scala/runtime/BoxesRunTime.java:474-481 | library/src/scala/runtime/BoxesRunTime.java:494-501 \u2014 all 3 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited. Read the line range as the matched WINDOW rather than a finished unit: at \u0060library/src/scala/runtime/BoxesRunTime.java:454\u0060 it begins part-way through the construct above it, so those exact lines cannot be lifted as they stand \u2014 widen the region to the smallest complete statement or declaration that contains it, and extract that."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/runtime/BoxesRunTime.java"},"region":{"startLine":454}}}],"partialFingerprints":{"codehealthFindingId/v1":"0aaf5b3ab2a7c18af72e72c69e1e5f5f3b7857ea0afc4f7f5d16cae081f4fd6e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 4): library/src/scala/runtime/BoxesRunTime.java:554-559 | library/src/scala/runtime/BoxesRunTime.java:581-586 | library/src/scala/runtime/BoxesRunTime.java:608-613 | library/src/scala/runtime/BoxesRunTime.java:635-640 \u2014 all 4 copies are in the same file, so extract the block into one function there and call it from every one of those sites \u2014 resolving only two of them leaves the rest to drift apart the first time one is edited. Read the line range as the matched WINDOW rather than a finished unit: at \u0060library/src/scala/runtime/BoxesRunTime.java:554\u0060 it does not close everything it opens, so those exact lines cannot be lifted as they stand \u2014 widen the region to the smallest complete statement or declaration that contains it, and extract that."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/runtime/BoxesRunTime.java"},"region":{"startLine":554}}}],"partialFingerprints":{"codehealthFindingId/v1":"2695b7229d1c4185cb6d4cffb4aae6a7f9e581eb3d62236a0dbfb41be4e2f199"}},{"ruleId":"D16","level":"note","message":{"text":"Off-boarding risk: anonymized user #1: If anonymized user #1 becomes unavailable, 38 significant file(s) lose their only recent owner: compiler/src/dotty/tools/backend/jvm/opt/Inliner.scala, compiler/src/dotty/tools/backend/jvm/opt/LocalOpt.scala, compiler/src/dotty/tools/backend/jvm/opt/BoxUnbox.scala, compiler/src/dotty/tools/backend/jvm/BCodeSkelBuilder.scala, compiler/src/dotty/tools/backend/jvm/BTypes.scala, compiler/src/dotty/tools/backend/jvm/opt/CopyProp.scala, compiler/src/dotty/tools/backend/jvm/BCodeHelpers.scala, compiler/src/dotty/tools/backend/jvm/opt/OptimizerCallGraph.scala (\u002B30 more). Pair on, review, or document these before any departure."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"7898b414c092efd7dcfdafa38ee62a749ec50161fbeb7ce5d6ad67884403b5bc"}},{"ruleId":"D16","level":"note","message":{"text":"Off-boarding risk: anonymized user #2: If anonymized user #2 becomes unavailable, 6 significant file(s) lose their only recent owner: compiler/src/dotty/tools/dotc/cc/Mutability.scala, compiler/src/dotty/tools/dotc/cc/CCState.scala, compiler/src/dotty/tools/dotc/cc/CapturingType.scala, library/src/scala/Product.scala, compiler/src/dotty/tools/dotc/cc/RetainingAnnotation.scala, compiler/src/dotty/tools/dotc/cc/ccConfig.scala. Pair on, review, or document these before any departure."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"974821147603a9a412796f867195167458895d5bf2698fb397401ed1aa79baae"}},{"ruleId":"D16","level":"note","message":{"text":"Off-boarding risk: anonymized user #3: If anonymized user #3 becomes unavailable, 3 significant file(s) lose their only recent owner: compiler/src/dotty/tools/dotc/transform/localopt/StringInterpolatorOpt.scala, compiler/src/dotty/tools/dotc/transform/localopt/DropForMap.scala, compiler/src/dotty/tools/dotc/util/Chars.scala. Pair on, review, or document these before any departure."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"b21cacaff19306854ed9cda2e90509523d1e9e4f0b331c1fd5e1000b0feb962b"}},{"ruleId":"D16","level":"note","message":{"text":"Off-boarding risk: anonymized user #4: If anonymized user #4 becomes unavailable, 3 significant file(s) lose their only recent owner: project/StripScala2Annotations.scala, project/ScalaJarValidate.scala, project/Shading.scala. Pair on, review, or document these before any departure."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"0c3537069b806ddde4ea92fd76d60fae74df010a357c94eb4164b00177f6f90c"}},{"ruleId":"D16","level":"note","message":{"text":"Off-boarding risk: anonymized user #5: If anonymized user #5 becomes unavailable, 3 significant file(s) lose their only recent owner: scaladoc/src/dotty/tools/scaladoc/snippets/SnippetExpectations.scala, scaladoc/src/dotty/tools/scaladoc/snippets/WrappedSnippet.scala, scaladoc/src/dotty/tools/scaladoc/tasty/comments/MarkdownParser.scala. Pair on, review, or document these before any departure."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"2d88ea7e37cc8b5e9907eb13d610cd403597ace40cee9f49dfcb1929196b32ca"}},{"ruleId":"D16","level":"note","message":{"text":"Off-boarding risk: anonymized user #6: If anonymized user #6 becomes unavailable, 3 significant file(s) lose their only recent owner: library/src/scala/util/CommandLineParser.scala, library/src/scala/quoted/runtime/QuoteUnpickler.scala, library/src/scala/jdk/OptionShape.scala. Pair on, review, or document these before any departure."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"f202b80e35632f375baed1518446fb7f0a3c2e75515e00aea95b0cd5985498b5"}},{"ruleId":"D16","level":"note","message":{"text":"Further sole-owners (lower concentration): 10 other contributor(s) are each the sole owner of a small amount of code below the off-boarding threshold \u2014 folded into the bus-factor score and metrics (71 single-owned of 868 analysed files in total, counted over production source files of roughly 2,400 bytes or more, excluding vendored, generated and example/demo trees and test files identified by path convention, largest first; 868 of the 1635 production source files in this repository met that bar). They are anonymized user #7 (2 file(s)), anonymized user #8 (2 file(s)), anonymized user #9 (2 file(s)), anonymized user #10 (2 file(s)), anonymized user #11 (2 file(s)), anonymized user #12 (1 file(s)) (\u002B4 more) \u2014 spread or document their files in the same way, at lower priority than the named off-boarding risks above."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"6eac528f2429e724e1a97ed868f79eefbcf1888dab4af9a9e673429369bb5b2f"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO remove ascriptions (issue with type variable constraints) \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"bench-run/src/main/scala/dotty/tools/benchmarks/tuples/TupleOps.scala"},"region":{"startLine":53}}}],"partialFingerprints":{"codehealthFindingId/v1":"9a7729979ef222ee42a35bd21f69bf199a797f15fcd8b4d1360b28aee0e271c1"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: fix this to pass consistently \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"community-build/src/scala/dotty/communitybuild/projects.scala"},"region":{"startLine":221}}}],"partialFingerprints":{"codehealthFindingId/v1":"7b145eea616fd6e2fda11cf1a994e1fbd558dd0f0486709340b900febae2adf1"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO @odersky? It got broken by #5458"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"community-build/src/scala/dotty/communitybuild/projects.scala"},"region":{"startLine":354}}}],"partialFingerprints":{"codehealthFindingId/v1":"b6e01639307ad198715f9e97bb8369dc9fca6b04a8a7bdd19568e44486889f57"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO enable -Xcheck-macros \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"community-build/src/scala/dotty/communitybuild/projects.scala"},"region":{"startLine":469}}}],"partialFingerprints":{"codehealthFindingId/v1":"c7a9b9e523bb63ba8f826ac6dab61e9b5650bcdb7ed2dd8ac36019d4a3a8c9e9"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: //todo is handled specially for JavaDefined symbols in scalac \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/backend/jvm/BTypeLoader.scala"},"region":{"startLine":246}}}],"partialFingerprints":{"codehealthFindingId/v1":"595b6f961b2811f0f642e42483663c15f81e372e3b4462877a9f2ac0a091a138"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: This feels like something fundamentally weird in trees that should not exist. \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/backend/jvm/BTypeLoader.scala"},"region":{"startLine":347}}}],"partialFingerprints":{"codehealthFindingId/v1":"d5fd413b0b8ec3e15fca6d50e26922445b2f2a6378ab4bd661bd3ed89ba13a3b"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: use existsSubTree \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/backend/jvm/BCodeSyncAndTry.scala"},"region":{"startLine":462}}}],"partialFingerprints":{"codehealthFindingId/v1":"73a09b6f989db54aadb11550b2e87ffdaf444f668300db9a2c6d6f308a8bfba7"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: remove \u0060!f.name.is(LazyBitMapName)\u0060 once we change lazy val encoding \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/backend/jvm/BCodeSkelBuilder.scala"},"region":{"startLine":193}}}],"partialFingerprints":{"codehealthFindingId/v1":"ae4cfb84c7a73842ead16a96cddd7db835a7a8667d7f35e3d48027791dfbcfd5"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO needed? for(ann \u003C- m.symbol.annotations) { ann.symbol.initialize } \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/backend/jvm/BCodeSkelBuilder.scala"},"region":{"startLine":923}}}],"partialFingerprints":{"codehealthFindingId/v1":"6cca9f29becbf81cd35b2fe21674021569be9eceea0c847adf5f1e90e23610bd"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO index on to.sort \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/backend/jvm/BCodeIdiomatic.scala"},"region":{"startLine":144}}}],"partialFingerprints":{"codehealthFindingId/v1":"3a1bac763466656aa2cb7871da0dbe3891a88867444f9b9e6819c515f9e2fabf"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO ICode also requires: but that\u0027s too much, right? assert(!isBoxed(tk),     \u0022checkcast on boxed type: \u0022 \u002B tk) \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/backend/jvm/BCodeIdiomatic.scala"},"region":{"startLine":488}}}],"partialFingerprints":{"codehealthFindingId/v1":"e13bd1ea21ef67a40a2dc0dab5502074b5491c8a25fa773bb93c6bb3c3472f6f"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: evaluate the other flags we might be dropping on the floor here. \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/backend/jvm/BCodeHelpers.scala"},"region":{"startLine":307}}}],"partialFingerprints":{"codehealthFindingId/v1":"7c68d440f998317c8d57ec60174e7ba1d5de23a91269513baece52f69455708c"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO needed? for(ann \u003C- m.annotations) { ann.symbol.initialize } \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/backend/jvm/BCodeHelpers.scala"},"region":{"startLine":314}}}],"partialFingerprints":{"codehealthFindingId/v1":"3c981c49f77cbefaf6ccb5f6d8faf7d38e881c20a67fdf8703a87cabf527fab9"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: now we have paramSymss and could use it here. \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/backend/jvm/BCodeHelpers.scala"},"region":{"startLine":340}}}],"partialFingerprints":{"codehealthFindingId/v1":"0f403018e159d01d8a7a913237633ea33fa1d94f59590fbc686f646d5e85d2c8"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: use Select \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/backend/jvm/BCodeBodyBuilder.scala"},"region":{"startLine":373}}}],"partialFingerprints":{"codehealthFindingId/v1":"c0b69a91e020ae887308e7f35a4e79c7d02230d881080b783a85ed1a9ab0fcd2"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO @lry make pattern match \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/backend/jvm/BCodeBodyBuilder.scala"},"region":{"startLine":713}}}],"partialFingerprints":{"codehealthFindingId/v1":"a139b1771f4137d7721fd6a4e9351c3f2d007614f636f53c21eb4f516f6dd997"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // todo: remove \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/backend/jvm/BCodeBodyBuilder.scala"},"region":{"startLine":1687}}}],"partialFingerprints":{"codehealthFindingId/v1":"ab0532871ca3215f7bdc2bde0786589245e0cbb80a9c0ba8af3baa20baf97027"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO specialization \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/backend/jvm/BCodeBodyBuilder.scala"},"region":{"startLine":1803}}}],"partialFingerprints":{"codehealthFindingId/v1":"a906cb691c3d3ec43786d6816f8274b6d3219587ec68b29367d635089f5d2c40"}},{"ruleId":"D17","level":"warning","message":{"text":"HackComment: // hacky side effect, used for performance of AliasingFrame.merge. \u2014 a workaround marked in source: record what it is compensating for and what would allow its removal (the upstream fix, the API it is waiting on, the invariant it restores), so the next reader can judge whether it is still needed rather than rediscovering why it is there."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/backend/jvm/analysis/AliasingAnalyzer.scala"},"region":{"startLine":604}}}],"partialFingerprints":{"codehealthFindingId/v1":"ed5d601977838b4a005cef1b656b1554cc27942a659f45cda051e2f00099635f"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: this should be a subtype of CannotInlineWarning \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/backend/jvm/opt/OptimizerWarning.scala"},"region":{"startLine":172}}}],"partialFingerprints":{"codehealthFindingId/v1":"37200b8471e1df477c358eebd8fa5bfb03c2934d6f010e5899b42b1937dde896"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO bubble up warning instead \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/backend/jvm/opt/OptimizerCallGraph.scala"},"region":{"startLine":271}}}],"partialFingerprints":{"codehealthFindingId/v1":"f08e94b0bfd3d8a508b4abd261b72fb8bf4bc2a143106e25c873c7ed8b45f7c3"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: (2) doesn\u0027t cover the following example: \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/backend/jvm/opt/OptimizerCallGraph.scala"},"region":{"startLine":422}}}],"partialFingerprints":{"codehealthFindingId/v1":"fb30600519398d8b041f6a0d6d9e91a0896c23262a599ba3635ef5d79079c9fd"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: type analysis can render more calls statically resolved. Example: \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/backend/jvm/opt/OptimizerCallGraph.scala"},"region":{"startLine":433}}}],"partialFingerprints":{"codehealthFindingId/v1":"2602ce1d1ee41fd612d93407f62ee652ff3a85336410068f18a92584062fdb8a"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO instead of getOrElse, we should bubble the warning up... \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/backend/jvm/opt/LocalOpt.scala"},"region":{"startLine":545}}}],"partialFingerprints":{"codehealthFindingId/v1":"14cce799b2b86f234901c071ba46886058f56a712a376127d8aa4fd450c26c72"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO instead of getOrElse, we should bubble the warning up... \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/backend/jvm/opt/LocalOpt.scala"},"region":{"startLine":571}}}],"partialFingerprints":{"codehealthFindingId/v1":"33a50721417bb2ee48c34b1d40097a79eaca8761725365559baf28027818fc75"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO suspicious: top never updated in the loop... \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/backend/jvm/opt/LocalOpt.scala"},"region":{"startLine":749}}}],"partialFingerprints":{"codehealthFindingId/v1":"c03d629885a96feba0a0b9a0f77eda581603127ca47b5fb68c70c78bde71bbdd"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: remove those that were rolled back to their original form? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/backend/jvm/opt/Inliner.scala"},"region":{"startLine":95}}}],"partialFingerprints":{"codehealthFindingId/v1":"0234fb4609d25d457bb7286117eebca9a2b59c7ef21f34dcf63e934b12b4d382"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: replace by dev warning after testing \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/backend/jvm/opt/Inliner.scala"},"region":{"startLine":252}}}],"partialFingerprints":{"codehealthFindingId/v1":"97715f533fc5f16dc2c83adcbff1c3a5613973ffebd967f9176a599361d75c01"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: method handle -- check if method accessible? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/backend/jvm/opt/Inliner.scala"},"region":{"startLine":934}}}],"partialFingerprints":{"codehealthFindingId/v1":"65e2de4e974aec1d3ff1f5a3c27b3737a309694511f3e622da20f1ac577146fe"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: A2 requires \u0022same run-time package\u0022, which seems to be package \u002B classloader (JVMS 5.3.). is the below ok? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/backend/jvm/opt/Inliner.scala"},"region":{"startLine":963}}}],"partialFingerprints":{"codehealthFindingId/v1":"d824da748bc81ad98be67b9733a9b370870808530515805052bfd973de36a1be"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: B3 requires \u0022same run-time package\u0022, which seems to be package \u002B classloader (JVMS 5.3.). is the below ok? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/backend/jvm/opt/Inliner.scala"},"region":{"startLine":1005}}}],"partialFingerprints":{"codehealthFindingId/v1":"6f517d87622132e6aa25ecd38fbfc02099556b558d9bcf9b12fd7cdb4f7904e7"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO it seems the !threadsafe case (admittedly not much code) is dead? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/backend/jvm/opt/FifoCache.scala"},"region":{"startLine":23}}}],"partialFingerprints":{"codehealthFindingId/v1":"2ed64fa83530b2a0e1b4ac43b44ec85a8c1af07bda6fd534ae884732e6400309"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: use copyProp once we have cached analyses? or is the analysis invalidated anyway because instructions are deleted / changed? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/backend/jvm/opt/CopyProp.scala"},"region":{"startLine":643}}}],"partialFingerprints":{"codehealthFindingId/v1":"61bb3cd773e3b727b2e0280caf7959415839af000c9300a307fa7177b3caffdd"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: This is maybe over-cautious. \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/backend/jvm/opt/ClosureOptimizer.scala"},"region":{"startLine":180}}}],"partialFingerprints":{"codehealthFindingId/v1":"51a8cff75603dfed4cec2a4e6fdfee48c8c70a6536cb1058608cd69b8226a3d8"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: add more \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/backend/jvm/opt/BoxUnbox.scala"},"region":{"startLine":864}}}],"partialFingerprints":{"codehealthFindingId/v1":"711b82f7a3a76ba879254fb28accedbbfb669aa396d573405410478d4a90778e"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: it would be cleaner to make \u0060methodNode\u0060 return a list of methods and deal \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/backend/jvm/opt/BCodeRepository.scala"},"region":{"startLine":226}}}],"partialFingerprints":{"codehealthFindingId/v1":"36e412039eb60f55e2ea34a7f7df81ea7d3926c999009f0c3313004b4f026835"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: if \u0060c\u0060 is an interface, should directly go to \u0060findInInterfaces\u0060 \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/backend/jvm/opt/BCodeRepository.scala"},"region":{"startLine":249}}}],"partialFingerprints":{"codehealthFindingId/v1":"500b63f56167a487150648bf5c6b39aa58df8b672abd590ad9d237ad8bdce4f4"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: we need to remove them also for classes that are not parsed from classfiles, why not simplify and do it once when inlining? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/backend/jvm/opt/BCodeRepository.scala"},"region":{"startLine":306}}}],"partialFingerprints":{"codehealthFindingId/v1":"f114dfce6f9d33de471b67f169498efea45120edc1e67117dec9c90b60f1f402"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO? We could optimize this a bit by putting together all the \u0060argCount\u0060s that have the same methods \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/backend/sjs/JSExportsGen.scala"},"region":{"startLine":448}}}],"partialFingerprints":{"codehealthFindingId/v1":"b3889cd9dc488fe1090d4cd0f01e336c024596df898e26002826ec76ec817742"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO This fails for OFFSET$x fields. Re-enable when we can. \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/backend/sjs/JSCodeGen.scala"},"region":{"startLine":2070}}}],"partialFingerprints":{"codehealthFindingId/v1":"2bfa7d8fe9a8b7fd770201d9056fa4133e98b842bcce93e375f890e158915af5"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO move reflection methods (callMethod, getField, etc) to scala3-library \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/debug/InsertExpression.scala"},"region":{"startLine":52}}}],"partialFingerprints":{"codehealthFindingId/v1":"aed0f5c3d14460ee78a24b23e8ea1af9e5880497288410c57aceb09d9de78d38"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO report the warnings in the expression \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/debug/ExpressionReporter.scala"},"region":{"startLine":14}}}],"partialFingerprints":{"codehealthFindingId/v1":"02b598b1590c0f6c3fa32dabd82705ad56ace610e0ab8cf2e4a147c4083bff23"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: This makes \u0060runContext\u0060 unusable after being reset. \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/Run.scala"},"region":{"startLine":591}}}],"partialFingerprints":{"codehealthFindingId/v1":"aecca2a8baa2c6567d471371baf2141985b01c070cc257cda025fa324e0358f3"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Initially InitialRunId - 1, so that the first nextRunId call would return InitialRunId \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/Compiler.scala"},"region":{"startLine":161}}}],"partialFingerprints":{"codehealthFindingId/v1":"e1a894eab74e5dc3fd0f1e142934fe58a7dffc8263c87acd54502ba467f75c66"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Make bound a typed tree? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/ast/untpd.scala"},"region":{"startLine":124}}}],"partialFingerprints":{"codehealthFindingId/v1":"a0b26f904a04ed73be1c8b0c7608e584c6f89cf4592114777cc8daa758a84383"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TupleXXL.apply(elems*) // TODO add and use Tuple.apply(elems*) ? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/ast/tpd.scala"},"region":{"startLine":1638}}}],"partialFingerprints":{"codehealthFindingId/v1":"608ab872d6c3ab3347201b34f0dd1d1b64c6f63ef459bfc797227bd06ea5176e"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: It might be better to cater for the asserted-away conditions, by \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/ast/TreeTypeMap.scala"},"region":{"startLine":188}}}],"partialFingerprints":{"codehealthFindingId/v1":"a327252ffcb062e195948206dc10c5268c59587ac24578639dff1524f97ce5ac"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: It seem like this should be exprPurity(tree) \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/ast/TreeInfo.scala"},"region":{"startLine":628}}}],"partialFingerprints":{"codehealthFindingId/v1":"73370b4a9928eeda282285fb3a6b24cf498857eab34082d64850a7d7b01e7324"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // FIXME: Trees generated by the XML parser do not satisfy \u0060checkPos\u0060 \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/ast/Positioned.scala"},"region":{"startLine":188}}}],"partialFingerprints":{"codehealthFindingId/v1":"1b9b1d26ebb53c01fa95c7fd1f6676792c9202c63df3d7f2ca950ed85ac4ae63"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Handle trees with mixed source files \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/ast/NavigateAST.scala"},"region":{"startLine":14}}}],"partialFingerprints":{"codehealthFindingId/v1":"e375b7364de2bf25a05f2f43fe00d2ae7df8edb9da73a64b285937855d7d7dc8"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // FIXME: We shouldn\u0027t be manually forcing trees here, we should replace \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/ast/NavigateAST.scala"},"region":{"startLine":133}}}],"partialFingerprints":{"codehealthFindingId/v1":"778c0dd7dd0252843946f83f968d8a4fcd3ce8ea744d1cfa6ef7b55c42161450"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: drop this once we do not silently insert empty class parameters anymore \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/ast/Desugar.scala"},"region":{"startLine":1094}}}],"partialFingerprints":{"codehealthFindingId/v1":"49d9cb3eb5a644775dbaaf928efd8a65950644c4810928ed9a05b4dee4e8e18b"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: use \u0060pushAttachment\u0060 and investigate duplicate attachment \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/ast/Desugar.scala"},"region":{"startLine":1476}}}],"partialFingerprints":{"codehealthFindingId/v1":"5199dc40310941b57f44a397707a8794c029b5cfdb0320bb90408addfa483d2b"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // ---- Error reporting TODO Once these are stabilized, move to messages -----\u0022 \u002B \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/cc/SepCheck.scala"},"region":{"startLine":362}}}],"partialFingerprints":{"codehealthFindingId/v1":"c83c21a149c57d9f245f3de2f63587497f2bf2687fec33943f802645ae227222"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // have inferred universal types. TODO come back to this; \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/cc/SepCheck.scala"},"region":{"startLine":882}}}],"partialFingerprints":{"codehealthFindingId/v1":"86633aaaa321df67b2d82f181ed32eb98c1c71feac866eaed4795d41c0d782c2"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO can we use fn instead? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/cc/SepCheck.scala"},"region":{"startLine":953}}}],"partialFingerprints":{"codehealthFindingId/v1":"270ba1c34f51eda0571e33cb3762ba8322f012066b24907d6f85ca930291203e"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // case class Filter. TODO Investigate to decide what needs to be done \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/cc/SepCheck.scala"},"region":{"startLine":1058}}}],"partialFingerprints":{"codehealthFindingId/v1":"defdde62a21ed34766caf1eff2a0d58a28f7fc15e2e845a840579f6d66daab88"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // todo capture check Using \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/cc/SafeRefs.scala"},"region":{"startLine":144}}}],"partialFingerprints":{"codehealthFindingId/v1":"16a5651155a5ef75d4ab15876645d624c4eda3f48625998ec47358cbb894196e"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO follow up on this \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/cc/CheckCaptures.scala"},"region":{"startLine":1190}}}],"partialFingerprints":{"codehealthFindingId/v1":"0854487f0c561316cd7e0f9b3c066196db8b33744ddd6925a73ef4a45e245a9b"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO Do bounds still contain GlobalAny? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/cc/CheckCaptures.scala"},"region":{"startLine":2456}}}],"partialFingerprints":{"codehealthFindingId/v1":"afce80b37b5b94fca5d07ed57b35857c1f685f37eb781edc033ffbd7c33c141d"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO In other situations we expect that the type is already transformed to a \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/cc/CapturingType.scala"},"region":{"startLine":79}}}],"partialFingerprints":{"codehealthFindingId/v1":"8914ce171449326d19576b076f4ec96590184e7f69ef8e2026dbd47436ade29e"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO Can we drop withCollapsedLocalCaps?. Without it we get errors in \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/cc/CaptureSet.scala"},"region":{"startLine":284}}}],"partialFingerprints":{"codehealthFindingId/v1":"67b9b4af93b4014a90b50126e9d203ab1d226ac2b69333ab63ada5e96ea789c8"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO This scheme should also apply whenever code under strict mutability interfaces \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/cc/CaptureSet.scala"},"region":{"startLine":698}}}],"partialFingerprints":{"codehealthFindingId/v1":"145777f32810c4e376994e53123a42d307bc6d33a77f8d3029061567ef10dbbd"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: We should instead mark the variable as impossible to instantiate \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/cc/CaptureSet.scala"},"region":{"startLine":1082}}}],"partialFingerprints":{"codehealthFindingId/v1":"e240f1ab130fb4f1b3458e850d8ca8baf4cdd8074c68cd056f77d49b6323823f"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: once except carries a list of classes, fuse except[A] \u2218 except[B] into one map; \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/cc/CaptureSet.scala"},"region":{"startLine":1725}}}],"partialFingerprints":{"codehealthFindingId/v1":"661595bde6d8bd3e4d8ae3ac6a0d994e377d36ead3e9db4b27d3a4e0581ecc48"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO we should drop retains from inferred types before unpickling \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/cc/CaptureOps.scala"},"region":{"startLine":430}}}],"partialFingerprints":{"codehealthFindingId/v1":"8f4158546dbcad6476cd78da32391e6cfc62296939bf4900fb4901fdc2838f77"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: when attempting classifier-splitting, tighten for the remainder algorithm. \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/cc/Capability.scala"},"region":{"startLine":739}}}],"partialFingerprints":{"codehealthFindingId/v1":"78033f86874bd918d756e6402d3d2e2066b7284bce9b1f39ea513d288dbca8ab"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO support closing \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/classpath/ZipAndJarFileLookupFactory.scala"},"region":{"startLine":96}}}],"partialFingerprints":{"codehealthFindingId/v1":"0ed78dea2507988d30ca76c0b38a8ced0fa580019a379d1a19e18159de4c3b91"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: //ChoiceWithHelp(\u0022inlined\u0022, \u0022Apply -Wunused to inlined expansions\u0022), // TODO \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/config/ScalaSettings.scala"},"region":{"startLine":187}}}],"partialFingerprints":{"codehealthFindingId/v1":"2aad9c74763d2e7accfc7964d985f74cf25af407d337292ac616651a7a4b810e"}},{"ruleId":"D17","level":"warning","message":{"text":"XxxComment: // XXX It must be time for someone to figure out what all these things \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/config/PathResolver.scala"},"region":{"startLine":98}}}],"partialFingerprints":{"codehealthFindingId/v1":"f95223d9096396c9adc892e12effb522ba20a5f8adbcf528118778ff88587569"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO does not conform to spec \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/core/Types.scala"},"region":{"startLine":676}}}],"partialFingerprints":{"codehealthFindingId/v1":"9af482285b45f7c4e0a9ec87dc286d4f3f70b93edd26231b72e9620250adba2f"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Move all dependent functions to PolyFunctionOf and drop the \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/core/Types.scala"},"region":{"startLine":2046}}}],"partialFingerprints":{"codehealthFindingId/v1":"7768eb76e714128c8cd711687114806a5debd33842e80e3dbb125d97aedb876f"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO ^^^ handle ranges in capture sets as well \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/core/Types.scala"},"region":{"startLine":6726}}}],"partialFingerprints":{"codehealthFindingId/v1":"07a0652830e6692a1acc8594d0bc349eae62859c96abe8bd13870678626bae72"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: generalize the inlining trick? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/core/TypeOps.scala"},"region":{"startLine":97}}}],"partialFingerprints":{"codehealthFindingId/v1":"4002077a1992c75695abd53771a3c835a09284367f1168ee9e263fa9db1de205"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // todo: what about repeatedParam? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/core/TypeErasure.scala"},"region":{"startLine":1139}}}],"partialFingerprints":{"codehealthFindingId/v1":"c79de0e1a30eb83906c3d635e9a0c8f4ceafb1e1c44ffa4123b6fa605bacd960"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Merge with isSubInfo in hasMatchingMember. Currently, we can\u0027t since \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/core/TypeComparer.scala"},"region":{"startLine":706}}}],"partialFingerprints":{"codehealthFindingId/v1":"065b0bc3856b93045eee5e035c772455ec5519d709b73d3e8fa55a0de8aa5360"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Analyze cases where they are not box compatible \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/core/TypeComparer.scala"},"region":{"startLine":2948}}}],"partialFingerprints":{"codehealthFindingId/v1":"25c459e640e5eb0a0a905b18ac4449a8a9aeb2601a4efade4eca1c81b1e2b0a5"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: figure out what\u0027s wrong in the setup of CommentPicklingTest and re-enable assertion. \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/core/Symbols.scala"},"region":{"startLine":68}}}],"partialFingerprints":{"codehealthFindingId/v1":"6836abf28110a219a12d1b587474d12deed206537425a00cf2d74f3f808dbea9"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO Scala 3.x: only check for inline vals (no final ones) \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/core/SymUtils.scala"},"region":{"startLine":162}}}],"partialFingerprints":{"codehealthFindingId/v1":"bdb3922242b129e5236c6ebeaf31dfb6d3eba036554e4a05d79fd71080165b17"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: \u0060if result == null then this else result\u0060 should work here, improve flow typing to handle it \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/core/Scopes.scala"},"region":{"startLine":172}}}],"partialFingerprints":{"codehealthFindingId/v1":"cbb7604c3ee12310b1adfa04594c4645540f16c7cf25c4626f11a13c296c15c3"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: This might test an unintended condition. \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/core/Phases.scala"},"region":{"startLine":356}}}],"partialFingerprints":{"codehealthFindingId/v1":"ec314ad35fa3e05c49d52157f43673fb9e0c1c27b39c069eeab4ee4c597b01b9"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: investigate why flow typing is not working on \u0060es\u0060 \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/core/OrderingConstraint.scala"},"region":{"startLine":66}}}],"partialFingerprints":{"codehealthFindingId/v1":"8b14792539d5130d0bd5b647533cc34b335af514386e3eadcd5b25ff14a1d444"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Refactor this code to take \u0060prev\u0060 as a parameter and add \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/core/OrderingConstraint.scala"},"region":{"startLine":586}}}],"partialFingerprints":{"codehealthFindingId/v1":"c5e594cd0212431e8175035c465dcdde83b72fb34ffa5e3f459586c4f39b1c57"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO this should not be needed \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/core/Names.scala"},"region":{"startLine":512}}}],"partialFingerprints":{"codehealthFindingId/v1":"a836fd6ab06327a665fd3f5e16f35a0f7c6552260aa12aa59764e86f4df98289"}},{"ruleId":"D17","level":"warning","message":{"text":"HackComment: // Hack to make super accessors from traits work. They would otherwise fail because of #765 \u2014 a workaround marked in source: record what it is compensating for and what would allow its removal (the upstream fix, the API it is waiting on, the invariant it restores), so the next reader can judge whether it is still needed rather than rediscovering why it is there."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/core/NameKinds.scala"},"region":{"startLine":270}}}],"partialFingerprints":{"codehealthFindingId/v1":"218afc93fd3ce19b1977f318e8ae72d7b4159a3bf7d5dea671d6e4af2b5a664d"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Reduce code duplication with UniqueExtMethName \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/core/NameKinds.scala"},"region":{"startLine":370}}}],"partialFingerprints":{"codehealthFindingId/v1":"a6c8e96452737e57a57bac48a5efa1231fd28075f50730b1eb4af40626ca9e4a"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO check for refinement? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/core/Definitions.scala"},"region":{"startLine":1932}}}],"partialFingerprints":{"codehealthFindingId/v1":"6993572d5f8797b0cffb3960a00927ee726f556a9c16c8a8a098fafd6785a48d"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Fix issue when converting ModeChanges and FreshModeChanges to extension givens \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/core/Contexts.scala"},"region":{"startLine":855}}}],"partialFingerprints":{"codehealthFindingId/v1":"5a0559c7c09d6766232ba8e859b3a78aabc3c70258d3c79363597719640056dc"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: //TODO: enable this once you know how to get \u0060sym.paramss\u0060 \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/core/Comments.scala"},"region":{"startLine":257}}}],"partialFingerprints":{"codehealthFindingId/v1":"2de1d9ddf66f7f74620d7e2036b37eaed848454ded459a4f7553ed5bfce77128"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: //TODO: could also be \u0060sym.owner.allOverrid..\u0060 \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/core/Comments.scala"},"region":{"startLine":490}}}],"partialFingerprints":{"codehealthFindingId/v1":"b9ccefc39693a76f4d0bde729e5c2bf0239149e2184f6ed575ae0e60438cd0c0"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO 1: parse runtime visible annotations on parameters \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/core/classfile/ClassfileParser.scala"},"region":{"startLine":1024}}}],"partialFingerprints":{"codehealthFindingId/v1":"52ae55ea0d541b2b6b6af3e53c6536f1d8c1de1f8f98056a01510a768d0e8b96"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO 2: also parse RuntimeInvisibleParamAnnotation \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/core/classfile/ClassfileParser.scala"},"region":{"startLine":1027}}}],"partialFingerprints":{"codehealthFindingId/v1":"63d9f5bdbe3a09b9195c228d1be7fe77576a0491aed17e7fdb104cf716b4b8b7"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // FIXME: this performs an equivalent of getExceptionTypes instead of getGenericExceptionTypes (SI-7065)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/core/classfile/ClassfileParser.scala"},"region":{"startLine":1078}}}],"partialFingerprints":{"codehealthFindingId/v1":"5358d8ade85895f0ccbfea41d22636fde9a6c5d874843da65ead78bd60efb7e1"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO Use this to tag the symbols of this dependency as compiled with explicit nulls (see use of unpicklingScala2Library). \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/core/tasty/TreeUnpickler.scala"},"region":{"startLine":117}}}],"partialFingerprints":{"codehealthFindingId/v1":"e0f81e84f7873bbfaee3e597182d6505a1d41026239b0f799fbd9ac80a27f416"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // to a closure parameter outside the closure itself. TODO: track this down, so that we \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/core/tasty/TreePickler.scala"},"region":{"startLine":107}}}],"partialFingerprints":{"codehealthFindingId/v1":"d6f8c7732be1967af4bf706e04e13a7087101abdfaa313cc4310861869d63082"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: if we introduce outline typing for Scala definitions \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/core/tasty/TreePickler.scala"},"region":{"startLine":386}}}],"partialFingerprints":{"codehealthFindingId/v1":"910a670cd16c53c7530d9822456923a4c08a242f56bb6bf6edbe47a933943116"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Decouple CliCommand from Context and use CliCommand.distill? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/core/tasty/TastyPrinter.scala"},"region":{"startLine":34}}}],"partialFingerprints":{"codehealthFindingId/v1":"34946eb98d5b17e9d81b866f666003d20443edfd6a3d134137640c0eb5e98908"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Should we elide attributes under testPickler? (i.e. \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/core/tasty/TastyPrinter.scala"},"region":{"startLine":258}}}],"partialFingerprints":{"codehealthFindingId/v1":"4130b69dccc2170187ba125c3d367bf5c650598721d5dc7a959dbd8ce12e7da6"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // !!! TODO: pull out primary constructor \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/core/unpickleScala2/Scala2Unpickler.scala"},"region":{"startLine":1194}}}],"partialFingerprints":{"codehealthFindingId/v1":"d42ab7821e94900b733e8c5fb7dbca77c67ea540d92679030b3dc522638ffa11"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // todo: make LIFTED = latePRIVATE? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/core/unpickleScala2/Scala2Flags.scala"},"region":{"startLine":79}}}],"partialFingerprints":{"codehealthFindingId/v1":"550eb906a5471f82c4b21851a230a38462ff4d3ae751939bc7c39b7033b923f5"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO handle correctly this case correctly to get the tree or avoid it completely. \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/fromtasty/ReadTasty.scala"},"region":{"startLine":62}}}],"partialFingerprints":{"codehealthFindingId/v1":"e6db675d9de82f6f64e7e36c39a4dbfde6774785a5db13ff12f2aeee87f9ec7e"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: pass type parameters in two sections? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/inlines/PrepareInlineable.scala"},"region":{"startLine":212}}}],"partialFingerprints":{"codehealthFindingId/v1":"70c9fdfed89184b042079c04b32e442c6b2f13ba8088bdbf940170ef89a52a2d"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Handle references to non-public types. \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/inlines/PrepareInlineable.scala"},"region":{"startLine":217}}}],"partialFingerprints":{"codehealthFindingId/v1":"8314927290c8d6a2bd388511a202da01b48d9ce1d2fdf608f9d16763c5815da4"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO Support this pattern \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/inlines/PrepareInlineable.scala"},"region":{"startLine":325}}}],"partialFingerprints":{"codehealthFindingId/v1":"60f4dbf2e9a67ddfe29434bf3836dd385dc65ac3925e0e58ded4d5b527dde06b"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: We need to stop inlining if there is a non-inline trait or class that sits between the inline trait and the current class. \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/inlines/Inlines.scala"},"region":{"startLine":133}}}],"partialFingerprints":{"codehealthFindingId/v1":"3d71b5e1a5f057e0549d398b6ac83acbc16b41c0a25c7a7f0711f9d7d7a3e0ce"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: This inlines also some calls to inline defs that were made in the inline trait body, is that ok? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/inlines/Inlines.scala"},"region":{"startLine":1069}}}],"partialFingerprints":{"codehealthFindingId/v1":"b0311e70d81bc78f205da3bda81193145526d5c025c79ec27be03eb2ba5d7b41"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO is this the correct span \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/inlines/Inliner.scala"},"region":{"startLine":728}}}],"partialFingerprints":{"codehealthFindingId/v1":"ad3b03672d5110d19aaee7f5e989d9dd5f1b39a44624be9cdc73675586678e66"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO this might not be useful if we do not support #11291"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/inlines/Inliner.scala"},"region":{"startLine":1140}}}],"partialFingerprints":{"codehealthFindingId/v1":"8c1fd933bbbd8beb83d09f18923ddce2888fa1becb0054172e033514a2fdd5fa"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // FIXME: Merge with NameTree#namePos ? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/interactive/SourceTree.scala"},"region":{"startLine":24}}}],"partialFingerprints":{"codehealthFindingId/v1":"996ba0b497066f3f2fbbc58d59bc9dfaa14a12c4ae5a4c003e01d4696440c640"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // FIXME: This is incorrect in some cases, like with backquoted identifiers, \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/interactive/SourceTree.scala"},"region":{"startLine":35}}}],"partialFingerprints":{"codehealthFindingId/v1":"a3d4cf53d3718f501b37e8c7c79b89edf480e1291ae4966da931aade79735524"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // FIXME: No SourceFile annotation on SourceFile itself \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/interactive/SourceTree.scala"},"region":{"startLine":59}}}],"partialFingerprints":{"codehealthFindingId/v1":"84eb37bd1b880a59a6c2f2133e9eb250c44e852a1b680fccc2d84f71cfd4c0e9"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // FIXME: We cannot deal with external projects yet \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/interactive/SourceTree.scala"},"region":{"startLine":60}}}],"partialFingerprints":{"codehealthFindingId/v1":"b93b79937cb0c9b386b581d89222c539dcd3a0ff8e14c01aff89ea7498d4f745"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Figure out what phases should be run in IDEs \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/interactive/InteractiveCompiler.scala"},"region":{"startLine":11}}}],"partialFingerprints":{"codehealthFindingId/v1":"f59543b24fddf0e8f0bdf0b8310a85fb10bc4d1526bde05ce874868f3a500b80"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: //inline val QUOTEID = 13;        enter(QUOTEID, \u0022quoted identifier\u0022) // TODO: deprecate \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/parsing/Tokens.scala"},"region":{"startLine":41}}}],"partialFingerprints":{"codehealthFindingId/v1":"d409966722ba616816ca2e93785c9447b67ea8a28b4125165ecce8537bf9387c"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: //inline val FORSOME = 61;          enter(FORSOME, \u0022forSome\u0022) // TODO: deprecate \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/parsing/Tokens.scala"},"region":{"startLine":89}}}],"partialFingerprints":{"codehealthFindingId/v1":"92b9a7e922b69a4cec6d0ee59ff4fc8ad8ee5f491278447b1f44fbbd9f6ef131"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: deprecate \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/parsing/Tokens.scala"},"region":{"startLine":148}}}],"partialFingerprints":{"codehealthFindingId/v1":"36a5f5e39c925dce3f6132f2c40d85cfe297622a050ccd6e7ca4536eff415850"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: deprecate \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/parsing/Tokens.scala"},"region":{"startLine":174}}}],"partialFingerprints":{"codehealthFindingId/v1":"9f2b8ea0a53ba1a1b5df0a6a2a94bca6278d274e4b6dcc12f17a01f93ebea186"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: deprecate \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/parsing/Tokens.scala"},"region":{"startLine":207}}}],"partialFingerprints":{"codehealthFindingId/v1":"403ee7337d222cfc061218ca65569831ada1a38c4b167d84f1f718707875fe67"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: remove \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/parsing/Tokens.scala"},"region":{"startLine":178}}}],"partialFingerprints":{"codehealthFindingId/v1":"3d54ed4eb55c75d4b9770938ba2875b0f34e517026e886cd83dde4cd45852306"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: remove \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/UninitializedError.scala"},"region":{"startLine":19}}}],"partialFingerprints":{"codehealthFindingId/v1":"8abe7dbb99083dd84bb46e564cc4ae902d7515954ea4f5800ea0e887c9e5ecaf"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: drop QUOTEID when symbol literals are gone \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/parsing/Tokens.scala"},"region":{"startLine":217}}}],"partialFingerprints":{"codehealthFindingId/v1":"d4433b5ed1caa9f7cd3ba86e4d87c91261081d46673c39ca835b0ee16d7bec47"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: syntax.md should be adjusted to reflect the difference that \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/parsing/Parsers.scala"},"region":{"startLine":4790}}}],"partialFingerprints":{"codehealthFindingId/v1":"e7142431dceed8d7f9334bc91975486c578dfe6e76b2e208aa68bd3cd8f846df"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // A final modifier means the local definition is \u0022class-like\u0022.  // FIXME: Deal with modifiers separately \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/parsing/Parsers.scala"},"region":{"startLine":5241}}}],"partialFingerprints":{"codehealthFindingId/v1":"40e8ed45fed47cd00b81b2a8286589e516d5d2643ffe94c1586645e2bef37bcc"}},{"ruleId":"D17","level":"warning","message":{"text":"XxxComment: // XXX this is where we\u0027d like to put Select(value, nme.toString_) for #1787"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/parsing/xml/SymbolicXMLBuilder.scala"},"region":{"startLine":229}}}],"partialFingerprints":{"codehealthFindingId/v1":"90b926fcfe15bd1f09b3c039dacea5cd4e2a4de4642c006e99c473f1e76b4cf4"}},{"ruleId":"D17","level":"warning","message":{"text":"XxxComment: // XXX Return to this once we have more ARM support \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/plugins/Plugin.scala"},"region":{"startLine":142}}}],"partialFingerprints":{"codehealthFindingId/v1":"7a4297e3f94c1bd75c78a2cfeb3fd71884a4d7f263249ee8d0b1a461c600272f"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO move underlying type to an addendum, e.g. ... z3 ... where z3: ... \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/printing/PlainPrinter.scala"},"region":{"startLine":450}}}],"partialFingerprints":{"codehealthFindingId/v1":"1d2ec2e6d8e5d8c0b2da90cc474ad74c1602ceb0eafe5d7a7134477df0d39f0c"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Better printing? USe a mode where we print more \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/printing/PlainPrinter.scala"},"region":{"startLine":474}}}],"partialFingerprints":{"codehealthFindingId/v1":"26cacbfe8969a4861d551fdf02b0da1cc7a3cde641daa171a8c917f890dee367"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // FIXME: The first assigned runId is equal to 2 instead of 1 (InitialRunId). \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/profile/Profiler.scala"},"region":{"startLine":186}}}],"partialFingerprints":{"codehealthFindingId/v1":"2dd6c384e6ee7068cf7aebafc577df0d76cecf61d80dd5415e80311ee14be7e7"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO upgrade to a full type tag check or something similar \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/quoted/Interpreter.scala"},"region":{"startLine":54}}}],"partialFingerprints":{"codehealthFindingId/v1":"97643c13f65b4d5e86468551ff3f5a26d3b11e79c997ab752b4bc2dc43e48fe4"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO disallow interpreted method calls as arguments \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/quoted/Interpreter.scala"},"region":{"startLine":71}}}],"partialFingerprints":{"codehealthFindingId/v1":"8706067cc57248b253b5c5e0dd179e81b95260acf2fadf4b8537fa822f3cf36b"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // FIXME also handle SynthesisFailure \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/reporting/messages.scala"},"region":{"startLine":3255}}}],"partialFingerprints":{"codehealthFindingId/v1":"3074384a7a025f2b0ad026d96cd3b0d28f4b08e17ef52452f52440ea96162656"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: don\u0027t split on escaped \\\u0026 \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/reporting/WConf.scala"},"region":{"startLine":78}}}],"partialFingerprints":{"codehealthFindingId/v1":"05be4e64b66a61c3bac4fce86ce5f93906ababb85413934577d28c7d9ae3228b"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // this happens in dotty.tools.repl.ScriptedTests // TODO add name of source or remove \u0060:\u0060 (and update test files) \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/reporting/MessageRendering.scala"},"region":{"startLine":208}}}],"partialFingerprints":{"codehealthFindingId/v1":"6bd1f9672eaca48fcfd8f21487c0afd3538aad891a4a23f167981fe435076af0"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: show this \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/reporting/Diagnostic.scala"},"region":{"startLine":139}}}],"partialFingerprints":{"codehealthFindingId/v1":"a29ef3a46f5a7ddb60df695312f6d1ee5eb83d183a70836a194de31617bf8b0f"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: ideally we should avoid unnecessarily caching these Zinc specific \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/sbt/package.scala"},"region":{"startLine":34}}}],"partialFingerprints":{"codehealthFindingId/v1":"ddf319260c2b13ecc8ac09085be102e0669a1e474c8f9a0f1d0c643a6e6ac6c7"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Add a \u0060Phase#runsBefore\u0060 method ? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/sbt/ExtractDependencies.scala"},"region":{"startLine":70}}}],"partialFingerprints":{"codehealthFindingId/v1":"8ea3f62693e1eebe3fac4edcbc5c28cc26ad3ae54ece4e27b9ef8560373931f2"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: We shouldn\u0027t have to compute inherited members. Instead, \u0060Structure\u0060 \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/sbt/ExtractAPI.scala"},"region":{"startLine":360}}}],"partialFingerprints":{"codehealthFindingId/v1":"627bf5396ce3e1b01544cb190672a99131c8e238415ec578005e83513b47efa5"}},{"ruleId":"D17","level":"warning","message":{"text":"HackComment: // Hack to represent dotty types which don\u0027t have an equivalent in xsbti \u2014 a workaround marked in source: record what it is compensating for and what would allow its removal (the upstream fix, the API it is waiting on, the invariant it restores), so the next reader can judge whether it is still needed rather than rediscovering why it is there."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/sbt/ExtractAPI.scala"},"region":{"startLine":518}}}],"partialFingerprints":{"codehealthFindingId/v1":"b37268aee399eecd11570cf2ff8c23c253cc7affdc9ca06849c8f1dcab956045"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Never dealias. We currently have to dealias because \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/sbt/ExtractAPI.scala"},"region":{"startLine":529}}}],"partialFingerprints":{"codehealthFindingId/v1":"a78b601e86eb0ce0ada8889ffcd16df147bb5ac3d465cd37c9592176503b53d8"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Distinguishing parameters based on their names alone is not enough, \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/sbt/ExtractAPI.scala"},"region":{"startLine":644}}}],"partialFingerprints":{"codehealthFindingId/v1":"f57644bb5b004fa0817f9e959b51d2916fdd2d8ad24ae0ded6d47486cbfba4cf"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: The sbt api needs a convenient way to make a lazy type. \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/sbt/ExtractAPI.scala"},"region":{"startLine":662}}}],"partialFingerprints":{"codehealthFindingId/v1":"aa002d9d623458dd355467f615d47d64c2ab18907d0676f4f3a5b8049da06ed2"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // FIXME: If \u0060p\u0060 is a tree we should probably take its type into account \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/sbt/ExtractAPI.scala"},"region":{"startLine":830}}}],"partialFingerprints":{"codehealthFindingId/v1":"2ae2408124e976e8ead664942fdcbb8cafa292ebf6b348e29d916a3065637956"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO - need to check how to implement this properly \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/semanticdb/SemanticSymbolBuilder.scala"},"region":{"startLine":183}}}],"partialFingerprints":{"codehealthFindingId/v1":"1bc957df98386b6e1ff25bbc2ccf3781233930e37ad72777caf9145296a53593"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO - need to check how to implement this properly \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/semanticdb/SemanticSymbolBuilder.scala"},"region":{"startLine":187}}}],"partialFingerprints":{"codehealthFindingId/v1":"701bf30282d2d06f97224981b5bb3022cd60a388cf018ccb4b728c9e64986d36"}},{"ruleId":"D17","level":"warning","message":{"text":"HackComment: // hack for inline code \u2014 a workaround marked in source: record what it is compensating for and what would allow its removal (the upstream fix, the API it is waiting on, the invariant it restores), so the next reader can judge whether it is still needed rather than rediscovering why it is there."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/semanticdb/ExtractSemanticDB.scala"},"region":{"startLine":291}}}],"partialFingerprints":{"codehealthFindingId/v1":"b08aef1baca7972c631e9f90fb8279bff52ad9fe3761f40ccc56f16e85d7c050"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: //todo: labels is not supported \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/semanticdb/internal/SemanticdbInputStream.scala"},"region":{"startLine":356}}}],"partialFingerprints":{"codehealthFindingId/v1":"8e62ce2bf5ccd42f561047040afc100ea2077fb177c58b8845ec6f8c67530793"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO(martinrb): We could save a pass by validating while decoding. \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/semanticdb/internal/SemanticdbInputStream.scala"},"region":{"startLine":465}}}],"partialFingerprints":{"codehealthFindingId/v1":"18841a9395a5326a54171fdfb8d2eae94edc57074d581db5572941e07b4a20e0"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO also check types, currently we do not add Inlined(EmptyTree, _, _) for types. We should. \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/YCheckPositions.scala"},"region":{"startLine":32}}}],"partialFingerprints":{"codehealthFindingId/v1":"97f9d89038d0ad925e4b3a97e931eb31c454c0b9c49e43b33f5cbe08b2eb6112"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO check inline proxies (see tests/tun/lst) \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/YCheckPositions.scala"},"region":{"startLine":33}}}],"partialFingerprints":{"codehealthFindingId/v1":"16908d80783d644b1da96e5db4e9cc6d3040145da9448daf3ca99c57871b049e"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // bindings.foreach(traverse(_)) // TODO check inline proxies (see tests/tun/lst) \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/YCheckPositions.scala"},"region":{"startLine":48}}}],"partialFingerprints":{"codehealthFindingId/v1":"e4f95c5a1c0b07c2d2e8f9624f2c534a38d519a1a2b39ddee9a3b7096b22e3e5"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // FIXME macro implementations can drop Inlined nodes. We should reinsert them after macro expansion based on the positions of the trees \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/YCheckPositions.scala"},"region":{"startLine":50}}}],"partialFingerprints":{"codehealthFindingId/v1":"63fa6ee97c822c92adcdadbecc9a7453e8ae0a33216d33c25c5261e50e0bb297"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // FIXME The patched symbol has a different source as the definition of Predef. Solution: define them directly in \u0060Predef\u0060s TASTy and do not patch (see #19231)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/YCheckPositions.scala"},"region":{"startLine":51}}}],"partialFingerprints":{"codehealthFindingId/v1":"129ee9bd38d07712e42d43390d25b67051b711a38b9614b0bdc89896314817c9"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO remove this distinction once Inline nodes of expanded macros can be trusted (also in Inliner.inlineCallTrace) \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/YCheckPositions.scala"},"region":{"startLine":73}}}],"partialFingerprints":{"codehealthFindingId/v1":"d00c17b05399e5adbf32b715a1491e181fa13292a81554ffa187829b2344f5ee"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO should this code be here? Or assert(size \u003E specializedSize) \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/TupleOptimizations.scala"},"region":{"startLine":199}}}],"partialFingerprints":{"codehealthFindingId/v1":"e0212019973ca7f6e5a69f83321ef89fc6286ae8208d8bd79e96be2d988ca632"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO outline this code for the 22 alternatives (or less, may not need the smallest ones)? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/TupleOptimizations.scala"},"region":{"startLine":203}}}],"partialFingerprints":{"codehealthFindingId/v1":"bd0328ce103be5b14838a5634fe8a595d5d32d9f1ed2d294bea657967559ae75"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: //TODO CHECK. Check that we are bootstrapped \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/TreeChecker.scala"},"region":{"startLine":141}}}],"partialFingerprints":{"codehealthFindingId/v1":"5e66b064ebc1f742165d7078b2d10b241ec41fcc7bee45ce8dc0a70470c788d2"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // todo: compare trees inside annotations \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/TreeChecker.scala"},"region":{"startLine":309}}}],"partialFingerprints":{"codehealthFindingId/v1":"6207df3b6094a7aa14647504e73cdb88912c9a31629fb4b6805429f2575bf4aa"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO add check for module initialization after erasure (LazyVals transformation) \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/TreeChecker.scala"},"region":{"startLine":581}}}],"partialFingerprints":{"codehealthFindingId/v1":"5c81f5e08f2821f0dc12e92c39b252eaa0036a14422929f48fe9ec45ebceb67a"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // FIXME: want to report this error on \u0060tree.nameSpan\u0060, but \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/TailRec.scala"},"region":{"startLine":120}}}],"partialFingerprints":{"codehealthFindingId/v1":"2b505bc1e595c6f252901f603af1bf4213280add37ce4274c56c1cc8494bd66f"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: add to the context \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/Splicing.scala"},"region":{"startLine":171}}}],"partialFingerprints":{"codehealthFindingId/v1":"169aa2f9feb72bed8346c610f1ad3e2e9f530ae9a622ba8612b559b291acc558"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO suggest use of @binaryAPI once we have the annotation \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/Splicer.scala"},"region":{"startLine":238}}}],"partialFingerprints":{"codehealthFindingId/v1":"e565cc527c0a17e7fd222a0ec51c1310d20ea20c8530ab91cfb8ae02ff4739ca"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: check that things are inlined properly \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/SpecializeInlineTraits.scala"},"region":{"startLine":95}}}],"partialFingerprints":{"codehealthFindingId/v1":"15328bc41a6b44e17e960ac2acd7ced48d770481947b4101c37d737ea15d6423"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: investigate what goes wrong we Ycheck directly after rechecking. \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/Recheck.scala"},"region":{"startLine":139}}}],"partialFingerprints":{"codehealthFindingId/v1":"e21829d5249d5d11d40098ad48cbaba6cf3e1a05965602460940066ffa624581"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Should we allow for completers as for ValDefs or DefDefs? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/Recheck.scala"},"region":{"startLine":562}}}],"partialFingerprints":{"codehealthFindingId/v1":"55ce88bba106c7d751ecbf192df8f23cd998221a0b14b65d88b41997a71a6a90"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO fill in \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/PostTyper.scala"},"region":{"startLine":142}}}],"partialFingerprints":{"codehealthFindingId/v1":"ac070008214d8de9dc065a4759aae4ff4f9c32e3b8c550c7822e9b75225d29f5"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO move CaseDef case lower: keep most probable trees first for performance \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/PostTyper.scala"},"region":{"startLine":565}}}],"partialFingerprints":{"codehealthFindingId/v1":"2826d7d3b9e8105108eef9d41b33659508e08321066c33a3f3a0cf3429b4169e"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: later we may want outline for Scala sources too \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/Pickler.scala"},"region":{"startLine":466}}}],"partialFingerprints":{"codehealthFindingId/v1":"037f237fa63859965b478356c271c0a9cb26c8e8690b53f9d259aaad7fe0f993"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO factor out duplicated logic in Splicing \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/PickleQuotes.scala"},"region":{"startLine":129}}}],"partialFingerprints":{"codehealthFindingId/v1":"4db77f751d96a48db851a26f7679eacf5714e847f8ce8cfeba18cfb8299b1ffb"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO should all constants be pickled as Literals? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/PickleQuotes.scala"},"region":{"startLine":274}}}],"partialFingerprints":{"codehealthFindingId/v1":"6798531e65e8cf648ebe3fc916ea9fb42e23467c9a8a7cc176ea1edfbd1897c4"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: beta reduce inner closure? Or wait until BetaReduce phase? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/PickleQuotes.scala"},"region":{"startLine":334}}}],"partialFingerprints":{"codehealthFindingId/v1":"13e4b759bf8356d0508a7064ba659ab025c1657cca15498ebb36f57d3b881589"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Drop Case once we use everywhere else \u0060isPatmatGenerated\u0060. \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/PatternMatcher.scala"},"region":{"startLine":117}}}],"partialFingerprints":{"codehealthFindingId/v1":"6fc63edfd71a25e39701e9e4defdfa158a7d82dcd599661647ee931def0117f8"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Find out why TraitSetterNames can\u0027t be defined over QualifiedNames \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/Mixin.scala"},"region":{"startLine":31}}}],"partialFingerprints":{"codehealthFindingId/v1":"dceb919b145fc3744ad39a81ecbc112dece74b3200afa23d67b9c860577c9e34"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Remove when scala.annotation.MacroAnnotation is no longer experimental \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/MacroAnnotations.scala"},"region":{"startLine":93}}}],"partialFingerprints":{"codehealthFindingId/v1":"9ef487bd6340c5a0cdd8f2256bc623a3d9dea3c7d2aff6cf0987e37f88ecf913"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Make this error handling stronger (no error handling at the moment) \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/MacroAnnotations.scala"},"region":{"startLine":103}}}],"partialFingerprints":{"codehealthFindingId/v1":"a321be9974a47f60ec5eced1ba7c95847c38971e0af6bf1851e591ef312fdd61"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Remove when scala.annaotaion.MacroAnnotation is no longer experimental \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/MacroAnnotations.scala"},"region":{"startLine":106}}}],"partialFingerprints":{"codehealthFindingId/v1":"23c0414b6fa9a742b591dd2d5d1210c0787c8ece6f2d79531452da65992790a3"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Replace this case when scala.annotation.MacroAnnotation is no longer experimental and reflectiveSelectable is not used \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/MacroAnnotations.scala"},"region":{"startLine":124}}}],"partialFingerprints":{"codehealthFindingId/v1":"26c58e19c497f16d34c806a5427a8945d20bc26875820b1b8b460f7cf78c731c"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Implement Unit-typed lazy val optimization described below \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/LazyVals.scala"},"region":{"startLine":155}}}],"partialFingerprints":{"codehealthFindingId/v1":"f1a746a103aa3a130de8d0c7401af5d670c5593d8fa398944ad1462b026498f4"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: add missing cases from scalac \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/InterceptedMethods.scala"},"region":{"startLine":57}}}],"partialFingerprints":{"codehealthFindingId/v1":"f70c4cf67c5b2ebb17ffe9d2c722b7d7cc35455f7fa12b2868398fac452a9d91"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: figure out why pos.end can be out of range, e.g., in \u0060tests/run/targetName-modules-2\u0060 \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/InstrumentCoverage.scala"},"region":{"startLine":296}}}],"partialFingerprints":{"codehealthFindingId/v1":"8a3ed48f82ba5f85b13104c9eb423a166e4f2cdd3e08a442d584f4b383df7f12"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO merge with BetaReduce.scala \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/InlinePatterns.scala"},"region":{"startLine":57}}}],"partialFingerprints":{"codehealthFindingId/v1":"c3290affcfdfae60a8432c2b238e23afe950ca15b95d9ad33f584c6757dd5eaf"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // todo: check that when transformation finished map is empty \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/ExtensionMethods.scala"},"region":{"startLine":144}}}],"partialFingerprints":{"codehealthFindingId/v1":"cd8d1cf5e66bf5c9107ac2a067f3fb35b7da0a156aaef53335d5a7b0d574931e"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // FIXME use toStatic instead? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/ExtensionMethods.scala"},"region":{"startLine":189}}}],"partialFingerprints":{"codehealthFindingId/v1":"646eacc5449fec6482fb71626efbfdb83acc2810290be64f02fdc0145cb61cbe"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: should we test absolute paths instead? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/ExpandPrivate.scala"},"region":{"startLine":77}}}],"partialFingerprints":{"codehealthFindingId/v1":"88ba68cdce3fae7d964aac6ba621ac0b7a772ca4d7eb21785171aadbc7f40455"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: define derivedSymDenotation? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/Erasure.scala"},"region":{"startLine":110}}}],"partialFingerprints":{"codehealthFindingId/v1":"60fa2decbbbdb68285ddbf296022528f87db737f39cedf2f1f54d030f2f5c1f8"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: replace with assertion once pattern matcher is active \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/Erasure.scala"},"region":{"startLine":1171}}}],"partialFingerprints":{"codehealthFindingId/v1":"8f40b6fd119379f60505ad8d7104ab523455cfa6f8e2fe38c458d63a15200bcf"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // erasure. TODO: Verify that this is OK. \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/ElimErasedValueType.scala"},"region":{"startLine":115}}}],"partialFingerprints":{"codehealthFindingId/v1":"b7bf938fd92c4ce01f08aeebb674272b484a005282700951e5031c2504610c77"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Show errors where they actually show up in the inline trait and not at the type of the user \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/DesugarSpecializedTraits.scala"},"region":{"startLine":100}}}],"partialFingerprints":{"codehealthFindingId/v1":"8d34c407d113ec978dcbab9d7cb5b44d0818a587e2e25277dd5d232b175f5b36"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: I reckon to get the best miniphase style processing we can do everything except \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/DesugarSpecializedTraits.scala"},"region":{"startLine":368}}}],"partialFingerprints":{"codehealthFindingId/v1":"99cb1199cf69b63fef7fda66d98e379a36ea2e43cd2cd15dcc36d786a93cccd4"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Do we want to compress this more by adopting e.g. specializedTypeNames from scala 2? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/DesugarSpecializedTraits.scala"},"region":{"startLine":716}}}],"partialFingerprints":{"codehealthFindingId/v1":"a329988e7a8f2a3ec06f933e965e66126affeffb36af843327173425dfda067e"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: this happens to work only because Constructors is the last phase in group \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/Constructors.scala"},"region":{"startLine":348}}}],"partialFingerprints":{"codehealthFindingId/v1":"4fc06839e9eda6c18ac2b56e3c5f5efaed710ed506249c9c9eacbb9c30647ac5"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO is this a code path \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/CheckUnused.scala"},"region":{"startLine":608}}}],"partialFingerprints":{"codehealthFindingId/v1":"fa0286a4f99bb724319476effb2e9d9f2ed2fa820debc98922d99aa355912893"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // todo improve to include offset of next line, endline \u002B 1 \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/CheckUnused.scala"},"region":{"startLine":834}}}],"partialFingerprints":{"codehealthFindingId/v1":"a4c53f0c701ee1433f2b0018f9e2a33bca56e66322591e3b5fa18f527164b863"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO improve to use class path or reflect \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/CheckUnused.scala"},"region":{"startLine":1032}}}],"partialFingerprints":{"codehealthFindingId/v1":"b29d215969dcf560bd0d53653c6b79b9ffacbc6cb6e6881656490ad32118ebda"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: create a proper accessor for the private constructor \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/AccessProxies.scala"},"region":{"startLine":157}}}],"partialFingerprints":{"codehealthFindingId/v1":"396236ef2397bb89030d655e3b8378ab17afe22b3115bddda18c4f9ef617f7af"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: improve performance \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/init/Semantic.scala"},"region":{"startLine":531}}}],"partialFingerprints":{"codehealthFindingId/v1":"fbfaac8cb5326299410d734e00849c64ccc89d3549fcb6f38ace997f495d288c"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO:  disallow \u0060var x: T = _\u0060 \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/init/Semantic.scala"},"region":{"startLine":1260}}}],"partialFingerprints":{"codehealthFindingId/v1":"978bb2cbbc17ad518547f25deeccd9c16daf522a48ef50e62c9659c9e5894a56"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO:  disallow \u0060var x: T = _\u0060 \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/init/Objects.scala"},"region":{"startLine":1612}}}],"partialFingerprints":{"codehealthFindingId/v1":"edb96e47c96f17e844f820b7f73641cfb35384ebdb6684c4477c7d8f40f55dad"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Improve promotion to avoid handling enum initialization specially \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/init/Semantic.scala"},"region":{"startLine":1643}}}],"partialFingerprints":{"codehealthFindingId/v1":"44c31dc1ce1f00f8f88e09ddeba10e4d22a769ac2aa27f53bb790545e4e184c1"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: this should really be an annotation on the rhs of the field initializer rather than the field itself. \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/init/Objects.scala"},"region":{"startLine":67}}}],"partialFingerprints":{"codehealthFindingId/v1":"d9888a186473f816aec755cf1055d560f9dc6aa21689ec1dd2076b3724b0100c"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: rename it to reflect that it is key to the heap \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/init/Objects.scala"},"region":{"startLine":146}}}],"partialFingerprints":{"codehealthFindingId/v1":"456029f50046adda4d2e687fe4ba228c344adbe2c57465370be960a592470267"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: try to remove packages \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/init/Objects.scala"},"region":{"startLine":354}}}],"partialFingerprints":{"codehealthFindingId/v1":"8e0855cd3f5c914a605e03b84a20f78ab0bcf07eb8f06c36dff7178d45100416"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: do garbage collection on the heap \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/init/Objects.scala"},"region":{"startLine":1562}}}],"partialFingerprints":{"codehealthFindingId/v1":"3759a23c959886e5281b8ca12ead0ac3703c6404a5b5335ea57dea6ed11c714e"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: refactor the code of product sequence match, avoid passing NoType to parameter elemTp in evalSeqPatterns \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/init/Objects.scala"},"region":{"startLine":1927}}}],"partialFingerprints":{"codehealthFindingId/v1":"87fb61b542a70b35ce8858b0f44fcd74f0c660ae2dead4f0d6af9d5a2500c364"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: receiverType is the companion object type, not the class itself; \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/init/Objects.scala"},"region":{"startLine":1962}}}],"partialFingerprints":{"codehealthFindingId/v1":"fc6aa56455dcf5289f5ce7049bf0c17d0c807de150d550d4bf6847ef8636028e"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: store the parent objects and resolve \u0060p.this\u0060 for parent classes \u0060p\u0060 \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/init/Objects.scala"},"region":{"startLine":2155}}}],"partialFingerprints":{"codehealthFindingId/v1":"2f23d279951b74852c17a99456f8d440fd33acec8decaf73c28d4b418d307e66"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: //TODO: remove once there is less restrictive bincompat \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/localopt/StringInterpolatorOpt.scala"},"region":{"startLine":63}}}],"partialFingerprints":{"codehealthFindingId/v1":"d8a5510b6c33388560ffd17e14f44c6d3cdd77834f8bf79e7c8c5c5441e5a766"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO Warn for known duplicate property names \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/transform/sjs/PrepJSInterop.scala"},"region":{"startLine":365}}}],"partialFingerprints":{"codehealthFindingId/v1":"f1e4aa283586be2911eb92b6682c41be4a7d8ef28c114184de2dcfef74ca60a2"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO use an import or shorten if possible \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/typer/VarianceChecker.scala"},"region":{"startLine":205}}}],"partialFingerprints":{"codehealthFindingId/v1":"f8832c3d07a02cd140b017a6e165be44abe53d69afa454f08bb1b385a40c544c"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO need to use a \u0060:\u0027 if annotation is on term \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/typer/VarianceChecker.scala"},"region":{"startLine":206}}}],"partialFingerprints":{"codehealthFindingId/v1":"cb152e6fc531a7f2fe61fc9417a06cb35a41d660752a9359e7c7f8fffbe11391"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: should we exclude all synthetic members? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/typer/VarianceChecker.scala"},"region":{"startLine":216}}}],"partialFingerprints":{"codehealthFindingId/v1":"12f4727e6ff8e85d61f6e5389b2184efea893204a72d16e4c2a123098ef3699b"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // FIXME(#8680): Quoted patterns do not support Array repeated arguments"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/typer/Typer.scala"},"region":{"startLine":1365}}}],"partialFingerprints":{"codehealthFindingId/v1":"7a792d918ae001ebd9094e8349306eaf6f61f0223c12bb12193d3c8327986b46"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // and would not pass Ycheck. We have to use a cast instead. TODO: follow-up why \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/typer/Typer.scala"},"region":{"startLine":1644}}}],"partialFingerprints":{"codehealthFindingId/v1":"96bd215c712a07955e500a2994583bdd19548d5daa757ede8a19d4cd927e3149"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: move the check above to patternMatcher phase \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/typer/Typer.scala"},"region":{"startLine":2324}}}],"partialFingerprints":{"codehealthFindingId/v1":"822052c80a48c36b410db779a22760654da98d98cdde4125fabfbe12a750a71f"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: get clarity whether we want to enforce these conditions \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/typer/Typer.scala"},"region":{"startLine":2753}}}],"partialFingerprints":{"codehealthFindingId/v1":"78f2ec3bf716596910257a10f549e5c0ba316bdab51dbc96ccf3cddf3edecd93"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: //todo: make sure dependent method types do not depend on implicits or by-name params \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/typer/Typer.scala"},"region":{"startLine":3280}}}],"partialFingerprints":{"codehealthFindingId/v1":"ccfdce8dada025af7dc54079f8f164ef67bab3a529a50a2ddf830cbd4c783f76"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // todo later: check that \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/typer/Typer.scala"},"region":{"startLine":3620}}}],"partialFingerprints":{"codehealthFindingId/v1":"d00cf659bf83d5fc49a819eff458e286adee368e2d7cec76ab33aa263e3af708"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Not clear that hiding is what we want, actually \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/typer/Typer.scala"},"region":{"startLine":4037}}}],"partialFingerprints":{"codehealthFindingId/v1":"3dc79332ea86a4e73fcd85265e085c241831156f80d150a4ee87559ae34abaea"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: report NotAMember instead, but need to be aware of failure \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/typer/Typer.scala"},"region":{"startLine":4480}}}],"partialFingerprints":{"codehealthFindingId/v1":"18f6425c5dfee22191ce6150c17a6c4f408533099a07f0612e7b35a52ae01cd7"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // is thrown. TODO Find out why the bad typer state arises and prevent it. The try-catch \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/typer/Typer.scala"},"region":{"startLine":4691}}}],"partialFingerprints":{"codehealthFindingId/v1":"d23731b70151532ebf157d61603fa2771ab963d5c3df09d324b639e14558b8a2"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO check that call is to a method with valid signature \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/typer/Typer.scala"},"region":{"startLine":5430}}}],"partialFingerprints":{"codehealthFindingId/v1":"88f653b94fde72b77e2dd4c94fc961df6403c657ea0f088ec9a6e80398a5bfb4"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Remove quotesException once we bootstrap with 3.10. \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/typer/TypeAssigner.scala"},"region":{"startLine":455}}}],"partialFingerprints":{"codehealthFindingId/v1":"62f11ba7f847b7e0d064593611c80e07623059ca20436743bf153c88efef2df8"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO drop once we bootstrap with 3.10 \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/typer/TypeAssigner.scala"},"region":{"startLine":471}}}],"partialFingerprints":{"codehealthFindingId/v1":"464aaa444e06b798f7ed15681130ec424c55562cc2f6512036f18b54a572d167"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // todo: align accessibility implication checking with isAccessible in Contexts \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/typer/RefChecks.scala"},"region":{"startLine":534}}}],"partialFingerprints":{"codehealthFindingId/v1":"fbcc60a842aa0fbdecc2bc360e53abe8509e6e3907f023851c3e1146ff7a3e8d"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Should we exclude all refinements inherited from parents? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/typer/RefChecks.scala"},"region":{"startLine":636}}}],"partialFingerprints":{"codehealthFindingId/v1":"f80358d4a93236647005d973f55df41bc44001cc606c730ce208fb1c2b29ff76"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO typecheck directly (without \u0060exprQuote\u0060) \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/typer/QuotesAndSplices.scala"},"region":{"startLine":65}}}],"partialFingerprints":{"codehealthFindingId/v1":"3a39fc8e869074b1e769e5023484c7bf5ba2b1bb950862ce871e96a72985712f"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO typecheck directly (without \u0060exprSplice\u0060) \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/typer/QuotesAndSplices.scala"},"region":{"startLine":98}}}],"partialFingerprints":{"codehealthFindingId/v1":"d6712602354c56122fb869ed58f9c1b3ea4b7f2ae7c661c02f69b6888bd0306a"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO support these patterns. Possibly using scala.quoted.util.Var \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/typer/QuotesAndSplices.scala"},"region":{"startLine":133}}}],"partialFingerprints":{"codehealthFindingId/v1":"6987fecbbcc6ca0d1d70c03f202190173c74c24109699b31f276372f293e5ae6"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: handle TypeBoundsTree, LambdaTypeTree as well as method parameters in DefTrees? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/typer/QuotesAndSplices.scala"},"region":{"startLine":364}}}],"partialFingerprints":{"codehealthFindingId/v1":"bd036e6e876f368a4a7d25fae943a11782ac4a4dc4cb5ab179302c1683eaa15d"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // specific after instantiation. TODO: Should we also use Wildcards for non-inline \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/typer/ProtoTypes.scala"},"region":{"startLine":142}}}],"partialFingerprints":{"codehealthFindingId/v1":"e9e35d314d0195ca316bed3bdc2f671b1b834bdd059165f6257c97ba30b3b8b0"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: investigate why flow typing is not working on \u0060targ\u0060 \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/typer/ProtoTypes.scala"},"region":{"startLine":475}}}],"partialFingerprints":{"codehealthFindingId/v1":"f7541ab07b88524738d6f30949e7aec2feaa478d1c3a863ae00e24ae6a9f5d7a"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Add constant pattern if the constant type is not nullable \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/typer/Nullables.scala"},"region":{"startLine":223}}}],"partialFingerprints":{"codehealthFindingId/v1":"e08fc99474889656e86ae6124d78b268a85fc9b0d0fc298f6a503b858a4fcce2"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: This probably needs to be filtered to avoid adding some annotation \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/typer/Namer.scala"},"region":{"startLine":1458}}}],"partialFingerprints":{"codehealthFindingId/v1":"2c58085354d00242d6a7bb48c8760b92613980dbb7b50edeb434586db66eb88a"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // AVOIDANCE TODO: Follow up why this happens, and whether there \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/typer/Namer.scala"},"region":{"startLine":1972}}}],"partialFingerprints":{"codehealthFindingId/v1":"6421f20a646b62914835f38450a55fa3659736a5a631f9c835e0e0a88ee03ff0"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Look only at member of supertype instead? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/typer/Namer.scala"},"region":{"startLine":2190}}}],"partialFingerprints":{"codehealthFindingId/v1":"ec3c6c3f5cbe70605ead0c81caaf3c315468887ec05e0c73f1001782ca67dd55"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // \u0026\u0026 !treeInfo.hasExplicitUnit(t)           // suppressed by explicit expr: Unit // TODO Should explicit \u0060: Unit\u0060 be added as warning suppression? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/typer/Linter.scala"},"region":{"startLine":56}}}],"partialFingerprints":{"codehealthFindingId/v1":"103baaef994f7801158b6f160009718e70942ed8cac98d4ef5817366419ba4e8"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: //end best  TODO: re-enable with new syntax \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/typer/ImportSuggestions.scala"},"region":{"startLine":318}}}],"partialFingerprints":{"codehealthFindingId/v1":"9f7369f78a7e08d7f4e6b423f18d9a9d39b01c68a23fa37bfa4f70595b2bf489"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: investigate why we can\u0027t TyperState#test here \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/typer/Implicits.scala"},"region":{"startLine":889}}}],"partialFingerprints":{"codehealthFindingId/v1":"34068aa960ae60b657c74341f95ec83b100ca94f7e44a5c8acf79de916c7803f"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO do we need to check checkDeprecatedOvers(tree)? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/typer/CrossVersionChecks.scala"},"region":{"startLine":122}}}],"partialFingerprints":{"codehealthFindingId/v1":"fe5cce0f61429912657c15a1580caf3ba3cd7b6f0512ff25531a02c096d27fe0"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Add more checks here \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/typer/Checking.scala"},"region":{"startLine":1730}}}],"partialFingerprints":{"codehealthFindingId/v1":"ed486a7c0f4e0f1a6fcff736fd86ca98bf21405cc5d80c2d816e62cc04765982"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: there is one in JDK 21, use it instead of this substring once that becomes the minimum version \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/util/Signatures.scala"},"region":{"startLine":307}}}],"partialFingerprints":{"codehealthFindingId/v1":"b7d3debb2df7d6213e6a2909660a6d7f43160c0e15d605ddc7cfc9352d854e93"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO after we migrate ShortenedTypePrinter into the compiler, it should rely on its api \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/util/Signatures.scala"},"region":{"startLine":551}}}],"partialFingerprints":{"codehealthFindingId/v1":"c396bab14ec0249faf6546506370d4aa95ae42009f253ee8f73638ef49b410c3"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: It\u0027d be good to drop trailing whitespace here. \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/util/CommentParsing.scala"},"region":{"startLine":97}}}],"partialFingerprints":{"codehealthFindingId/v1":"9b18171a43c3dde89f2248d759ee8ba5d107f17bd0b04cc4b82d721047034972"}},{"ruleId":"D17","level":"warning","message":{"text":"HackComment: // HACK: We can\u0027t just collect the classpath from arbitrary parent \u2014 a workaround marked in source: record what it is compensating for and what would allow its removal (the upstream fix, the API it is waiting on, the invariant it restores), so the next reader can judge whether it is still needed rather than rediscovering why it is there."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/util/ClasspathFromClassloader.scala"},"region":{"startLine":31}}}],"partialFingerprints":{"codehealthFindingId/v1":"6a1a7142a6a305db90aaf9f2ee61b87615d26808d8c853efcbd42c1d4505263c"}},{"ruleId":"D17","level":"warning","message":{"text":"HackComment: // HACK: For Java 9\u002B, if the classloader is an AppClassLoader then use the classpath from the system \u2014 a workaround marked in source: record what it is compensating for and what would allow its removal (the upstream fix, the API it is waiting on, the invariant it restores), so the next reader can judge whether it is still needed rather than rediscovering why it is there."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/dotc/util/ClasspathFromClassloader.scala"},"region":{"startLine":42}}}],"partialFingerprints":{"codehealthFindingId/v1":"4effe336b448eb593229fcafa2c6aff678263261816334877fa011fbe8d80df7"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Proper path support for VirtualFile, should be integrated with VirtualDirectory... \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/io/VirtualFile.scala"},"region":{"startLine":23}}}],"partialFingerprints":{"codehealthFindingId/v1":"fd2fb0a32f4ae620ee57c7c0cc2810199623481b3a724d7049919ec7d1e7cca7"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: The comment above is very old. It would be good to check this. (Win32\u0027s CreateFile can take CREATE_ALWAYS which truncates, so... why would that not be ok?) \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/dotty/tools/io/FileWriters.scala"},"region":{"startLine":227}}}],"partialFingerprints":{"codehealthFindingId/v1":"dba9dab188d6e623d48f7b10f4d550d76148a61e18e29f46eebfd0c071193383"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Now, the name should alwas be a term name \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/scala/quoted/runtime/impl/QuotesImpl.scala"},"region":{"startLine":682}}}],"partialFingerprints":{"codehealthFindingId/v1":"c58cc9a5adb1de0c0812c2d390490dd7170c523f72b03f7478672dd8b749576b"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO expose Quote AST in Quotes \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/scala/quoted/runtime/impl/QuotesImpl.scala"},"region":{"startLine":707}}}],"partialFingerprints":{"codehealthFindingId/v1":"9d5ddf132f438910ca64f62ca19c3bd1cb7cff5ad7e79fc288bcd7a595739e50"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO expose Quote AST in Quotes \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/scala/quoted/runtime/impl/QuotesImpl.scala"},"region":{"startLine":729}}}],"partialFingerprints":{"codehealthFindingId/v1":"432f81029c13368bf929d260d0023d2b7dd113f1a28dded08afaf6bbe4a4efa1"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO expose Quote AST in Quotes \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/scala/quoted/runtime/impl/QuotesImpl.scala"},"region":{"startLine":742}}}],"partialFingerprints":{"codehealthFindingId/v1":"193550a8f18c23052af888c921065341f7b7ae4ce1b04135b2a79eb62b346de8"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO expose Splice AST in Quotes \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/scala/quoted/runtime/impl/QuotesImpl.scala"},"region":{"startLine":708}}}],"partialFingerprints":{"codehealthFindingId/v1":"ee2b8bf62bcb2d0216725dfc724a3c85b5f88f3087ed76e7c9b4ad2620538f5a"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO expose Splice AST in Quotes \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/scala/quoted/runtime/impl/QuotesImpl.scala"},"region":{"startLine":734}}}],"partialFingerprints":{"codehealthFindingId/v1":"2021a7366458bc72e16171c3a6b597345d4ff236948889d6ec96a7c42f3eee5f"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO expose Splice AST in Quotes \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/scala/quoted/runtime/impl/QuotesImpl.scala"},"region":{"startLine":743}}}],"partialFingerprints":{"codehealthFindingId/v1":"725e8a0ce5bdf4a6142e2f6b9d5f64375f95e821137082e1af38041b0207803f"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO expose QuotePattern AST in Quotes \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/scala/quoted/runtime/impl/QuotesImpl.scala"},"region":{"startLine":1623}}}],"partialFingerprints":{"codehealthFindingId/v1":"f5fbc30ebd45f2ed77687ba5b3f384b0211924d22717ee9cf531d60022c24071"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO expose QuotePattern AST in Quotes \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/scala/quoted/runtime/impl/QuotesImpl.scala"},"region":{"startLine":1628}}}],"partialFingerprints":{"codehealthFindingId/v1":"a1ba6a30a99db52b1a65819366051f65f21912a3d1d227ad2dc0e3911b43abf4"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO expose QuotePattern AST in Quotes \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/scala/quoted/runtime/impl/QuotesImpl.scala"},"region":{"startLine":1645}}}],"partialFingerprints":{"codehealthFindingId/v1":"c3df188bb6d2e73a83faa2c688d6fa2164618f1c5f9cae47dad0adfe3f43ce7a"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO expose QuotePattern AST in Quotes \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/scala/quoted/runtime/impl/QuotesImpl.scala"},"region":{"startLine":1648}}}],"partialFingerprints":{"codehealthFindingId/v1":"c4dc36d5ffe32b6f20912016a37279f7636930e26f7da5a057549e2e71e0c37f"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO expose QuotePattern AST in Quotes \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/scala/quoted/runtime/impl/QuotesImpl.scala"},"region":{"startLine":1651}}}],"partialFingerprints":{"codehealthFindingId/v1":"369c57201f5b86cefd48875f51b1a31cfd85c6d9a11cab640cbee4ff25c39a73"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: handle import bounds \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/scala/quoted/runtime/impl/QuotesImpl.scala"},"region":{"startLine":1752}}}],"partialFingerprints":{"codehealthFindingId/v1":"575f4d8a358769bd6039712e2f50a1a537a3bdc15857cb95f4c30effdb7609d9"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Replace with dotc.core.Flags.|(self)(that)  once extension names have stabilized \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/scala/quoted/runtime/impl/QuotesImpl.scala"},"region":{"startLine":3365}}}],"partialFingerprints":{"codehealthFindingId/v1":"e7082c7f8533ebeae271da01b3494a459f483470b41f50987c9581886714442c"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Replace with dotc.core.Flags.\u0026(self)(that)  once extension names have stabilized \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/scala/quoted/runtime/impl/QuotesImpl.scala"},"region":{"startLine":3366}}}],"partialFingerprints":{"codehealthFindingId/v1":"b90a745e6aa11f45b6229d3dd33a2bb32b6dfc2a3f0b41f8cec1297d7d56d4d2"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO move to cases \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/scala/quoted/runtime/impl/QuoteMatcher.scala"},"region":{"startLine":215}}}],"partialFingerprints":{"codehealthFindingId/v1":"cf8b7e8befab2deec7758c59d54fc319fce4ebb6a36e2e95e5191a0df3579f33"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO remove \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/scala/quoted/runtime/impl/QuoteMatcher.scala"},"region":{"startLine":237}}}],"partialFingerprints":{"codehealthFindingId/v1":"020f887d5782e45fa781746d5438824c35c18c66108cdec6171488ef0d1ca379"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO remove \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/neg-custom-args/captures/caseclass/Test_2.scala"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"e33b7f2b96e1b61c8102180abd8f20fddb02cb1a94848b9246305de7a318bd63"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO remove this? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/scala/quoted/runtime/impl/QuoteMatcher.scala"},"region":{"startLine":432}}}],"partialFingerprints":{"codehealthFindingId/v1":"c946281feb97a33d62388453d0db0d4bf2ea3a888fd1bc8297cd3dc0b0591e24"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO match tpt1 with tpt2? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/scala/quoted/runtime/impl/QuoteMatcher.scala"},"region":{"startLine":511}}}],"partialFingerprints":{"codehealthFindingId/v1":"a3df783070e52aa00b96245662855fc48488aba5d0aef6ecd964f5607745be7e"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO-18271: Duplicate with QuotePatterns.unrollHkNestedPairsTypeTree"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/scala/quoted/runtime/impl/QuoteMatcher.scala"},"region":{"startLine":712}}}],"partialFingerprints":{"codehealthFindingId/v1":"0c4d3fef542f2bbd7fb1521d37bd0a7465082ccc9a67abe3fedc9738ded15366"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO try to move this logic into \u0060printType\u0060 \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/scala/quoted/runtime/impl/printers/SourceCode.scala"},"region":{"startLine":1004}}}],"partialFingerprints":{"codehealthFindingId/v1":"b284b0c50cf972f22bbc387d97bc843c877b0c1d4703675431cf113fac2b71c0"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO should these be in the prefix? These are at least \u0060scala\u0060, \u0060java\u0060 and \u0060scala.collection\u0060. \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/scala/quoted/runtime/impl/printers/SourceCode.scala"},"region":{"startLine":1107}}}],"partialFingerprints":{"codehealthFindingId/v1":"bfe23e9110bc8a94008a28763776a8db497d2652502f1209ca4714468ffa127c"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO Provide some of these in scala.tasty.Reflection.scala and implement them using checks on symbols for performance \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/src/scala/quoted/runtime/impl/printers/SourceCode.scala"},"region":{"startLine":1491}}}],"partialFingerprints":{"codehealthFindingId/v1":"e97e5e809942ae206481bf5f0514427aa0cb5e5136a22c9bfa3f172a46e4bb5a"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Remove this once we migrate the test suite \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/test/dotty/Properties.scala"},"region":{"startLine":51}}}],"partialFingerprints":{"codehealthFindingId/v1":"707da5d87072e9fd550211dbe16c32357b42c7299aa3f5129d9e805697480ddb"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Remove this once we migrate the test suite \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/test/dotty/Properties.scala"},"region":{"startLine":54}}}],"partialFingerprints":{"codehealthFindingId/v1":"19f22d9166fb99562c029f4c3adbb02738b948127060c98f1254f7f832f9fdce"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: The same test in scalac uses different labels because their LineNumberTable isn\u0027t the same as ours, \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/test/dotty/tools/backend/jvm/DottyBytecodeTests.scala"},"region":{"startLine":1054}}}],"partialFingerprints":{"codehealthFindingId/v1":"0f49163fa2a098cbf399466e19ae8ea650388258da399cd2ab08c05a5c296836"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: We could speed up CI by reusing the tests/pos output from the normal run, instead of re-running those here \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/test/dotty/tools/dotc/IdempotencyTests.scala"},"region":{"startLine":27}}}],"partialFingerprints":{"codehealthFindingId/v1":"f1d96b276d2dc2147cb1f9f63774d48cfe2921371ea51d3b947ddf532f4cad29"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: fix compiler determinism for this to pass \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/test/dotty/tools/dotc/DeterminismTest.scala"},"region":{"startLine":293}}}],"partialFingerprints":{"codehealthFindingId/v1":"03604b60f68a72862b54205c03d73bc8d53f02b795a8d4ea940a1fdc9d9d52a2"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: fix compiler determinism for this to pass \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/test/dotty/tools/dotc/DeterminismTest.scala"},"region":{"startLine":317}}}],"partialFingerprints":{"codehealthFindingId/v1":"b3745dfcbc2939b23049774261e175e8f955c0af3a17255e7375742f0cca6cc7"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO create a folder for capture checking tests with the stdlib, or use tests/pos-custom-args/captures under this mode? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/test/dotty/tools/dotc/CompilationTests.scala"},"region":{"startLine":42}}}],"partialFingerprints":{"codehealthFindingId/v1":"0adcf8dcd015c15a5ace6174788a6dcb9ccf085063651fd5b608132cafc25c4d"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO reduce to limitThreads(1) if it still causes problems, this would be around 50% slower based on local benchmarking \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/test/dotty/tools/dotc/BootstrappedOnlyCompilationTests.scala"},"region":{"startLine":138}}}],"partialFingerprints":{"codehealthFindingId/v1":"64cb6aa84ca55adf34056dd9857097ad933f82f82a4f9eba936776f61870d3bd"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO look into trying to remove the extra space that is left behind \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/test/dotty/tools/dotc/reporting/CodeActionTest.scala"},"region":{"startLine":49}}}],"partialFingerprints":{"codehealthFindingId/v1":"85eeb25845564222224a6f5fb5b29611ddac836b23d5e24760d23ecd210bff78"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: test cancellation \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/test/dotty/tools/dotc/sbt/ProgressCallbackTest.scala"},"region":{"startLine":53}}}],"partialFingerprints":{"codehealthFindingId/v1":"73e66b18aae34c1f7cf1c9d99434d0d2b8905a74e7feea1cd8fc4bbc09dc0284"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: The \u0022suppress output\u0022 feature should do this on its own. \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/test/dotty/tools/vulpix/VulpixUnitTests.scala"},"region":{"startLine":95}}}],"partialFingerprints":{"codehealthFindingId/v1":"c93c1f67a341636475f30ae92a5ea3a3453964de78a4b1daa8ea9bbdb1291a5c"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: this won\u0027t work when using other versions of compiler \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/test/dotty/tools/vulpix/ParallelTesting.scala"},"region":{"startLine":127}}}],"partialFingerprints":{"codehealthFindingId/v1":"5d18174bfe88b3ab8a1db9b783a2603b3fab2af1f48c684dbe2e8d60f389fbf6"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // todo a better mechanism than ONLY. test: -scala-only? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"compiler/test/dotty/tools/vulpix/ParallelTesting.scala"},"region":{"startLine":577}}}],"partialFingerprints":{"codehealthFindingId/v1":"5003ab8909836b50709dc6432f23b5aaeb2cd1d4c7718a3f71d0a5478ecb97dc"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: these private methods are straight copies from Range, duplicated \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library-js/src/scala/collection/immutable/NumericRange.scala"},"region":{"startLine":131}}}],"partialFingerprints":{"codehealthFindingId/v1":"d75311753b9397409f9fe5865a2632564bcdb57b048004998a5525813ff3ddeb"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: these private methods are straight copies from Range, duplicated \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/collection/immutable/NumericRange.scala"},"region":{"startLine":180}}}],"partialFingerprints":{"codehealthFindingId/v1":"f72502f7ad447cd97be87cf41d5f32b18390200b75f6e9b196d39d9b617990eb"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: //TODO Prepend is a logical choice for a readable name of \u0060\u002B=:\u0060 but it conflicts with the renaming of \u0060append\u0060 to \u0060add\u0060 \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library-js/src/scala/collection/mutable/Buffer.scala"},"region":{"startLine":37}}}],"partialFingerprints":{"codehealthFindingId/v1":"897ba1e71d3117b2969496b82e4ec769fcb73807c47250134a2646bfb46a4fb8"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: //TODO Prepend is a logical choice for a readable name of \u0060\u002B=:\u0060 but it conflicts with the renaming of \u0060append\u0060 to \u0060add\u0060 \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/collection/mutable/Buffer.scala"},"region":{"startLine":39}}}],"partialFingerprints":{"codehealthFindingId/v1":"aff18e4914a86cb4f53e14c7c4d328323f35b3dc7afe766874efe9230c78a9df"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO undeprecated until Scala reflection becomes non-experimental \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library-js/src/scala/reflect/Manifest.scala"},"region":{"startLine":48}}}],"partialFingerprints":{"codehealthFindingId/v1":"b9187858263669551c58dec1e8be3eeb2199961ffa5b9b38b3aa9d6bb0470a35"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO undeprecated until Scala reflection becomes non-experimental \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library-js/src/scala/reflect/Manifest.scala"},"region":{"startLine":75}}}],"partialFingerprints":{"codehealthFindingId/v1":"713e9540b12a3373d8938833d7c5790062bf67a173bc03e37975adc4ac0ef700"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO undeprecated until Scala reflection becomes non-experimental \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library-js/src/scala/reflect/Manifest.scala"},"region":{"startLine":182}}}],"partialFingerprints":{"codehealthFindingId/v1":"49a5b0fc27e3312a82c9cfcc2440431254e832b608a2387c77ec9755a0631734"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO undeprecated until Scala reflection becomes non-experimental \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/Predef.scala"},"region":{"startLine":205}}}],"partialFingerprints":{"codehealthFindingId/v1":"0dc4f2abb74ce31c6453c1a7bde3db2ba56d4ef6b92626d7938f4bf44fa570a6"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO undeprecated until Scala reflection becomes non-experimental \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/Predef.scala"},"region":{"startLine":209}}}],"partialFingerprints":{"codehealthFindingId/v1":"da06dc62813ab5159de78b4aa8be136ac81b17605c7562f43fcaec0f386a2933"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO undeprecated until Scala reflection becomes non-experimental \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/Predef.scala"},"region":{"startLine":212}}}],"partialFingerprints":{"codehealthFindingId/v1":"674846ab8d48796fe1f0cd145477eb424d1b1a91e2ad2b96bdc274c4d3b7d6d9"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO undeprecated until Scala reflection becomes non-experimental \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/Predef.scala"},"region":{"startLine":215}}}],"partialFingerprints":{"codehealthFindingId/v1":"868fea62a049085c1d00ed2a9e92fd25cb74d9c64d1d53d867e297903f2003e5"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO undeprecated until Scala reflection becomes non-experimental \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/Predef.scala"},"region":{"startLine":219}}}],"partialFingerprints":{"codehealthFindingId/v1":"37e1d458a3553435ae8afcbaf8d0c74aad57f589b47df6a3d83cc1d0a0046b9b"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO undeprecated until Scala reflection becomes non-experimental \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/Predef.scala"},"region":{"startLine":222}}}],"partialFingerprints":{"codehealthFindingId/v1":"3e9b06f66c48a5d5afd6dd7dcc433945a6bb9972dbc3060d9cad0f8b8d730ba7"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO undeprecated until Scala reflection becomes non-experimental \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/reflect/OptManifest.scala"},"region":{"startLine":22}}}],"partialFingerprints":{"codehealthFindingId/v1":"77980a64497aa2c11ab5a418814ada8f9277d9736b4e5c5b129cca2f7d841d59"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO undeprecated until Scala reflection becomes non-experimental \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/reflect/NoManifest.scala"},"region":{"startLine":20}}}],"partialFingerprints":{"codehealthFindingId/v1":"75fa856c05e0f59a3883335afb5b936448ef44afab22b8e54c9958010d74246d"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO undeprecated until Scala reflection becomes non-experimental \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/reflect/Manifest.scala"},"region":{"startLine":49}}}],"partialFingerprints":{"codehealthFindingId/v1":"30df6eed9d3f1345381a50acfd9fce17d7e0892bab692e2b9dff92051ae2790d"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO undeprecated until Scala reflection becomes non-experimental \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/reflect/Manifest.scala"},"region":{"startLine":76}}}],"partialFingerprints":{"codehealthFindingId/v1":"560c0a38fbd895c2f6152538181005d70912f1498d88f7479baa29b6b32cae25"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO undeprecated until Scala reflection becomes non-experimental \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/reflect/Manifest.scala"},"region":{"startLine":183}}}],"partialFingerprints":{"codehealthFindingId/v1":"52bb6b7528caa5ec5959a2d1efe067e7c13fccb0aeb39eb80f9f562a6f74ca1d"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: bytecode Object.clone() will in fact work here and avoids \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library-js/src/scala/runtime/ScalaRunTime.scala"},"region":{"startLine":121}}}],"partialFingerprints":{"codehealthFindingId/v1":"6951255550044777f5f43df953f2c08d8af23ad8a64e65cfc8734c5c2b2f835e"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: bytecode Object.clone() will in fact work here and avoids \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/runtime/ScalaRunTime.scala"},"region":{"startLine":121}}}],"partialFingerprints":{"codehealthFindingId/v1":"d099e7d320f7be801a331857759fed3ed8a541ef1f08fd5fa37f8ee2eb42ba2b"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO Get this value from \u0027import scala.scalajs.LinkingInfo.ModuleKind.WasmModule\u0027 \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library-js/src/scala/runtime/BoxesRunTime.scala"},"region":{"startLine":16}}}],"partialFingerprints":{"codehealthFindingId/v1":"53dfa6ac1c969bfab5f0d89907b72267eb130f72ee9c31b03c3f9c69bec4ba01"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: when dependent method types are on by default, give this result type \u0060e.type\u0060, so that inliner has better chance of knowing which method to inline in calls like \u0060implicitly[MatchingStrategy[Option]].zero\u0060 \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/Predef.scala"},"region":{"startLine":243}}}],"partialFingerprints":{"codehealthFindingId/v1":"4a039935045451ff90b6ccd6c8a7114bdcbb7302e48c5b8764482e0bf87d50e4"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: should not need @inline. add heuristic to inline factories for value classes. \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/Predef.scala"},"region":{"startLine":557}}}],"partialFingerprints":{"codehealthFindingId/v1":"9b0d992c2cd133588135eb752e01e0bd8bdba27f2438e2778bce6833b70b2caa"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: //TODO: why not overload it with orElse(that: F1): F1? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/PartialFunction.scala"},"region":{"startLine":158}}}],"partialFingerprints":{"codehealthFindingId/v1":"c5b11197a03bceaab2c8eae9dbbc9f944b7395594851e71c17d1b71a5e288305"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO in which package should this class be located? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/annotation/MacroAnnotation.scala"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"45f655566ddb6a9a74775a8287d7fc2f408186a877ae715c6afee7a073be8891"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO remove when pattern matching works \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/collection/View.scala"},"region":{"startLine":160}}}],"partialFingerprints":{"codehealthFindingId/v1":"390c6d565c91aa64f815485b99469ad64f9d3594244bf8db65087421dff7f179"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: W is originally Nothing in return type, but breaks CC \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/collection/MapView.scala"},"region":{"startLine":93}}}],"partialFingerprints":{"codehealthFindingId/v1":"a6ed6b1f95dc5c13a5e8b029963bf8af019b46fe8b0b9bf88463ad72a3151ec9"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: I\u0027m not sure what\u0027s happening here, need to investigate a bit further. \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/collection/Map.scala"},"region":{"startLine":338}}}],"partialFingerprints":{"codehealthFindingId/v1":"3f04b4bb721c29990018e14d171bb839b0677c07157db58eec32da4f555685c8"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO We should be able to prove that origElems is safe even though it is \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/collection/Iterator.scala"},"region":{"startLine":954}}}],"partialFingerprints":{"codehealthFindingId/v1":"8e78ec5dc5422e29121a07d5fd9ccbcfff7bc9a7d2bf1c3410bc78448ff04f20"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO will go away when buffer is fixed \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/collection/IterableOnce.scala"},"region":{"startLine":1523}}}],"partialFingerprints":{"codehealthFindingId/v1":"1adbaa9549dd198f3f78bb52b366d6fd046b70ce32387b1680b3c8408341e3f5"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: seems like CC cannot figure this out yet \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/collection/IndexedSeq.scala"},"region":{"startLine":108}}}],"partialFingerprints":{"codehealthFindingId/v1":"8ae5172494a54431d7468d723a5efb123a08974473b5a22c5085af10ed26f3fa"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO is uncheckedVariance sound here? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/collection/Factory.scala"},"region":{"startLine":334}}}],"partialFingerprints":{"codehealthFindingId/v1":"2457c331e2133fec7673afa0bfe90a7431246571ba19dc12f5938ee7a2366210"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO is uncheckedVariance sound here? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/collection/Factory.scala"},"region":{"startLine":766}}}],"partialFingerprints":{"codehealthFindingId/v1":"e8e5355f5b65ab0ec9d3127e52b45e94e1f1d9048813cf1e62bf38ba7dd1ad99"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: //TODO: Reuse a prototype instance \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/collection/BuildFrom.scala"},"region":{"startLine":69}}}],"partialFingerprints":{"codehealthFindingId/v1":"8aad2a0cd508e697b16833d01b3e56f66f6a7bc023fca1264c64f72748665663"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: //TODO: Reuse a prototype instance \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/collection/BuildFrom.scala"},"region":{"startLine":161}}}],"partialFingerprints":{"codehealthFindingId/v1":"04ddf1f4a531d4dc090cd900b3f504f6be6f587c88fca7d02500e76e8f5c3f28"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO once computeIfAbsent is added to concurrent.Map, \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/collection/concurrent/TrieMap.scala"},"region":{"startLine":979}}}],"partialFingerprints":{"codehealthFindingId/v1":"7821876308484ae53d797cd0d354df18105f8254c2dbe87c34bf6df137825f74"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: make part of the API in a future version \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/collection/concurrent/Map.scala"},"region":{"startLine":121}}}],"partialFingerprints":{"codehealthFindingId/v1":"d02dee8f4179ba052ff0283d8ef7bd6c72cfb7de4c90e6d9bffc98a8692fbfed"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: make part of the API in a future version \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/collection/concurrent/Map.scala"},"region":{"startLine":140}}}],"partialFingerprints":{"codehealthFindingId/v1":"9b033fc1c565cb5f2e5d4aab2b0d9abfdf688e64b0bd24b2cc71f73639b549e5"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Remove when pattern matching recognizes this is safe \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/collection/convert/AsScalaConverters.scala"},"region":{"startLine":51}}}],"partialFingerprints":{"codehealthFindingId/v1":"57c3f6a166a7d3c46ffda97efba57bfb0d7abcf21fbd4dfa8c6ccd84ea1621ab"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Remove when pattern matching recognizes this is safe \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/collection/convert/AsScalaConverters.scala"},"region":{"startLine":69}}}],"partialFingerprints":{"codehealthFindingId/v1":"c6c3c0cca2cdb48d295cc67a30a6ad1cdc503b02ad0afd7ca560dcab526825f1"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Remove when pattern matching recognizes this is safe \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/collection/convert/AsScalaConverters.scala"},"region":{"startLine":87}}}],"partialFingerprints":{"codehealthFindingId/v1":"69597ee5d0b713d2e7512564026589c492e23dd8cbf04decc9bd9ebc224b07d9"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Remove when pattern matching recognizes this is safe \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/collection/convert/AsScalaConverters.scala"},"region":{"startLine":102}}}],"partialFingerprints":{"codehealthFindingId/v1":"86cbf52415b761ad6447447d2952fa8cc9119f9ced53a070826d8fa6fa9e25d7"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: //TODO Make public; this method is private for now because it is not forward binary compatible \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/collection/immutable/Vector.scala"},"region":{"startLine":82}}}],"partialFingerprints":{"codehealthFindingId/v1":"b1a5c3eb51ec3993b90a67226c7445550d0c8bd3271fa3c61ba8f73f9ef98421"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: //TODO Make public; this method is only private for binary compatibility \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/collection/immutable/Vector.scala"},"region":{"startLine":1689}}}],"partialFingerprints":{"codehealthFindingId/v1":"7202c6ad7388baa517c9760b74c6f9cb575a2bb6932a2f73b0e3617f3149f90c"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: //TODO add an implementation of a mutable subtractor similar to TreeMap \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/collection/immutable/TreeSet.scala"},"region":{"startLine":193}}}],"partialFingerprints":{"codehealthFindingId/v1":"1f4e2ac960e7079bc94f7e338cd62e2ed290fbc38d70bd3590d9e0e273a26865"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO consider writing a mutable-safe union for TreeSet/TreeMap builder \u002B\u002B= \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/collection/immutable/TreeSet.scala"},"region":{"startLine":276}}}],"partialFingerprints":{"codehealthFindingId/v1":"bb04b31d323ea9f95561b2cb6a8a121f92d95fa289c73943d6e61988a3da427b"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO consider writing a mutable-safe union for TreeSet/TreeMap builder \u002B\u002B= \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/collection/immutable/TreeMap.scala"},"region":{"startLine":361}}}],"partialFingerprints":{"codehealthFindingId/v1":"c5b53bd1c16468949e1cb2d79f1b26c456072343a73b773e00a19ee412199960"}},{"ruleId":"D17","level":"warning","message":{"text":"HackComment: // hack to preserve sharing \u2014 a workaround marked in source: record what it is compensating for and what would allow its removal (the upstream fix, the API it is waiting on, the invariant it restores), so the next reader can judge whether it is still needed rather than rediscovering why it is there."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/collection/immutable/TreeSeqMap.scala"},"region":{"startLine":643}}}],"partialFingerprints":{"codehealthFindingId/v1":"5e4bd332c118dcb8e2619c0e18d3ddbe9aea20b1ef2c7b5d95717033ae98aacb"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: //@SerialVersionUID(3L) //TODO Putting an annotation on Stream.empty causes a cyclic dependency in unpickling \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/collection/immutable/Stream.scala"},"region":{"startLine":388}}}],"partialFingerprints":{"codehealthFindingId/v1":"e765134f4b4f1d7b85a2d561d198db61cc7d9e5527e81f9e5baeba9545519e72"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: //TODO should this be the default implementation of this method in StrictOptimizedIterableOps? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/collection/immutable/LongMap.scala"},"region":{"startLine":183}}}],"partialFingerprints":{"codehealthFindingId/v1":"9a1c882d6b0ea8d3b2e17a84e9801fb562d325faf33f573bde52d04e4f30e17e"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: //TODO should this be the default implementation of this method in StrictOptimizedIterableOps? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/collection/mutable/LongMap.scala"},"region":{"startLine":53}}}],"partialFingerprints":{"codehealthFindingId/v1":"926f03376974a7f348259bc4d05736f95786fa437196625b09489315758f4773"}},{"ruleId":"D17","level":"warning","message":{"text":"HackComment: //hack to preserve sharing \u2014 a workaround marked in source: record what it is compensating for and what would allow its removal (the upstream fix, the API it is waiting on, the invariant it restores), so the next reader can judge whether it is still needed rather than rediscovering why it is there."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/collection/immutable/LongMap.scala"},"region":{"startLine":387}}}],"partialFingerprints":{"codehealthFindingId/v1":"058ba97c6ee9f6dbcacd9e8ecd10e28a2aa3a36ea450febde45e6adc56e0d6a3"}},{"ruleId":"D17","level":"warning","message":{"text":"HackComment: //hack to preserve sharing \u2014 a workaround marked in source: record what it is compensating for and what would allow its removal (the upstream fix, the API it is waiting on, the invariant it restores), so the next reader can judge whether it is still needed rather than rediscovering why it is there."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/collection/immutable/IntMap.scala"},"region":{"startLine":405}}}],"partialFingerprints":{"codehealthFindingId/v1":"ee320c28f4515d39332c454d38c32f0efc73189d0e3602b4841cb56baca7dc4f"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: uncomment once bincompat allows (reference: scala/scala#9365)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/collection/immutable/List.scala"},"region":{"startLine":615}}}],"partialFingerprints":{"codehealthFindingId/v1":"8cb410ac39bf671bc5961ecb9c8709fe38a849ea57f4881a973893e438557bb9"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO This should be (xss: (collection.Iterable[A]^)*) \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/collection/immutable/LazyListIterable.scala"},"region":{"startLine":1471}}}],"partialFingerprints":{"codehealthFindingId/v1":"e47e02c2c59c4b737518dc49a0b3fd987dcf71abdf84968421d796afd9afae89"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Develop more sophisticated heuristic for which branch to take \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/collection/immutable/HashSet.scala"},"region":{"startLine":274}}}],"partialFingerprints":{"codehealthFindingId/v1":"7c57b16c205a5b6de06f5438226dae9deef2c983427cadcfd52869b62e910fa9"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: When filtering results in a single-elem node, simply \u0060(A, originalHash, improvedHash)\u0060 could be returned, \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/collection/immutable/HashSet.scala"},"region":{"startLine":1093}}}],"partialFingerprints":{"codehealthFindingId/v1":"9496fbea30b7bedef39815ad8237bcfc6b42311fdaf75eaaa281baf4ed01046e"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Remove all keys from the hashSet in a sub-linear fashion by only visiting the nodes in the tree \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/collection/immutable/HashMap.scala"},"region":{"startLine":407}}}],"partialFingerprints":{"codehealthFindingId/v1":"3c22fe99a49940b2f2564ee4164d01f56a3035e87d1fb1e950e3f6c4f4e24200"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO find a way to assign a default here!! \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/collection/mutable/UnrolledBuffer.scala"},"region":{"startLine":427}}}],"partialFingerprints":{"codehealthFindingId/v1":"7972bf284867fe7662cd46c7e751b66901a25e083f11fa1cdb67e3d8296af25a"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // Todo -- revisit whether inheritance is the best way to achieve this functionality \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/collection/mutable/UnrolledBuffer.scala"},"region":{"startLine":447}}}],"partialFingerprints":{"codehealthFindingId/v1":"7c593424c82d8511b2e56d3f14d096703664dda1745aa3a0ba5e1e8070fdd176"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO refactor \u0060put\u0060 to extract \u0060findOrAddEntry\u0060 and implement this in terms of that to avoid Some boxing. \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/collection/mutable/OpenHashMap.scala"},"region":{"startLine":165}}}],"partialFingerprints":{"codehealthFindingId/v1":"314cca3b4744c03719822d1ef8dadb2b9f6571fd17596fc052ed8f37e4e97ddc"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: //TODO consider keeping \u0060remove\u0060 because it returns the removed entry \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/collection/mutable/Map.scala"},"region":{"startLine":37}}}],"partialFingerprints":{"codehealthFindingId/v1":"3b973175e3a6bbe4845fb7b26949dab20763823d0d76980c69f8d80c085617e8"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: override clear() with an optimization more tailored for efficiency. \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/collection/mutable/LongMap.scala"},"region":{"startLine":51}}}],"partialFingerprints":{"codehealthFindingId/v1":"dfcef2707470813da4c2ec647f0cb87e2954f2c009788198b66362f69566cb07"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO PERF override these for efficiency. See immutable.LongMap for how to organize the code. \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/collection/mutable/LongMap.scala"},"region":{"startLine":450}}}],"partialFingerprints":{"codehealthFindingId/v1":"5b613c083e8c5e15dd1e544ad34e29aa0a1ff9f2b51d783a79d106195ea8f0b5"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: An empty capture annotation is needed in the result type to satisfy the overriding checker. \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/collection/mutable/LongMap.scala"},"region":{"startLine":499}}}],"partialFingerprints":{"codehealthFindingId/v1":"0439ff363ae48407c4b304bd60c76bcf5be9e849d120db9ecbc986802a3c75a4"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: rename to \u0060mapValuesInPlace\u0060 and override the base version (not binary compatible) \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/collection/mutable/HashMap.scala"},"region":{"startLine":574}}}],"partialFingerprints":{"codehealthFindingId/v1":"520d05721e14dd8383eff3d6c3584306a6a441a53f1d712edf4007597dea3ab8"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: //TODO This causes a conflict in StringBuilder; looks like a compiler bug \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/collection/mutable/Growable.scala"},"region":{"startLine":43}}}],"partialFingerprints":{"codehealthFindingId/v1":"78a563b20553f2a043419b4bd400b8971e207abf50105f246758952eef28643f"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: //TODO \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/collection/mutable/CollisionProofHashMap.scala"},"region":{"startLine":174}}}],"partialFingerprints":{"codehealthFindingId/v1":"0db663f40be5ed61e48e9a489e68da317bbbc14eb65aa45498ef88b6914d2e9d"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: //TODO: SeqOps should be fluent API \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/collection/mutable/ArrayDeque.scala"},"region":{"startLine":286}}}],"partialFingerprints":{"codehealthFindingId/v1":"2f0777188f325cc8a30cf18b922d9315d2bd36f3a296b516f7a1303ed2a15922"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: return \u0060IndexedSeqView\u0060 rather than \u0060ArrayBufferView\u0060 \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/collection/mutable/ArrayBuffer.scala"},"region":{"startLine":128}}}],"partialFingerprints":{"codehealthFindingId/v1":"d56f28c70c7e2cbb041e8eb11d71571e7a025d3403ea52b598f6701b4f85d5f3"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: use \u0060CheckedIndexedSeqView.Id\u0060 once we can change the return type of \u0060ArrayBuffer#view\u0060 \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/collection/mutable/ArrayBuffer.scala"},"region":{"startLine":380}}}],"partialFingerprints":{"codehealthFindingId/v1":"e8083b47359f99855c07c520b874c9796f0c0e4162e4e5551b5a2471bf36064f"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: remove this implementation and make Future#zipWith abstract \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/concurrent/Future.scala"},"region":{"startLine":459}}}],"partialFingerprints":{"codehealthFindingId/v1":"eef5a1b7ee65e200112784f142594e3e73e2d2dad3a7938af265faa82e3c4f66"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: use \u0060finally\u0060? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/concurrent/Future.scala"},"region":{"startLine":551}}}],"partialFingerprints":{"codehealthFindingId/v1":"ac6ff1edc5261e0dc4c36ecaae1788202c985b2327b2ad6f324bd73845c80a16"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: consider if NonFatals should simply be \u0060reportFailure\u0060:ed rather than rethrown \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/concurrent/BatchingExecutor.scala"},"region":{"startLine":194}}}],"partialFingerprints":{"codehealthFindingId/v1":"479602035e8d29d04029370062d78a6def6f1c28cf1ed68020d008748dc8203e"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Handle InterruptedException differently? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/concurrent/BatchingExecutor.scala"},"region":{"startLine":217}}}],"partialFingerprints":{"codehealthFindingId/v1":"2e7bdfbd34d3deca16449fc8a99fd9e9d45157dd356a75be824fcb2a00c94baa"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Handle InterruptedException differently? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/concurrent/BatchingExecutor.scala"},"region":{"startLine":270}}}],"partialFingerprints":{"codehealthFindingId/v1":"264b4a967b3841ecd3e6931eacb6b48e689669e475bd17072461a0c7cf3b2661"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // @nowarn(\u0022cat=other-non-cooperative-equals\u0022) TODO: Implement the category \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/math/BigInt.scala"},"region":{"startLine":281}}}],"partialFingerprints":{"codehealthFindingId/v1":"237f7b7baf94d1faa2f05feb706eccc63e4d0c5770a30760d0f71d3d3f745226"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO add selfOpt: Option[ValDef]? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/quoted/Quotes.scala"},"region":{"startLine":560}}}],"partialFingerprints":{"codehealthFindingId/v1":"c789689a97a4be5be0c9660dac66d8ea4b31df353f46b8a68d9b2ffd94240274"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO add selfOpt: Option[ValDef]? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/quoted/Quotes.scala"},"region":{"startLine":586}}}],"partialFingerprints":{"codehealthFindingId/v1":"38f87fa8b2eb55651b57775d8b00ba601f8e2c1b06e57ece81c5d38bee9484e9"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO update when we will have more tuples \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/quoted/Quotes.scala"},"region":{"startLine":5353}}}],"partialFingerprints":{"codehealthFindingId/v1":"a63b6adb33fae0c65d2a26be63d158c014f251f31377efa0c38e353742e74a67"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // FIXME \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/quoted/ExprMap.scala"},"region":{"startLine":102}}}],"partialFingerprints":{"codehealthFindingId/v1":"9dfe8c9c58ac2ca79ad348666d4d786a1c04e2ade5c06b17b73639aa65d8e174"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // FIXME \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/link/strawman/nil.scala"},"region":{"startLine":3}}}],"partialFingerprints":{"codehealthFindingId/v1":"01b9a43ff024f10b6237dbabe5009ce8c1cfb017ee11b291fbfb4537860f1100"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // FIXME \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/pos-macros/quote-this.scala"},"region":{"startLine":19}}}],"partialFingerprints":{"codehealthFindingId/v1":"abe0ccd56e1583a7bf66332cab2d9a8f65c0ccb03faa1d1ccc3864c42754d5eb"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO use proper zipConserve \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/quoted/ExprMap.scala"},"region":{"startLine":149}}}],"partialFingerprints":{"codehealthFindingId/v1":"a88dd2102331f3c17167422dbe46dcb3be535c2bc888d172bae9824944112e73"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: replace by \u0060canAccess\u0060 once we\u0027re on JDK 9\u002B \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/reflect/package.scala"},"region":{"startLine":65}}}],"partialFingerprints":{"codehealthFindingId/v1":"67a86a6d14ea4a29bf350b2183eacc40e5ab61af4f818a3f96e163266d715e30"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // todo. once we have implicit macros for tag generation, we can remove this anchor \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/reflect/package.scala"},"region":{"startLine":76}}}],"partialFingerprints":{"codehealthFindingId/v1":"bd65b2ab6165c062f706f4120d0a9cb2e3a365eece9c0057c187038644090ca2"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: reduce duplication with and in StdNames \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/reflect/NameTransformer.scala"},"region":{"startLine":22}}}],"partialFingerprints":{"codehealthFindingId/v1":"3075adad89cc459bc444622fbc43857bd92f7229c176f00d34d2cbdbb534c002"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO use Iterator.toIArray \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/runtime/Tuples.scala"},"region":{"startLine":177}}}],"partialFingerprints":{"codehealthFindingId/v1":"bb376fc0caaff5b38ab4c9604b4681309d64be6e9ae2ebf5c71f094093349e22"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO use Iterator.toIArray \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/runtime/TupleXXL.scala"},"region":{"startLine":50}}}],"partialFingerprints":{"codehealthFindingId/v1":"fb5ea338aa209bb824cdad6135399222b87fc1a0af532d95f9e730c78b4e5c60"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO use toIArray \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/runtime/Tuples.scala"},"region":{"startLine":602}}}],"partialFingerprints":{"codehealthFindingId/v1":"18bda000e306c56636f843e2791c67638f5d50e53f01ab607d9f95dc44a58c75"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO use IArray.tail \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/runtime/TupleXXL.scala"},"region":{"startLine":44}}}],"partialFingerprints":{"codehealthFindingId/v1":"12d4284b46f5d5a89e464795c253f54ab27045260f3e81bd1d6aa1dc1ecb95a4"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO use IArray.toArray \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/runtime/TupleXXL.scala"},"region":{"startLine":47}}}],"partialFingerprints":{"codehealthFindingId/v1":"2f5c34141b37cc8865e37d05af2fda6be67d30dbd44a0b4406ac527a52a997bb"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO use IArray.toSeq \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/runtime/TupleXXL.scala"},"region":{"startLine":53}}}],"partialFingerprints":{"codehealthFindingId/v1":"1b04f0b8b4f6abb8d9c387f3039e4f333bc2f74f515f19691ee0f43101359a9a"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO 3.T: move to \u0060Statics\u0060 \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/runtime/PStatics.scala"},"region":{"startLine":18}}}],"partialFingerprints":{"codehealthFindingId/v1":"49c3454fa83793eae8c08ff1b752cbaab6ef21975a646ba96b5432802d2567b8"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // @annotation.nowarn(\u0022cat=lint-unit-specialization\u0022) TODO: Add warning back when specialization is implemented \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/runtime/NonLocalReturnControl.scala"},"region":{"startLine":19}}}],"partialFingerprints":{"codehealthFindingId/v1":"a9e8300ee909cf505defe394d1e3b16471df5bfa3185c3105e323fd8cc9e97b1"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: come up with a more realistic number \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/runtime/MethodCache.scala"},"region":{"startLine":87}}}],"partialFingerprints":{"codehealthFindingId/v1":"629df775b199f1ffc50cc730f1960fc255ec0feeb715358fc1ccf5f149d0dd03"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: consider whether layering a Map on top of Java\u0027s properties is really needed -- we could simply provide: \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/sys/package.scala"},"region":{"startLine":60}}}],"partialFingerprints":{"codehealthFindingId/v1":"51535f6ba18f03dbd0e3d718fd1ae59f4b9b72edf269bea0b15c6e80e8597e51"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: add upper bound: T \u003C: AnyRef, propagate to callers below (not binary compatible) \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/util/Sorting.scala"},"region":{"startLine":248}}}],"partialFingerprints":{"codehealthFindingId/v1":"e0661ce58b4aaba99cccb7cb355b286f416d92676cebf5f06cd1b28353a8c530"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: make this fast for primitive K (could be specialized if it didn\u0027t go through Ordering) \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/util/Sorting.scala"},"region":{"startLine":294}}}],"partialFingerprints":{"codehealthFindingId/v1":"5a526c05b9ba45f9dbf7f1ec3ea7954be04f399144b4261329133c8df0014a52"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: make this fast for primitive K (could be specialized if it didn\u0027t go through Ordering) \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/src/scala/util/Sorting.scala"},"region":{"startLine":318}}}],"partialFingerprints":{"codehealthFindingId/v1":"41d3dfcd4403a9c48296704afa80bf13a3b5b782ef4e1ab24725a7dcf92e8115"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO Future.{onSuccess, onFailure, recoverWith, andThen} \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/test/scala/CollectTest.scala"},"region":{"startLine":77}}}],"partialFingerprints":{"codehealthFindingId/v1":"1d2e99bc7f7c57199b88234931117ea855df30f4884d4a8c8bf8507ea80da0a5"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO Future.{onSuccess, onFailure, recoverWith, andThen} \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/pending/run/t6448.scala"},"region":{"startLine":57}}}],"partialFingerprints":{"codehealthFindingId/v1":"1c6722a8db2eb696282ddb4236589b29e30a74ad4cfd009f2c75ec5dc26fe7fc"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // Todo: test all sets/maps this way \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/test/scala/collection/SetMapConsistencyTest.scala"},"region":{"startLine":492}}}],"partialFingerprints":{"codehealthFindingId/v1":"9483f36f1555a5dbd2a0a26d8e6c4eef665eaf6b1b3c018824716881d5595d82"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: fill this out with all relevant LazyList methods \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/test/scala/collection/immutable/LazyListGCTest.scala"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"352265c4b623a0f874e061a32cef8504626b77a9c7c33d20f8f579e5698f8173"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO Port {HashMap, HashSet}.concat allocation reduction \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/test/scala/collection/immutable/HashSetTest.scala"},"region":{"startLine":95}}}],"partialFingerprints":{"codehealthFindingId/v1":"980ce0a8c4c14dd8e66755b9847d6849777447883c7f3216d051c798cbf4e104"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO Port {HashMap, HashSet}.concat allocation reduction \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/test/scala/collection/immutable/HashSetTest.scala"},"region":{"startLine":105}}}],"partialFingerprints":{"codehealthFindingId/v1":"ae84884ee1f6a0197d81306a349b40eb0cc794a34560174fbd7ec179132bafbf"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO Port {HashMap, HashSet}.concat allocation reduction \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/test/scala/collection/immutable/HashSetTest.scala"},"region":{"startLine":149}}}],"partialFingerprints":{"codehealthFindingId/v1":"1fa65bad102c00b333425aed6b213ca38f80c3116858ba6265b3610c6f0ac758"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO Port {HashMap, HashSet}.concat allocation reduction \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/test/scala/collection/immutable/HashSetTest.scala"},"region":{"startLine":159}}}],"partialFingerprints":{"codehealthFindingId/v1":"cdcfc6e475e2a3fa8dc545054a5ab5911335374b27396320c222cb779ff81f17"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO Port {HashMap, HashSet}.concat allocation reduction \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/test/scala/collection/immutable/HashSetTest.scala"},"region":{"startLine":168}}}],"partialFingerprints":{"codehealthFindingId/v1":"c3848c59a788f843e192a3858a08cf286e374d337857b6b7e35eec6891847245"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO Port {HashMap, HashSet}.concat allocation reduction \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/test/scala/collection/immutable/HashSetTest.scala"},"region":{"startLine":178}}}],"partialFingerprints":{"codehealthFindingId/v1":"7884d8023f439ba4c2d10ac186ec87eff55818cb59bc885932ed6741c65c2568"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO Port {HashMap, HashSet}.concat allocation reduction \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/test/scala/collection/immutable/HashSetTest.scala"},"region":{"startLine":187}}}],"partialFingerprints":{"codehealthFindingId/v1":"a9246b79b49004c0cdd2a58c3e828449c3e846c6998e0c0997d4d8474f2c9460"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO Port {HashMap, HashSet}.concat allocation reduction \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/test/scala/collection/immutable/HashSetTest.scala"},"region":{"startLine":197}}}],"partialFingerprints":{"codehealthFindingId/v1":"5993a44f40090faf2485b259ada4f3d8dd03666ae938876052e483824e651a1c"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO Port {HashMap, HashSet}.concat allocation reduction \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/test/scala/collection/immutable/HashSetTest.scala"},"region":{"startLine":206}}}],"partialFingerprints":{"codehealthFindingId/v1":"213bf784735a881a67a474afffa2c082d62be6be5f769faf1455dc1e172cabdd"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO Port {HashMap, HashSet}.concat allocation reduction \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/test/scala/collection/immutable/HashSetTest.scala"},"region":{"startLine":216}}}],"partialFingerprints":{"codehealthFindingId/v1":"fdffa755df9ec7cdf5dbda1df4a969ea3a47cf490cff011c220e3ae75b7d1cfd"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO Port {HashMap, HashSet}.concat allocation reduction \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/test/scala/collection/immutable/HashSetTest.scala"},"region":{"startLine":237}}}],"partialFingerprints":{"codehealthFindingId/v1":"461fc19d9494feff6225af28b308dfe3665a9403708e357428076fb796fc43b2"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO Port {HashMap, HashSet}.concat allocation reduction \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/test/scala/collection/immutable/HashMapTest.scala"},"region":{"startLine":237}}}],"partialFingerprints":{"codehealthFindingId/v1":"fb1188aba9bc0f8fcd5e3975da83507b88244a91f8e5603cc80cdb16ec06be88"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO Port {HashMap, HashSet}.concat allocation reduction \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/test/scala/collection/immutable/HashMapTest.scala"},"region":{"startLine":259}}}],"partialFingerprints":{"codehealthFindingId/v1":"85deb41f1f78eb81b0cd14fb2d755db03a80934fd7b3a8a88ca5dcd448790054"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: //TODO: None of these currently work because there are no native Stepper implementations: \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/test/scala/jdk/StepperConversionTest.scala"},"region":{"startLine":411}}}],"partialFingerprints":{"codehealthFindingId/v1":"91155961aff8b1c281cb38b377b7460d650c312c160cd39cdcbd602defc60b38"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: move to compiler tests, this is not stdlib testing \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library/test/tools/AllocationTest.scala"},"region":{"startLine":22}}}],"partialFingerprints":{"codehealthFindingId/v1":"18cdff9a182e4f410792c4a5f4be50575ec254e11baa8b19222c69762d69eb4e"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: check the positions for NamedArg and Import \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"presentation-compiler/src/main/dotty/tools/pc/MetalsInteractive.scala"},"region":{"startLine":73}}}],"partialFingerprints":{"codehealthFindingId/v1":"697ea409d2bfd19ddb7a51a5d1afa02bfaf443bc1cd3aeccc6fb8665a8744136"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO This has to be refactored to properly split extension methods \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"presentation-compiler/src/main/dotty/tools/pc/completions/Completions.scala"},"region":{"startLine":210}}}],"partialFingerprints":{"codehealthFindingId/v1":"fc97d570bc02fab2f08d6b6c26da93ee9497cd3c1619d0eac7094c442b1f8fc3"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO remove this type and return \u0060Compiler\u0060, \u0060Workspace\u0060 instead \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"presentation-compiler/src/main/dotty/tools/pc/completions/CompletionValue.scala"},"region":{"startLine":299}}}],"partialFingerprints":{"codehealthFindingId/v1":"85dae22baa2cd218f5082cbd0334ca86e440706bfe5458db58965ce158fc2dea"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Should provide empty completions \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"presentation-compiler/test/dotty/tools/pc/tests/completion/CompletionKeywordSuite.scala"},"region":{"startLine":372}}}],"partialFingerprints":{"codehealthFindingId/v1":"7402526d7ba3e1c87b6ae6997f7312d78cae79314f8e2104de7b4fdbf1bd7b88"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO We first need to detect support when to add additional braces / colon \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"presentation-compiler/test/dotty/tools/pc/tests/completion/CompletionExtraConstructorSuite.scala"},"region":{"startLine":80}}}],"partialFingerprints":{"codehealthFindingId/v1":"7abd6f0040442ecff39cf5a5a7a2e01342d8601e67dc361308f2bd4affcfba91"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO We first need to detect support when to add additional braces / colon \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"presentation-compiler/test/dotty/tools/pc/tests/completion/CompletionExtraConstructorSuite.scala"},"region":{"startLine":93}}}],"partialFingerprints":{"codehealthFindingId/v1":"da61e98d94b23e2583c6a2e6e8d1fbe904aca3747d54fc28106aaf3be834b78d"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO We first need to detect support when to add additional braces / colon \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"presentation-compiler/test/dotty/tools/pc/tests/completion/CompletionExtraConstructorSuite.scala"},"region":{"startLine":106}}}],"partialFingerprints":{"codehealthFindingId/v1":"54bcad6cea0401edfbf8ff246ede04c774aaca29c8e8f8966bcc719a1f0ee550"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO We first need to detect support when to add additional braces / colon \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"presentation-compiler/test/dotty/tools/pc/tests/completion/CompletionExtraConstructorSuite.scala"},"region":{"startLine":119}}}],"partialFingerprints":{"codehealthFindingId/v1":"239794191b46e5c44ea5adabef2aa3470e4bf0e87811e762b354dd3371f57cf1"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO We first need to detect support when to add additional braces / colon \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"presentation-compiler/test/dotty/tools/pc/tests/completion/CompletionExtraConstructorSuite.scala"},"region":{"startLine":178}}}],"partialFingerprints":{"codehealthFindingId/v1":"0b364f8b2ad41091fe6391b24498231f35b9265786052a3e9f6c3a6b1adae473"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO We first need to detect support when to add additional braces / colon \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"presentation-compiler/test/dotty/tools/pc/tests/completion/CompletionExtraConstructorSuite.scala"},"region":{"startLine":194}}}],"partialFingerprints":{"codehealthFindingId/v1":"aeb8b6ee18823a3575b5041811a788c0bb975ec04b867b13d283ea4b8c9cf4c3"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO We first need to detect support when to add additional braces / colon \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"presentation-compiler/test/dotty/tools/pc/tests/completion/CompletionExtraConstructorSuite.scala"},"region":{"startLine":210}}}],"partialFingerprints":{"codehealthFindingId/v1":"9600ead6cc648eaa55ca290f48f403fcf07353d655c4c8a8ea62bedf4bda34ce"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO We first need to detect support when to add additional braces / colon \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"presentation-compiler/test/dotty/tools/pc/tests/completion/CompletionExtraConstructorSuite.scala"},"region":{"startLine":226}}}],"partialFingerprints":{"codehealthFindingId/v1":"4c042cba1f05f31280f1b39a3f92e4f0c131441fa6f314a05cd8e901a1671542"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO We first need to detect support when to add additional braces / colon \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"presentation-compiler/test/dotty/tools/pc/tests/completion/CompletionExtraConstructorSuite.scala"},"region":{"startLine":242}}}],"partialFingerprints":{"codehealthFindingId/v1":"1c5da93936946bdaca5139641e181b46c72d85c74f5a341b341cbe43c46bd760"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO We first need to detect support when to add additional braces / colon \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"presentation-compiler/test/dotty/tools/pc/tests/completion/CompletionExtraConstructorSuite.scala"},"region":{"startLine":258}}}],"partialFingerprints":{"codehealthFindingId/v1":"79d42584fc06ee25f609215d5c654ee3eca793bf39e1222c6ed967ba36bce4de"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO We first need to detect support when to add additional braces / colon \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"presentation-compiler/test/dotty/tools/pc/tests/completion/CompletionExtraConstructorSuite.scala"},"region":{"startLine":275}}}],"partialFingerprints":{"codehealthFindingId/v1":"90905255f6dfcb50c076a44b2861c6a5d346b92236b06272c2486b5b5fe086c4"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO We first need to detect support when to add additional braces / colon \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"presentation-compiler/test/dotty/tools/pc/tests/completion/CompletionExtraConstructorSuite.scala"},"region":{"startLine":422}}}],"partialFingerprints":{"codehealthFindingId/v1":"1e11e5d83a68f529e252a26325121884e37f27eb86e276847e95b39c906dbf17"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO SemanticdbSymbols.inverseSemanticdbSymbol does not support params and type params search \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"presentation-compiler/test/dotty/tools/pc/tests/definition/PcDefinitionSuite.scala"},"region":{"startLine":341}}}],"partialFingerprints":{"codehealthFindingId/v1":"79476194417134b7ce587b05f358524af831d5456f4ebef743222229f4cf0642"}},{"ruleId":"D17","level":"warning","message":{"text":"HackComment: // hacky way to add a source file to the presentation compiler sources \u2014 a workaround marked in source: record what it is compensating for and what would allow its removal (the upstream fix, the API it is waiting on, the invariant it restores), so the next reader can judge whether it is still needed rather than rediscovering why it is there."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"presentation-compiler/test/dotty/tools/pc/tests/info/InfoSuite.scala"},"region":{"startLine":167}}}],"partialFingerprints":{"codehealthFindingId/v1":"12d5fe3da7850f81be2faad0558d76fa3a978f4cd5bd430779142eb5fcda1458"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO This apparently breaks signature help. \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"presentation-compiler/test/dotty/tools/pc/tests/signaturehelp/SignatureHelpSuite.scala"},"region":{"startLine":354}}}],"partialFingerprints":{"codehealthFindingId/v1":"5ffe911d0fe603d5d0e1db93b3f5ed0aa00290248a1db9533b6883b231df5af7"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: update to 3.10.0 when released \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"project/Versions.scala"},"region":{"startLine":90}}}],"partialFingerprints":{"codehealthFindingId/v1":"235dac523c78d47312e6f31c0062ac570a03a9d050be9d54026d31d764974616"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Would this actually evict the reference compiler in scala-tool? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"project/Build.scala"},"region":{"startLine":690}}}],"partialFingerprints":{"codehealthFindingId/v1":"5aad121188c7b80afd225a85e44518003fb00cc4c29b42dad233f6b06fc8fa47"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Would this actually evict the reference compiler in scala-tool? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"project/Build.scala"},"region":{"startLine":794}}}],"partialFingerprints":{"codehealthFindingId/v1":"02d24b978c0d88d7aeb7f0bdd596159b10a6065cc9cc07f218423b67d1187583"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: We should use the val above instead of \u0060-usejavacp\u0060 below. SBT crashes we we have a val and we call toTask \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"project/Build.scala"},"region":{"startLine":912}}}],"partialFingerprints":{"codehealthFindingId/v1":"bc9c0a6ef73f63cb2be1679e8c544ce6d258364b801127c299c828266b980bda"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO #23743: once Scaladoc supports snippet checking without full page rendering,"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"project/Build.scala"},"region":{"startLine":1924}}}],"partialFingerprints":{"codehealthFindingId/v1":"2d54a7a9dccce0de3496dbf0371bed87b0af33236ed421c3dbb09c8659ceed51"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // something crashes the optimizer, TODO investigate \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"project/Build.scala"},"region":{"startLine":2290}}}],"partialFingerprints":{"codehealthFindingId/v1":"15a99d9a0b7de50fb5f98451eac9ab33b2a0dfe213fd299f2413b744924236e6"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO use for documentation? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"repl/src/dotty/tools/repl/ReplDriver.scala"},"region":{"startLine":215}}}],"partialFingerprints":{"codehealthFindingId/v1":"96ecab1965ca43db046c513aa6354c4cf982f2902e3c8c64841c43abec69e558"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: i5069 \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"repl/src/dotty/tools/repl/ReplDriver.scala"},"region":{"startLine":305}}}],"partialFingerprints":{"codehealthFindingId/v1":"c8892343acbabeda6320739c4e3ed965ee962f54259cba01e3aa74172026ac01"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"repl/src/dotty/tools/repl/ReplDriver.scala"},"region":{"startLine":451}}}],"partialFingerprints":{"codehealthFindingId/v1":"b25b35ab1a809ac1f2409fa729e33b5d06c3f806a1a23b077ce6627c09f7d08b"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/src/dotty/tools/scaladoc/tasty/comments/Comments.scala"},"region":{"startLine":280}}}],"partialFingerprints":{"codehealthFindingId/v1":"99c1dbfa1b9c9535a7ae153b105c184b95d01c8a6b59074babd3ca7a0076cdbe"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/disabled/partest/run/t5717.scala"},"region":{"startLine":11}}}],"partialFingerprints":{"codehealthFindingId/v1":"7efdb26ebd7a198c210fb9cc7591301f4993290de9572407cb39eb96d7a6b182"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/old-tasty-interpreter-prototype/interpreter/TreeInterpreter.scala"},"region":{"startLine":27}}}],"partialFingerprints":{"codehealthFindingId/v1":"8cbcc73bd3fb369c4e6c90eb179d97cdd644fc5976a592246860820bf14079c3"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/pending/run/name-based-patmat.scala"},"region":{"startLine":93}}}],"partialFingerprints":{"codehealthFindingId/v1":"288e0776367388ce5dbc08eaaa31883aa6e1e94bde11f899125da027d0847e1d"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run-macros/gestalt-type-toolbox-reflect/Test_2.scala"},"region":{"startLine":33}}}],"partialFingerprints":{"codehealthFindingId/v1":"117a8fae3e1f1d2e86e41c4f13ffe887682a52bb4eb415cfe51c7a348b1efd1e"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run-macros/gestalt-type-toolbox-reflect/Test_2.scala"},"region":{"startLine":41}}}],"partialFingerprints":{"codehealthFindingId/v1":"0c86ae860e9bf4f4ab9d9b829f2680822c4562577bc83d54edf4cfd423f2a8e5"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run-macros/gestalt-type-toolbox-reflect/Test_2.scala"},"region":{"startLine":68}}}],"partialFingerprints":{"codehealthFindingId/v1":"be7261a05a81ed387d35cf8c8ff0b7c154c85f0a4b46b569c4c84f307c090630"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run-staging/unliftables.scala"},"region":{"startLine":63}}}],"partialFingerprints":{"codehealthFindingId/v1":"a92a69375a4a25822d2de2079328943845b46fc6730d3dd3d629f081c5f9a503"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run-staging/unliftables.scala"},"region":{"startLine":69}}}],"partialFingerprints":{"codehealthFindingId/v1":"66b2370239fe7d703eab32f28e811ba4c7b6c34434c20a9b7ed8a4311c229b07"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run-staging/unliftables.scala"},"region":{"startLine":99}}}],"partialFingerprints":{"codehealthFindingId/v1":"f18ebb0bb711c29fb1bfe9f50a93d779cc98c44dc3cf4ab62aad9bb93e26958b"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/untried/neg/found-req-variance.scala"},"region":{"startLine":73}}}],"partialFingerprints":{"codehealthFindingId/v1":"6b45ae04db44bd4fc6ee3c98912cd049933d5fcb3e85456ef3127c30263cc2d0"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: support every alias coursier does, once the Coursier Interface exposes its own \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"repl/src/dotty/tools/repl/DependencyResolver.scala"},"region":{"startLine":16}}}],"partialFingerprints":{"codehealthFindingId/v1":"f4f6e9cdde2e996fa5da889d3ef208c719680c244bd1c9e999d6b6f3e3ea4217"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // FIXME Could be a List[TypeDef] too, although I\u0027m not \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"repl/src/sourcecode/Macros.scala"},"region":{"startLine":236}}}],"partialFingerprints":{"codehealthFindingId/v1":"608af3d44fafb2ad9e4c28bafe7a28b59b6f997c603c3a42f4a36973b0333fef"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // FIXME Could be a List[TypeDef] too, although I\u0027m not \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"repl/src/sourcecode/Macros.scala"},"region":{"startLine":241}}}],"partialFingerprints":{"codehealthFindingId/v1":"6c14a4dfbed29808e10cc41fabcceedf41e6f8a540670622eb9248b90f11a148"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO handle failure during initialisation \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"sbt-bridge/src-bootstrapped/ConsoleInterface.java"},"region":{"startLine":51}}}],"partialFingerprints":{"codehealthFindingId/v1":"078e85f7ddf568a45814603af5fbb7f2f17aafafe239ce91c4c5717ff5fee33e"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: atomic boolean? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"sbt-bridge/src/dotty/tools/xsbt/ProgressCallbackImpl.java"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"f9f9773b58f49a113da536862fafbeaf31400fbcd2308944ac03d51d969699b0"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: possible situation here where we use -from-tasty and TASTy source files but \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"sbt-bridge/src/dotty/tools/xsbt/CompilerBridgeDriver.java"},"region":{"startLine":101}}}],"partialFingerprints":{"codehealthFindingId/v1":"2e99f9f7a8eae0936c72463b8a776fd4339699fc0e8454a2f3665e6c4053ecc8"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: we should fix it by having special treatment of \u0060selectDynamic\u0060 and \u0060applyDynamic\u0060 calls \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"sbt-bridge/test/xsbt/ExtractUsedNamesSpecification.scala"},"region":{"startLine":202}}}],"partialFingerprints":{"codehealthFindingId/v1":"2723d82d11b40fc14fa3997eb44b68d926e83f5c7cdae9662dc6e338d76eef3c"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: this doesn\u0027t work yet because inherited classes are not extracted \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"sbt-bridge/test/xsbt/ExtractAPISpecification.scala"},"region":{"startLine":136}}}],"partialFingerprints":{"codehealthFindingId/v1":"ea29c2fe314aa7c970d0f78de27924f3b43fed04878992d6bf271cd93029914c"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: //todo extract \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc-js/main/src/searchbar/engine/PageSearchEngine.scala"},"region":{"startLine":91}}}],"partialFingerprints":{"codehealthFindingId/v1":"d8335fde83e351aa9ee5c4835e81ca30d764cb5f2a2ff7168d19f2fcd9e92fb8"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: //                                     ^^^^^^^ TODO fix \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc-testcases/src/tests/thisType.scala"},"region":{"startLine":24}}}],"partialFingerprints":{"codehealthFindingId/v1":"f58de5af75cbe4894184180a79140a6a553f588fd7df7224841ecc94ed9ab0d5"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: //opaque type Permission \u003C: Permissions \u0026 PermissionChoice = Int TODO: #112"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc-testcases/src/tests/opaqueTypes.scala"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"af9e3d0d5449afad92402929bd3f85607c03d36ace6f57cbf10d720945af9f38"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO #26 this is not supported :( class D1[T ]"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc-testcases/src/tests/genericSignatures.scala"},"region":{"startLine":5}}}],"partialFingerprints":{"codehealthFindingId/v1":"b14719bb0ec4433a73f194cce31807b857caf546d98a571dd1e216d3457504fd"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO We do not see members from companions val valInsideDocObject = ??? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc-testcases/src/tests/classSignatureTestSource.scala"},"region":{"startLine":49}}}],"partialFingerprints":{"codehealthFindingId/v1":"54aebc75ca466fe9d22b92684f5b0b18aefcdcb67b0465639fa21471bb5b0374"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO #25 do we need to add \u0027val\u0027 in case class signatures?"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc-testcases/src/tests/classSignatureTestSource.scala"},"region":{"startLine":65}}}],"partialFingerprints":{"codehealthFindingId/v1":"5c13a853f5fd1bdb95414e91418867f4bb670989ce1a05d53336c8a97c389586"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO (longterm) properly represent signatures \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/src/dotty/tools/scaladoc/api.scala"},"region":{"startLine":136}}}],"partialFingerprints":{"codehealthFindingId/v1":"09c1c9207327b189619c6df7d5656759b1ef9c92e537b304e5329e1c48fd7876"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: #13243"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/src/dotty/tools/scaladoc/Inkuire.scala"},"region":{"startLine":23}}}],"partialFingerprints":{"codehealthFindingId/v1":"40b479a63af895ae83be76f5136782d309d5046efa1c1aade0ff50d91b0aac9f"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO (https://github.com/lampepfl/scala3doc/issues/238): provide proper error handling"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/src/dotty/tools/scaladoc/DocContext.scala"},"region":{"startLine":42}}}],"partialFingerprints":{"codehealthFindingId/v1":"110343d5fb370167b7f2846ce0a9af2863cb11dc2d3e716e7fbf1301cc23f6b1"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // FIXME clean up and have versions on Symbol for those \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/src/dotty/tools/scaladoc/cc/CaptureOps.scala"},"region":{"startLine":80}}}],"partialFingerprints":{"codehealthFindingId/v1":"40f55134c599729580c80961c4a89a0180fe4f6fbb2baa87e36890aad867fb5d"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO be more clever about writting - make it much faster! \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/src/dotty/tools/scaladoc/renderers/Writer.scala"},"region":{"startLine":12}}}],"partialFingerprints":{"codehealthFindingId/v1":"7a523661a1445969eb8e13d7927a71ab5f7939a5b9e2817629631735a55c3bbe"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO merge it with new renderer \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/src/dotty/tools/scaladoc/renderers/SignatureRenderer.scala"},"region":{"startLine":13}}}],"partialFingerprints":{"codehealthFindingId/v1":"9344d8b27934fea7534e08818001901af5c16320872d443bc0c8b32f6675d737"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO verify if location exisits \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/src/dotty/tools/scaladoc/renderers/Locations.scala"},"region":{"startLine":24}}}],"partialFingerprints":{"codehealthFindingId/v1":"c7a1e4573d3a30692113450106cc035e99aa7134410936d7fa5ad1e5cdb4019b"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO we should switch that to warning probably or has dedicated setting \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/src/dotty/tools/scaladoc/renderers/Locations.scala"},"region":{"startLine":48}}}],"partialFingerprints":{"codehealthFindingId/v1":"9bbca1e763e5c8327313c505a50f48e04e5de6b1fd29ee59937c8bfea5f10d82"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO use style \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/src/dotty/tools/scaladoc/renderers/DocRenderer.scala"},"region":{"startLine":80}}}],"partialFingerprints":{"codehealthFindingId/v1":"4437ecb1c304033c92d4da660e1e6605b33ea789dd86e89143752a507b1f3ac5"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO #23 add support for all types signatures that make sense"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/src/dotty/tools/scaladoc/tasty/TypesSupport.scala"},"region":{"startLine":96}}}],"partialFingerprints":{"codehealthFindingId/v1":"98bbdc434f5d1bc2affa5f16635a5a75de556bdb73a3b91fefda856d46a6092d"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: //TODO: Retrieve string that will match scaladoc anchors \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/src/dotty/tools/scaladoc/tasty/SymOps.scala"},"region":{"startLine":72}}}],"partialFingerprints":{"codehealthFindingId/v1":"b9c4b61740c4649a0b4ecbd810837e22f641f259a125cf90fa9c5d24b9ebac51"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO find a better way to handle this cache and move the methods to SymOps \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/src/dotty/tools/scaladoc/tasty/SymOps.scala"},"region":{"startLine":232}}}],"partialFingerprints":{"codehealthFindingId/v1":"64f62116650abf7c103c1746670e86fb792fa9d100274645efd454fcb13fcb0f"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: //TODO #263: Add anchor support"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/src/dotty/tools/scaladoc/tasty/SymOps.scala"},"region":{"startLine":257}}}],"partialFingerprints":{"codehealthFindingId/v1":"1b5ccfcdd1f5e1966cb90d7cecbe32e10f126515e45743da2072e03ba900c93a"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO Add tests for it! \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/src/dotty/tools/scaladoc/tasty/SymOps.scala"},"region":{"startLine":265}}}],"partialFingerprints":{"codehealthFindingId/v1":"6717e3a5003ad87f5bd426ce4cc38defceeaf159e4ad489e35b9d6a14814462b"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO #22 make sure that DRIs are unique plus probably reuse semantic db code?"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/src/dotty/tools/scaladoc/tasty/SymOps.scala"},"region":{"startLine":276}}}],"partialFingerprints":{"codehealthFindingId/v1":"f58c6aac84f441f3a91fe7157d0d3030ff3a7b816ef9ef02fd96d34a5874c16e"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO handle other cases without using show (show does not have a stable representation) \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/src/dotty/tools/scaladoc/tasty/Scaladoc2AnchorCreator.scala"},"region":{"startLine":66}}}],"partialFingerprints":{"codehealthFindingId/v1":"2d599bf4f8e642f8c074667cdc7b8991368cbe50f251c022e8ce4ec2ed5265ad"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: //TODO [Inkuire] Implicit parameters \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/src/dotty/tools/scaladoc/tasty/InkuireSupport.scala"},"region":{"startLine":107}}}],"partialFingerprints":{"codehealthFindingId/v1":"52a377a7cf51bdb5738303476e1d30be884a4400c43ad00dc143f7656ceea0ee"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: //TODO [Inkuire] Type bounds \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/src/dotty/tools/scaladoc/tasty/InkuireSupport.scala"},"region":{"startLine":112}}}],"partialFingerprints":{"codehealthFindingId/v1":"b31474f6bdc495ecb0b4681e1831dc9685436fd28ad9bae3c59904fbab5a9896"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: //TODO [Inkuire] Type bounds \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/src/dotty/tools/scaladoc/tasty/InkuireSupport.scala"},"region":{"startLine":141}}}],"partialFingerprints":{"codehealthFindingId/v1":"dd32c793408d9131af90350386cf459ed858c3afdf012120efa085451a7978a5"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: //TODO [Inkuire] Type bounds \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/src/dotty/tools/scaladoc/tasty/InkuireSupport.scala"},"region":{"startLine":321}}}],"partialFingerprints":{"codehealthFindingId/v1":"d4e0750b742e8224690150da2339826fc65cf761594744116baee785ceea4d83"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: //TODO [Inkuire] Type bounds \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/src/dotty/tools/scaladoc/tasty/InkuireSupport.scala"},"region":{"startLine":323}}}],"partialFingerprints":{"codehealthFindingId/v1":"02e96471e10bd8de75a3ae8fadd8b2627812a69f536e869b344ef4faa3d28903"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: //TODO [Inkuire] Type bounds \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/src/dotty/tools/scaladoc/tasty/InkuireSupport.scala"},"region":{"startLine":357}}}],"partialFingerprints":{"codehealthFindingId/v1":"ba1651bbfa65e17c8e73c1964d055cc03f7319c9bf2a00456125684a902e36ab"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: //TODO [Inkuire] Type bounds (other than just HKTs) \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/src/dotty/tools/scaladoc/tasty/InkuireSupport.scala"},"region":{"startLine":262}}}],"partialFingerprints":{"codehealthFindingId/v1":"9ae18edf24034fda6009b4348be523f3a0d803bfa5af75c1295c64fc7037b6a1"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: //TODO [Inkuire] Repeated types \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/src/dotty/tools/scaladoc/tasty/InkuireSupport.scala"},"region":{"startLine":313}}}],"partialFingerprints":{"codehealthFindingId/v1":"d533b20c53fff95bccf512c7a3a0df3bd8a800a643d84766eb95bc7e103a027c"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: //TODO [Inkuire] Repeated types \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/src/dotty/tools/scaladoc/tasty/InkuireSupport.scala"},"region":{"startLine":315}}}],"partialFingerprints":{"codehealthFindingId/v1":"fa5e84ec0c7dcd6e6e0694fad40e1f16c715c83f93e42b6b31c3fd12283d6e44"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: //TODO [Inkuire] Refinements \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/src/dotty/tools/scaladoc/tasty/InkuireSupport.scala"},"region":{"startLine":325}}}],"partialFingerprints":{"codehealthFindingId/v1":"b3da9b923bdf6da27e2766a85a175fc3f1c3734f5bceaf2e5644cd0a6236075e"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: //TODO [Inkuire] \u003C- should be handled by Singleton case, but didn\u0027t work \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/src/dotty/tools/scaladoc/tasty/InkuireSupport.scala"},"region":{"startLine":361}}}],"partialFingerprints":{"codehealthFindingId/v1":"7c2ad4cf2bee340d882d2244263fa11772f2ec0834880826d2e2a299ea6de2a5"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: check if those two cases can occur at the same time \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/src/dotty/tools/scaladoc/tasty/ClassLikeSupport.scala"},"region":{"startLine":209}}}],"partialFingerprints":{"codehealthFindingId/v1":"8d08dbbf73778917b7584c62d3d388634caeb1f57b10607e5302e7bba1ca7b0f"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: add exists function to position methods in Quotes and replace the condition here for checking the JPath \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/src/dotty/tools/scaladoc/tasty/ClassLikeSupport.scala"},"region":{"startLine":316}}}],"partialFingerprints":{"codehealthFindingId/v1":"9145a13d30556475b0dcebfb42c9373b8d4eface5c4c5f53fed7ff770ad22111"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO why we do need null? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/src/dotty/tools/scaladoc/tasty/comments/Comments.scala"},"region":{"startLine":91}}}],"partialFingerprints":{"codehealthFindingId/v1":"0dca5a0ef6f906df0f5aa9b873800f04ae527416f67c3c9c60c7bf31cec7226d"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: figure out why \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/src/dotty/tools/scaladoc/tasty/comments/Comments.scala"},"region":{"startLine":114}}}],"partialFingerprints":{"codehealthFindingId/v1":"86ef9ce642937095246978f4df42660af43e2d69f6e4d10eda1c56a5443575cd"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: The header row must match the delimiter row in the number of cells. If not, a table will not be recognized: \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/src/dotty/tools/scaladoc/tasty/comments/wiki/Parser.scala"},"region":{"startLine":331}}}],"partialFingerprints":{"codehealthFindingId/v1":"b0b3a8f9c37cd380776d1b7878dcbd9acddeabf9f080e30257dcbb41562dd9e8"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Break at following block level element: The table is broken at the first empty line, or beginning of another block-level structure: \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/src/dotty/tools/scaladoc/tasty/comments/wiki/Parser.scala"},"region":{"startLine":332}}}],"partialFingerprints":{"codehealthFindingId/v1":"fdcfc4b10193acf409a96330e50b27ea51f251af674f51072957d46ec7cbc521"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Do not return a table when: The header row must match the delimiter row in the number of cells. If not, a table will not be recognized \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/src/dotty/tools/scaladoc/tasty/comments/wiki/Parser.scala"},"region":{"startLine":333}}}],"partialFingerprints":{"codehealthFindingId/v1":"6f9f33479fc83cd40fd5fc6ed5d77544babe5512417ebf8282b9388aff0e9caf"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Abandon table parsing when the delimiter is missing instead of fixing and continuing. \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/src/dotty/tools/scaladoc/tasty/comments/wiki/Parser.scala"},"region":{"startLine":354}}}],"partialFingerprints":{"codehealthFindingId/v1":"9464313a6fa8da97f21eebd5f36a50cd8283ad3994710cc1c8944ca7d235940e"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Parse the second row without parsing inline markdown \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/src/dotty/tools/scaladoc/tasty/comments/wiki/Parser.scala"},"region":{"startLine":381}}}],"partialFingerprints":{"codehealthFindingId/v1":"cd2e65993dbc67a65791fdbea8c3f9d1c98f32cd19d72a3c948448734fadc543"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Save pos when delimiter row is parsed and use here in reported errors \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/src/dotty/tools/scaladoc/tasty/comments/wiki/Parser.scala"},"region":{"startLine":382}}}],"partialFingerprints":{"codehealthFindingId/v1":"bbe827bb57ac8998fd663605c6c08a0859462cca50ca4a14eb2d5512a02fbfbf"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO (#220): We can expand this on generic etc"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/src/dotty/tools/scaladoc/transformers/ImplicitMembersExtensionTransformer.scala"},"region":{"startLine":22}}}],"partialFingerprints":{"codehealthFindingId/v1":"68411c79b7e9537a0c3c32f99a871166c81cbcd2a7a38e95b89067e4031b7bc1"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // FIXME remove this copy of the file \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/src/scala/tasty/inspector/TastyInspector.scala"},"region":{"startLine":2}}}],"partialFingerprints":{"codehealthFindingId/v1":"1e12f9ac752e272b8df96c8c13343252b11b1e4ff6022956e2bc193e0d6161d0"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // FIXME remove this copy of the file \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/src/scala/tasty/inspector/Tasty.scala"},"region":{"startLine":2}}}],"partialFingerprints":{"codehealthFindingId/v1":"10151b71038baa629be3cbf74bf539727c35b7e36fd3df2f37e4a85445eb6328"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // FIXME remove this copy of the file \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/src/scala/tasty/inspector/Inspector.scala"},"region":{"startLine":2}}}],"partialFingerprints":{"codehealthFindingId/v1":"9ad35756a191813e98422deee977317c5461c73b56bc647e45c36f86d997c8a4"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: handle synthetic givens, for now we disable them from testing \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/test-source-links/dotty/tools/scaladoc/source-links/RemoteLinksTest.scala"},"region":{"startLine":48}}}],"partialFingerprints":{"codehealthFindingId/v1":"4ff1e09293bc3e623aa9889c889986e766519b4857f98c61b92ab2183b757101"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO we still cannot filter out all constructor-based fields \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/test/dotty/tools/scaladoc/signatures/TranslatableSignaturesTestCases.scala"},"region":{"startLine":13}}}],"partialFingerprints":{"codehealthFindingId/v1":"48c8c8f40d50a148d457629e0fe22109e2cd55066767f072b864733da0e05816"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO add docs for packages \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/test/dotty/tools/scaladoc/signatures/SignatureTest.scala"},"region":{"startLine":137}}}],"partialFingerprints":{"codehealthFindingId/v1":"7828921995927e08e4a31d7c997aad0a8bec59b638104d8b93963d378d863ff2"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO add negative and more details tests \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/test/dotty/tools/scaladoc/site/SidebarParserTest.scala"},"region":{"startLine":11}}}],"partialFingerprints":{"codehealthFindingId/v1":"dc7e2de70c9d5d860bcdea722da52eff41439040f1c1663360fa9f678d6a07c0"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO (https://github.com/lampepfl/scaladoc/issues/240): configure source root"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/test/dotty/tools/scaladoc/source-links/SourceLinksTest.scala"},"region":{"startLine":52}}}],"partialFingerprints":{"codehealthFindingId/v1":"fe471dd48bc765200c8d6d775eb9e3a00f3da37e12c670353c6193db002f2b4a"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // OtherPackageMembers - does not work, TODO? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/test/dotty/tools/scaladoc/tasty/comments/IntegrationTest.scala"},"region":{"startLine":24}}}],"partialFingerprints":{"codehealthFindingId/v1":"8beed6aed8ce3d4d0955d9dbcf73f6130298f4e987a1fdfa66c62703f58fb0dc"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // SamePackageMembers - does not work, TODO? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/test/dotty/tools/scaladoc/tasty/comments/IntegrationTest.scala"},"region":{"startLine":26}}}],"partialFingerprints":{"codehealthFindingId/v1":"f4601692bbb477b5ecec48c23e7ac355a81ad9e1a553623318cb0ae45a97205e"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO avoid using default parameters (for binary compat) \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"staging/src/scala/quoted/staging/Compiler.scala"},"region":{"startLine":69}}}],"partialFingerprints":{"codehealthFindingId/v1":"beeef21dfb5fbe46810ca9a97ec2cf6d5ce3511b3e0d3820a656da8d1671158d"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO swap SIGNED and TARGETSIGNED codes on next major version bump \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tasty/src/dotty/tools/tasty/TastyFormat.scala"},"region":{"startLine":433}}}],"partialFingerprints":{"codehealthFindingId/v1":"c5e3f6687c2e7eb84832e7f370e39b280d2cdb98468f4e43ebc1bc32add9687e"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // todo. read the compiler config and print if -Ydebug is set \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/disabled/macro/run/macro-range/Expansion_Impossible_2.scala"},"region":{"startLine":5}}}],"partialFingerprints":{"codehealthFindingId/v1":"7778953b95ebc090f498ed965cea1c5211de442193fa6ec17c1d6b5cce9de21a"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // todo. read the compiler config and print if -Ydebug is set \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/disabled/macro/run/macro-range/Expansion_Impossible_2.scala"},"region":{"startLine":34}}}],"partialFingerprints":{"codehealthFindingId/v1":"c013cc5fb400ab6ecb62d1b26cba0752f54319c025c35e57eda859b531eaa1a3"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // todo. read the compiler config and print if -Ydebug is set \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/disabled/macro/run/macro-range/Common_1.scala"},"region":{"startLine":37}}}],"partialFingerprints":{"codehealthFindingId/v1":"4092c80598417afa0d94d9933a1e9fda54fc0ec98cef03668199c74be1acb617"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: does it ever make sense *not* to perform a shallowDuplicate on \u0060to.head\u0060? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/disabled/macro/run/macro-range/Common_1.scala"},"region":{"startLine":22}}}],"partialFingerprints":{"codehealthFindingId/v1":"282beb7fc2975ff8cde9a14d887df619df0e080d3238c8c89c6dbfbfbc37579b"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // was:    if (level.splice.id \u003C 4) // TODO Remove hack! \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/disabled/macro/run/t5713/Impls_Macros_1.scala"},"region":{"startLine":22}}}],"partialFingerprints":{"codehealthFindingId/v1":"0676c264ef11738e3f6e5fd3b703a4a8ee2dab0e64253b541c7701cff372fe6c"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO Remove hack! \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/disabled/macro/run/t5713/Impls_Macros_1.scala"},"region":{"startLine":23}}}],"partialFingerprints":{"codehealthFindingId/v1":"0c0030a57f1fc0cde269670fea76cad0b17011f3d8cbf15c07c94652543ea288"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // FIXME: SI-7066"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/disabled/macro/run/t7008-scala-defined/ScalaClassWithCheckedExceptions_1.scala"},"region":{"startLine":4}}}],"partialFingerprints":{"codehealthFindingId/v1":"9534d85c96113ad67a8ed88bfc0ea209d865f678e188ef28902a46b708b18a54"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO come up with a non-trivial universe different from ru \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/disabled/reflect/pos/typetags.scala"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"443ccb3f5a72fc50983ccc2f4d203ee270c2b5289f7cc9e699ba30f5f2a690d6"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO SI-8576 unstable under -Xcheckinit"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/disabled/reflect/run/t8549.scala"},"region":{"startLine":91}}}],"partialFingerprints":{"codehealthFindingId/v1":"1473b3ed48051a48ea7772166748e3125b8d36fab8b23f180d91511fc7a4c636"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO SI-8576 unstable under -Xcheckinit"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/disabled/reflect/run/t8549.scala"},"region":{"startLine":103}}}],"partialFingerprints":{"codehealthFindingId/v1":"9939dcd6b10b2ef3e8730bb824812bb55acd4405b4dbcc3216d3b4aff601d342"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO SI-8576 unstable under -Xcheckinit"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/disabled/reflect/run/t8549.scala"},"region":{"startLine":116}}}],"partialFingerprints":{"codehealthFindingId/v1":"9af86b7323a5038029c46328ec20d6f0372704ac37e645df1e9d526ca7d5f07c"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO SI-8576 unstable under -Xcheckinit"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/disabled/reflect/run/t8549.scala"},"region":{"startLine":153}}}],"partialFingerprints":{"codehealthFindingId/v1":"d139bb90cbae2b92e4f77fe12679cdc8479b5d6f00785f4ceaaa33eff99c6d78"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO SI-8576 unstable under -Xcheckinit"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/disabled/reflect/run/t8549.scala"},"region":{"startLine":172}}}],"partialFingerprints":{"codehealthFindingId/v1":"b0de091ed0598ebb87881d4b7ce781d5c9ae915fa1440613bf3f3c7c84004816"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO SI-8576 unstable under -Xcheckinit"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/disabled/reflect/run/t8549.scala"},"region":{"startLine":182}}}],"partialFingerprints":{"codehealthFindingId/v1":"7ef67491e3c7aecb695221c7c831ab068f2152ed768f955a4a4f8b2f64b72d73"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO SI-8576 throws scala.UnitializedFieldError under -Xcheckinit"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/disabled/reflect/run/t8549.scala"},"region":{"startLine":109}}}],"partialFingerprints":{"codehealthFindingId/v1":"28d9ff27563d95c754657c9675eea6299345c2ec69c924c24bc9fb4b4a3fd51f"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO SI-8576 throws scala.UnitializedFieldError under -Xcheckinit"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/disabled/reflect/run/t8549.scala"},"region":{"startLine":136}}}],"partialFingerprints":{"codehealthFindingId/v1":"c9393ae384f4d35408b8d0a9cbb1599e4c81bb0b54e690b2445dc246a601e822"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO provoke HashMapCollision1 \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/disabled/reflect/run/t8549.scala"},"region":{"startLine":123}}}],"partialFingerprints":{"codehealthFindingId/v1":"da8c7966f7a67478ee2f58234e80ce6564421483e9f1715feae76d50bde04416"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO provoke HashSetCollision1 \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/disabled/reflect/run/t8549.scala"},"region":{"startLine":129}}}],"partialFingerprints":{"codehealthFindingId/v1":"436f5df1fadd31c720786ce60c306c4e4d68cf2dec035e7d3e170b5517ad6a68"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO SI-8576 Uninitialized field: IndexedSeqLike.scala: 56"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/disabled/reflect/run/t8549.scala"},"region":{"startLine":148}}}],"partialFingerprints":{"codehealthFindingId/v1":"01cca2af138497173fcbeea65d64c480a6fbc4233b3560fe3863b84d88f3cd34"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO SI-8576 Uninitialized field under -Xcheckinit"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/disabled/reflect/run/t8549.scala"},"region":{"startLine":156}}}],"partialFingerprints":{"codehealthFindingId/v1":"21063d593c797047038187dc0920615949ef3c58e2cfbd3b8062887233dbb6e8"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO SI-8576 Uninitialized field under -Xcheckinit"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/disabled/reflect/run/t8549.scala"},"region":{"startLine":158}}}],"partialFingerprints":{"codehealthFindingId/v1":"c87c9383e2e841d55a393fbc31d2c6d1e65a79d5c7db8529d6cd048e4dc0f26b"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO SI-8576 Uninitialized field under -Xcheckinit"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/disabled/reflect/run/t8549.scala"},"region":{"startLine":166}}}],"partialFingerprints":{"codehealthFindingId/v1":"2d79d14285e886ccd5d7aef277d4e942e6ba39b90409210a168efdee8d7c56e4"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO SI-8576 Uninitialized field under -Xcheckinit"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/disabled/reflect/run/t8549.scala"},"region":{"startLine":180}}}],"partialFingerprints":{"codehealthFindingId/v1":"ae7869f86e9befe50bad2a98de77e36838b8e067cb798a90458c52491d654c8e"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // FIXME: disabled because of SI-7056"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/disabled/reflect/run/t6411a.scala"},"region":{"startLine":60}}}],"partialFingerprints":{"codehealthFindingId/v1":"454c2d0a1d16916e47b34e237183f18a817152e471f859bccbe68f96dc73916c"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // FIXME: disabled because of SI-7056"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/disabled/reflect/run/t6411a.scala"},"region":{"startLine":76}}}],"partialFingerprints":{"codehealthFindingId/v1":"30f6af8fe6ff5983e60caa9fbb1d73091b86613ece332818ed49b117c97d3277"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment repeated across 16 files: The identical TodoComment appears in 16 files (34 occurrences) \u2014 almost certainly one boilerplate line from a single migration or decision, not 34 independent debts. Fix the systemic cause once rather than file-by-file. Text: \u0022// TODO NEEDS MANUAL CHANGE (early initializers)\u0022. Source code is not a task system: track the cleanup where tasks live. (Every occurrence still counts toward the score and metrics.)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/disabled/reflect/run/t6259.scala"},"region":{"startLine":32}}}],"partialFingerprints":{"codehealthFindingId/v1":"1dabe04cbb5749ecda1dbd4e0d18bda87a7c9c24fd1b280a4ac679b1e295d57a"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // locally(Early.x) TODO sort out VerifyError in Early$.\u003Cinit\u003E \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/disabled/reflect/run/t6259.scala"},"region":{"startLine":54}}}],"partialFingerprints":{"codehealthFindingId/v1":"bf1a578124bb618c5274fc65124f0b7e959eac1889a8d1a4267e3d1e000058e6"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // DoubleOk         TODO sort out VerifyError in DoubleOk$.\u003Cinit\u003E \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/disabled/reflect/run/t6259.scala"},"region":{"startLine":55}}}],"partialFingerprints":{"codehealthFindingId/v1":"f10cf0b30542cc54aca535208131facc7f5996d519c9ab16622d79ac5dfc9698"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO complaints classdef can\u0027t be found for some reason, runs fine in my case \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/disabled/reflect/run/SymbolsTest.scala"},"region":{"startLine":133}}}],"partialFingerprints":{"codehealthFindingId/v1":"182e6b3c02191d031e7d54a4435974a8329ac01537245d7ec236c1b36ecacc8a"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: not working now \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/explicit-nulls/neg/flow-varref-in-closure.scala"},"region":{"startLine":132}}}],"partialFingerprints":{"codehealthFindingId/v1":"0b344203e350170b9a52a95a4898583dfa22830995587aea04504c9f4c408195"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: drop the .asInstanceOf when explicit nulls are implemented \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/explicit-nulls/pos/notNull.scala"},"region":{"startLine":4}}}],"partialFingerprints":{"codehealthFindingId/v1":"0a267bd147833fbb0e566e621e4e5bfc6dd34df890af3df6f50bb94eaec31905"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // case that: Map2[b] =\u003E that.get(3.asInstanceOf[K]) // FIXME \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/link/custom-lib/strawman/collection/Map2.scala"},"region":{"startLine":8}}}],"partialFingerprints":{"codehealthFindingId/v1":"60d5d4a25d8bcffb56d09fb1d7cc6ca893da1415884c91eb4d4ba70ecabd1a9b"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // FIXME: Issue when loading type bindings from Tasty \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/link/on-custom-lib/map2.scala"},"region":{"startLine":5}}}],"partialFingerprints":{"codehealthFindingId/v1":"2eb994d8244b7f4f393059c04f590baba2d92d8546539217df109e933cd1cffd"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // FIXME issue loading class inheriting a type parameter \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/link/on-custom-lib/builder2.scala"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"29f6ecfd24193e21645acf9aa142d1fffc6a56d4586b69c33ae5e0792c20d484"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // FIXME: issue loading package object \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/link/strawman/iterator-1.scala"},"region":{"startLine":5}}}],"partialFingerprints":{"codehealthFindingId/v1":"ac485431bebf3bc107b42327066ed757530ecd83a1312222832de4925685457f"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // FIXME needs to be classified as Foo, too \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/neg-custom-args/captures/sep-paths-derivedcaps-consume.scala"},"region":{"startLine":18}}}],"partialFingerprints":{"codehealthFindingId/v1":"2a00413efee594607ac2c16f875c8405731d5057fac9313f8bf8729c20107e38"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: //val a4 = A4(a22) // FIXME should work? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/neg-custom-args/captures/sep-paths-derivedcaps-consume.scala"},"region":{"startLine":33}}}],"partialFingerprints":{"codehealthFindingId/v1":"dcf115b140b8677637056b194d5ac76f257fce07680e5282c54e7c3324e5eff1"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: //val a6 = A4(a222) // FIXME should work? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/neg-custom-args/captures/sep-paths-derivedcaps-consume.scala"},"region":{"startLine":38}}}],"partialFingerprints":{"codehealthFindingId/v1":"55fa8635838bd9866444f93d3c8631ea000ee6e5bf10df152f846ef9900bcfe0"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // error TODO improve error message \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/neg-custom-args/captures/reference-cc.scala"},"region":{"startLine":58}}}],"partialFingerprints":{"codehealthFindingId/v1":"65e39f20314fce29a95a89b10e476d25052e290d0fc13e78ce710bcfe612798b"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: We have to put \u0060c\u0060 in the different argument list to make it work. \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/neg-custom-args/captures/path-connection.scala"},"region":{"startLine":22}}}],"partialFingerprints":{"codehealthFindingId/v1":"b254d00f8f2be4218e21822e6af59da3bea7420ac1d319e74dfe10ddbd057b86"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Why do we get error without the return type here? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/neg-custom-args/captures/capset-members.scala"},"region":{"startLine":11}}}],"partialFingerprints":{"codehealthFindingId/v1":"d679aec70da95245bf2da53ff38d3b46d79f1686386dc8272a3068fe56cbd5e6"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Why do we get error without the return type here? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/neg-custom-args/captures/capset-members-nohat.scala"},"region":{"startLine":11}}}],"partialFingerprints":{"codehealthFindingId/v1":"6c55a8f04c5aaefdaecbd21074d710ac14dbc5972684ec32b43e9b1df92c1a7b"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: rootTransform \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/neg-macros/i13809/Macros_1.scala"},"region":{"startLine":232}}}],"partialFingerprints":{"codehealthFindingId/v1":"7e1c8805952b94cea0c336389c90d788c295f1a8543cf79293aa26ef527c490a"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO check that the parent is Asserts \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/neg-macros/tasty-macro-assert-1/quoted_1.scala"},"region":{"startLine":21}}}],"partialFingerprints":{"codehealthFindingId/v1":"a2f28f45c357e563b491661969d79a0bb76b2450cbdc41b99949b6ccacc19657"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO check that the parent is Asserts \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/neg-macros/tasty-macro-assert-2/quoted_1.scala"},"region":{"startLine":21}}}],"partialFingerprints":{"codehealthFindingId/v1":"7693fdef0ecb444b2ae7965eb498dc574578e6b14d31cee36eea97fadb7b7988"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO check that the parent is Asserts \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run-macros/tasty-macro-assert/quoted_1.scala"},"region":{"startLine":21}}}],"partialFingerprints":{"codehealthFindingId/v1":"b87d6a9cefa9e714233909907824d67d63c29fa059f33dcf9066ef943e578802"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: need test for rank N with N \u003E: 2 \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/neg/tcpoly_variance_enforce.scala"},"region":{"startLine":42}}}],"partialFingerprints":{"codehealthFindingId/v1":"bcd87b732f4b0a047c431537b1891665256f6ea769d169cb0a82433962a0f9fe"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: this should be pure, see #26800 #24990 #26578"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/neg/nested-module-no-inits.scala"},"region":{"startLine":7}}}],"partialFingerprints":{"codehealthFindingId/v1":"afa827350758038081b469cf1f83cea3268b6bf5da4cdb8245c619d6bab294e7"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: this should be pure, see #26800 #24990 #26578"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/neg/i24990.scala"},"region":{"startLine":12}}}],"partialFingerprints":{"codehealthFindingId/v1":"d6ec29773fb5f021ac52d51f8a6e082451ad4d1c2aae5dd73b04e7a59b600eec"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // G.valBinaryAPI2 \u002B // FIXME should error (now fails -Ycheck) \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/neg/inline-unstable-accessors.scala"},"region":{"startLine":54}}}],"partialFingerprints":{"codehealthFindingId/v1":"116cb2cad40c19e12602a4579b972c00b64c20d8dc15ccda3621026e37f8bcdc"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: //  I.valBinaryAPI2 \u002B // FIXME should error (now fails -Ycheck) \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/neg/inline-unstable-accessors.scala"},"region":{"startLine":67}}}],"partialFingerprints":{"codehealthFindingId/v1":"5540803da147318ffc7f8f45ca2b02b2f4e02c826b60a41ed2cfcc30e6b889ab"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // no separation checking, TODO enable and move to neg-customargs \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/neg/capture-vars-subtyping.scala"},"region":{"startLine":2}}}],"partialFingerprints":{"codehealthFindingId/v1":"a4ad0053cd2c8f78d9aea0d3020677d7d33265dda88ab0e831310a810aa3945b"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: make \u0022CapSet-ness\u0022 of type variables somehow contagious? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/neg/capture-vars-subtyping.scala"},"region":{"startLine":11}}}],"partialFingerprints":{"codehealthFindingId/v1":"e73db3911af000161d472daa880971a55f19df95bd24305ca98604d26e725426"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO error: deprecation waring \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/neg/IsInstanceOfClassTag.scala"},"region":{"startLine":8}}}],"partialFingerprints":{"codehealthFindingId/v1":"2723c305b47978b5cb3984a3d44528006e96d9461d2a5aeae0b6c48745983ed4"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment repeated across 16 files: The identical TodoComment appears in 16 files (17 occurrences) \u2014 almost certainly one boilerplate line from a single migration or decision, not 17 independent debts. Fix the systemic cause once rather than file-by-file. Text: \u0022// TODO improve infrastructure to avoid needing this code on each test\u0022. Source code is not a task system: track the cleanup where tasks live. (Every occurrence still counts toward the score and metrics.)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/old-tasty-interpreter-prototype/Test.scala"},"region":{"startLine":18}}}],"partialFingerprints":{"codehealthFindingId/v1":"9838c4b2987eedf1d07a5a46463db3d416cad4574a3618343828239414866c26"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // Todo \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/old-tasty-interpreter-prototype/Precompiled.scala"},"region":{"startLine":16}}}],"partialFingerprints":{"codehealthFindingId/v1":"905e9669d61ef5d5f0bb38e086882a7e7248190ea733b272e6373c7caba38210"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO use \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/old-tasty-interpreter-prototype/interpreter/TreeInterpreter.scala"},"region":{"startLine":42}}}],"partialFingerprints":{"codehealthFindingId/v1":"c5d9be311d4201e82f40ae9a6ebad73234040ec8be8ce87117295a7e976b52b3"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: record the environment for closure purposes \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/old-tasty-interpreter-prototype/interpreter/TreeInterpreter.scala"},"region":{"startLine":79}}}],"partialFingerprints":{"codehealthFindingId/v1":"868ed4ef3419b3cffc3bcc18702b69df93e36ab2733a5f94c5d3ede94e1c7cca"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: check the correct sig and object enclosement for main \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/old-tasty-interpreter-prototype/interpreter/TastyInterpreter.scala"},"region":{"startLine":13}}}],"partialFingerprints":{"codehealthFindingId/v1":"0a9289658eaa3844d25b4e2bba369ff09dfebe7f0ed5272eb55c0b6525b8af6b"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: recurse only for PackageDef, ClassDef \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/old-tasty-interpreter-prototype/interpreter/TastyInterpreter.scala"},"region":{"startLine":18}}}],"partialFingerprints":{"codehealthFindingId/v1":"31306ac522d6859bc7bd65ffd4e88d0dbb24faab86e7d5323343784f6ff29ee9"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO can we use interpretMethodCall instead? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/old-tasty-interpreter-prototype/interpreter/jvm/JVMReflection.scala"},"region":{"startLine":56}}}],"partialFingerprints":{"codehealthFindingId/v1":"adbaa0ea98e2e8c452c20345e462b04f9562c686e7dce0042b680593bffd3902"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // FIXME not necesarly static \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/old-tasty-interpreter-prototype/interpreter/jvm/Interpreter.scala"},"region":{"startLine":71}}}],"partialFingerprints":{"codehealthFindingId/v1":"6503bbe6242f550c05c92b4ff14e1a29d88a82ed8590a42d6c531959aa7318c4"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO complete: Float Double Char \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/old-tasty-interpreter-prototype/interpreter/jvm/Interpreter.scala"},"region":{"startLine":110}}}],"partialFingerprints":{"codehealthFindingId/v1":"c3fdeb873930180a8ba86719c46e998901370b33a2d4170b0b41314577594b19"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Ensure that this inlines properly. So far only \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/pending/pos/inlinetuple.scala"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"f6b7ffdf17b7b091259414870b5baee6f747605a9b3d6236504c9111bcc30a26"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: can we relax the ordering restrictions on dependencies so that we can write \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/pending/pos/depmet_implicit_oopsla_session_2.scala"},"region":{"startLine":83}}}],"partialFingerprints":{"codehealthFindingId/v1":"a70dbadbec61fa008d564d9587af5cb43396c2383dc2b128a0461293eb616dce"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: can we relax the ordering restrictions on dependencies so that we can use \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/pending/pos/depmet_implicit_oopsla_session.scala"},"region":{"startLine":55}}}],"partialFingerprints":{"codehealthFindingId/v1":"5c2ecbe2d59ef99a4208dceaca6df15d00d57c8888bf98431406c1926ca848a3"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: //  check(\u0022c1.gl\u0022,   c1.gl)   // FIXME *.gl are failing because of the issue described in SUGGEST-11"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/pending/run/synchronized.scala"},"region":{"startLine":307}}}],"partialFingerprints":{"codehealthFindingId/v1":"ae24d9928e36f00223e8021276b41d2a65979f8ebd9b4c909c392903c43eb188"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/pending/run/sequenceComparisons.scala"},"region":{"startLine":5}}}],"partialFingerprints":{"codehealthFindingId/v1":"243c8fb99787b37f78ed0ae39ab33c0618c2daacf445c591b5bcfa392c56a32a"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // FIXME: this is an irregularity: it works if we write caps.Contains[Cap, this.type], but we should expect to write caps.Contains[{Cap}, this.type]! \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/pos-custom-args/captures/i21313.scala"},"region":{"startLine":5}}}],"partialFingerprints":{"codehealthFindingId/v1":"1ef10665775f08612012e2bef97abb042410ae6bf85853ce9c178489ef1148f9"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // FIXME dito \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/pos-custom-args/captures/i21313.scala"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"644d151e1d2ade7154f29544ced7171e72650b3a79418000a53f7f6130133eac"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: This looks fishy, need to investigate \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/pos-custom-args/captures/flatmapInPlace.scala"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"e89ef233835e7cbaf008d09bfcca8f85b7ca3158e1d82fcf94caa153caf7ee95"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: why we need to use _ explicitly here? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/pos-custom-args/captures/cc-poly-source-capability.scala"},"region":{"startLine":29}}}],"partialFingerprints":{"codehealthFindingId/v1":"d964b3e44f6ea4ae0a8790124629093c412534adcd13021aa314ef53fb2bb225"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: optimize the subtype checking for large intersection types further \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/pos-deep-subtype/i20516.scala"},"region":{"startLine":147}}}],"partialFingerprints":{"codehealthFindingId/v1":"69782ea4c029a295062601bde234f8597a08ad651b6f2ba117f6445431efb4b5"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO remove _ ?=\u003E // Implementation restriction: polymorphic function literals must have a value parameter \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/pos-macros/quoted-with-precise-types.scala"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"031d679e9807ed32d3c81cf0150019ac5f3e6adda2fdca3c1da8726cc9bafb51"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO remove _ ?=\u003E \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/pos-macros/quoted-with-precise-types.scala"},"region":{"startLine":13}}}],"partialFingerprints":{"codehealthFindingId/v1":"ac5e1d42f38546608235022cbf0e78988d3b29ccaf0d5ad12c48410d3c3886ab"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO remove _ ?=\u003E \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/pos-macros/quoted-with-precise-types.scala"},"region":{"startLine":30}}}],"partialFingerprints":{"codehealthFindingId/v1":"cef06ad4216889585f6d1504897348521421df4c262932c73e6992dde5686cd0"}},{"ruleId":"D17","level":"warning","message":{"text":"HackComment: // hacky workaround to missing owner tracking in transform \u2014 a workaround marked in source: record what it is compensating for and what would allow its removal (the upstream fix, the API it is waiting on, the invariant it restores), so the next reader can judge whether it is still needed rather than rediscovering why it is there."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/pos-macros/i10151/Macro_1.scala"},"region":{"startLine":59}}}],"partialFingerprints":{"codehealthFindingId/v1":"3fbc4f25d55af021072877ce419bef4254a7d814dfbfa5c44b0d3395b63a0571"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // FIXME: very wrong \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/pos-macros/i7592/Macros_1.scala"},"region":{"startLine":11}}}],"partialFingerprints":{"codehealthFindingId/v1":"09c57b751664aacac6bd1b08292bc8705a23975accedeb47300f3a3554c4e5f6"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // FIXME Sometimes stack overflows in CI \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/pos-macros/power-macro/PowerInlined-1k_2.scala"},"region":{"startLine":4}}}],"partialFingerprints":{"codehealthFindingId/v1":"be347649f3d370f957be10ea9d09028f0be54f9edc3239ab1bde97b795a77ba1"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: there are some other issues with this test case, so it is currently disabled \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/pos-special/i24547/ReproTest_2.scala"},"region":{"startLine":5}}}],"partialFingerprints":{"codehealthFindingId/v1":"dc43ae47807eacebf60a203632648fc72ee33998553f419ca848154df4df1dfb"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO:  would a viewbound for resColl[x] be better? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/pos/tcpoly_seq_typealias.scala"},"region":{"startLine":45}}}],"partialFingerprints":{"codehealthFindingId/v1":"6918c246d1d99b52ad85ba0b303af9fb67dfd0f036dc883fb9a76a6026fc33f6"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO:  would a viewbound for resColl[x] be better? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/pos/tcpoly_seq.scala"},"region":{"startLine":43}}}],"partialFingerprints":{"codehealthFindingId/v1":"50ffe4a0c45cf9095c34f58c8dde3a3692de2413c0669f799eda51f9ee41180d"}},{"ruleId":"D17","level":"warning","message":{"text":"HackComment: // hack: ::\u0027s tail will actually be last \u2014 a workaround marked in source: record what it is compensating for and what would allow its removal (the upstream fix, the API it is waiting on, the invariant it restores), so the next reader can judge whether it is still needed rather than rediscovering why it is there."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/pos/tcpoly_seq_typealias.scala"},"region":{"startLine":72}}}],"partialFingerprints":{"codehealthFindingId/v1":"20ddc76afee90e382c4b72bda4e22b73a108c27574a3db1cc8477e7dcec1fda2"}},{"ruleId":"D17","level":"warning","message":{"text":"HackComment: // hack: ::\u0027s tail will actually be last \u2014 a workaround marked in source: record what it is compensating for and what would allow its removal (the upstream fix, the API it is waiting on, the invariant it restores), so the next reader can judge whether it is still needed rather than rediscovering why it is there."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/pos/tcpoly_seq.scala"},"region":{"startLine":70}}}],"partialFingerprints":{"codehealthFindingId/v1":"74993bd7abe8e2d3faf4718dc64dc47978ee948b8c9c62fe6fbb9575c34975a3"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: the var tl approach does not seem to work because subtyping isn\u0027t fully working yet \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/pos/tcpoly_seq_typealias.scala"},"region":{"startLine":129}}}],"partialFingerprints":{"codehealthFindingId/v1":"d6c1ecfa239c76a243c789a6f4102f950d33dafde8dfd39e55ac867d8ecde5d2"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: the var tl approach does not seem to work because subtyping isn\u0027t fully working yet \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/pos/tcpoly_seq.scala"},"region":{"startLine":125}}}],"partialFingerprints":{"codehealthFindingId/v1":"cb3be4d56a548ea54c85433e4dc44dd999e96ccc2c57cd6a43df2dfd7dc2c35f"}},{"ruleId":"D17","level":"warning","message":{"text":"HackComment: // hack \u2014 a workaround marked in source: record what it is compensating for and what would allow its removal (the upstream fix, the API it is waiting on, the invariant it restores), so the next reader can judge whether it is still needed rather than rediscovering why it is there."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/pos/tcpoly_seq_typealias.scala"},"region":{"startLine":132}}}],"partialFingerprints":{"codehealthFindingId/v1":"5b5c36b3e67588d7c1bb93dc91c966c636422535858d953bb33bdc3614e99677"}},{"ruleId":"D17","level":"warning","message":{"text":"HackComment: // hack \u2014 a workaround marked in source: record what it is compensating for and what would allow its removal (the upstream fix, the API it is waiting on, the invariant it restores), so the next reader can judge whether it is still needed rather than rediscovering why it is there."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/pos/tcpoly_seq.scala"},"region":{"startLine":128}}}],"partialFingerprints":{"codehealthFindingId/v1":"4b602a26f89b7a4055b794c9f4b317fdb5c64a35d36034a67cfd530320443030"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: should not need explicit call to lifttoOO \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/pos/tcpoly_infer_ticket716.scala"},"region":{"startLine":24}}}],"partialFingerprints":{"codehealthFindingId/v1":"69671eee1e24cc7ab9f812904d612d326624cc1da2d852bd6e675150cf8c44a0"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: variances! \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/pos/tcpoly_bounds1.scala"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7947d0b7056dd9995700d52d4425ad147632bb2154946d7375d308b10c231ad3"}},{"ruleId":"D17","level":"warning","message":{"text":"XxxComment: // XXX Following works fine: \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/pos/t2795-old.scala"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"79c87cafdb65304d97249c57ae40d1a0d9025274a16dad538b35f83c7114db40"}},{"ruleId":"D17","level":"warning","message":{"text":"XxxComment: // XXX Following works fine: \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/pos/t2795-new.scala"},"region":{"startLine":11}}}],"partialFingerprints":{"codehealthFindingId/v1":"812cb1cce6316929c1444651f68e59dfcc8a40785d6af8f79637bdff7d640594"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO!!! fix this bug for real, it compiles successfully, but weird types are inferred \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/pos/t1279a.scala"},"region":{"startLine":24}}}],"partialFingerprints":{"codehealthFindingId/v1":"c815c19b4bafae26d9291649e2ec0e4697973daddfb14a5b87d70d5fc9f14614"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: def apply(x: String): x.type does NOT work yet \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/pos/sammy_single.scala"},"region":{"startLine":2}}}],"partialFingerprints":{"codehealthFindingId/v1":"81b5b25ebb0d04c4591959cae811022df1b1d86570450d0522e5ddc3f6ea6a21"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Remove any2stringadd \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/pos/opaque.scala"},"region":{"startLine":37}}}],"partialFingerprints":{"codehealthFindingId/v1":"da560c8d6544dac565a9e6317a42a205859f012a82ff98f3e67c9d8ccf020900"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Remove any2stringadd \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/pos/opaque-xm.scala"},"region":{"startLine":32}}}],"partialFingerprints":{"codehealthFindingId/v1":"e6a58207705d4e6e7db7b1fa85473796018d6c1d2662bc7e9646954a52d208d2"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // todo: process \u0026 format doc comment \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/pos/main-method-scheme.scala"},"region":{"startLine":79}}}],"partialFingerprints":{"codehealthFindingId/v1":"fa6dfee0ea86883fcd80e1c23b2af55f685374c9323706924b16ac27811a9b91"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // todo: process \u0026 format doc comment \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/pos/main-method-scheme-class-based.scala"},"region":{"startLine":107}}}],"partialFingerprints":{"codehealthFindingId/v1":"a9ae873b1dc02c23f0560808e3d545f8b434d69b02f45ef9194078b8e6b80679"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO - Remove this test once SI-8334 is fixed and has its own test."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/pos/list-optim-check.scala"},"region":{"startLine":5}}}],"partialFingerprints":{"codehealthFindingId/v1":"a213e01f49ec48f657382f0f762d398a67c6914f8a3855538ee72090e07ca3d0"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Figure igure out why \u0060M\u0060 below cannot be inferred \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/pos/kindPolySemiGroup.scala"},"region":{"startLine":83}}}],"partialFingerprints":{"codehealthFindingId/v1":"b74c035911eec51eca6dd088e0b406c5bd48775b446b84c98931541bf6954988"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // FIXME: Scala 3.1.4 bug: false unexhaustive match warning \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/pos/i16777.scala"},"region":{"startLine":12}}}],"partialFingerprints":{"codehealthFindingId/v1":"23704233bece4ed63b3a550cedaed6b05e9f4e4025bdf3b72041556c8c85a997"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // def apply[S: ZipWith](s : S) = ?[ZipWith[S]].zipWith(s) // TODO: bug return type should be inferred \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/pos/depmet_implicit_norm_ret.scala"},"region":{"startLine":12}}}],"partialFingerprints":{"codehealthFindingId/v1":"c94079349adfde981df8f3fbe2603b47f04d4b0bd9930e566bfb6474d1fd93c9"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // FIXME issue #5257"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/pos/automatic-tupling-of-function-parameters.scala"},"region":{"startLine":7}}}],"partialFingerprints":{"codehealthFindingId/v1":"2bbdefd75d6f984c7d1855d393dd7120c811390335f4cd3a8b81bb4c941b71c8"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // FIXME we need to do FullDbInspector.inspectTypeReprToFullBases.lambdify/LightTypeTagImpl.makeLambdaOnlyBases.makeLambdaParents \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/pos/i17222.izumi.rep/ReflectionUtil.scala"},"region":{"startLine":58}}}],"partialFingerprints":{"codehealthFindingId/v1":"8f02b2bf923fdb2018759a5baa2cc277e981dfbe3ba01588c621578434adfec6"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Due to https://github.com/lampepfl/dotty/issues/16107 not being fixed we have to make sure we\u0027re actually"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/pos/i17222.izumi.rep/ReflectionUtil.scala"},"region":{"startLine":283}}}],"partialFingerprints":{"codehealthFindingId/v1":"ab37caf834fa7b7bfbacabb3a50b444e877f1e37959107186b0ce63f1218c4aa"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // FIXME reimplement TrivialMacroLogger on Scala 3 \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/pos/i17222.izumi.rep/InspectorBase.scala"},"region":{"startLine":12}}}],"partialFingerprints":{"codehealthFindingId/v1":"ade74bda4926dfe54278f8609f4ebaa00fa9415f9005ef86185125724757ec4f"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // FIXME: Make this a run test once we have run tests. \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/pos/pos_valueclasses/nullAsInstanceOfVC.scala"},"region":{"startLine":4}}}],"partialFingerprints":{"codehealthFindingId/v1":"5ab4d1393cee7491d7f0bc1f9105f824fe9f2c35c49dc39f280e4ca13a5e9cef"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: this should be a run test once we have run tests \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/pos/pos_valueclasses/t9298/Use.scala"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"898508a80fb091f30b1dc3558a93f3b11719ce067a6c6f92ba088aa9a3eda9b5"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO improve performance \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run-deep-subtype/Tuple-apply.scala"},"region":{"startLine":21}}}],"partialFingerprints":{"codehealthFindingId/v1":"c41ebbd5e343ffb9fd0aa1e213cb986c70faabe774312cd5a3d6db0921327148"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // FIXME performance \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run-deep-subtype/Tuple-apply.scala"},"region":{"startLine":122}}}],"partialFingerprints":{"codehealthFindingId/v1":"d893f3569ec9921d47cb668346bccba4101328e78c9a7c210932a00968245576"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // FIXME performance \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run-deep-subtype/Tuple-apply.scala"},"region":{"startLine":149}}}],"partialFingerprints":{"codehealthFindingId/v1":"90205c6fce36ea5257a03a8cc90a040140f48dcff3f5fcdc260b3ebc9b958fbd"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: //\u003E private val fibCache$macro$1: mutable.Map[(n : Int), Int] = mutable.Map.empty[(n : Int), Int] // FIXME: leaks (n : Int) \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run-macros/annot-memo/Test_2.scala"},"region":{"startLine":17}}}],"partialFingerprints":{"codehealthFindingId/v1":"f65de0fc4f066a2aba1df218b71c78527d5fe421e487e764b0d51bb5bd086337"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO make unrollLast the macro annotation and remove unrollHelper \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run-macros/annot-unrollLast/Macro_1.scala"},"region":{"startLine":10}}}],"partialFingerprints":{"codehealthFindingId/v1":"0d7941e753d6cbcb0e0b762fb57154948a828419e8c480e1ea6d29262049edd9"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // FIXME should print fed \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run-macros/expr-map-1/Test_2.scala"},"region":{"startLine":112}}}],"partialFingerprints":{"codehealthFindingId/v1":"54b85e661217871e48c4eb1071ac352313fdc401bc0009634a995a460b504ae9"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO support Byte and short literal types \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run-macros/from-type/Test_2.scala"},"region":{"startLine":5}}}],"partialFingerprints":{"codehealthFindingId/v1":"593326f1a133db2ed0dae83cfd7af644be0285f8594b376a297d871e2fad3aa8"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // FIXME fix issue #5097 and enable private"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run-macros/gestalt-optional-staging/Macro_1.scala"},"region":{"startLine":19}}}],"partialFingerprints":{"codehealthFindingId/v1":"28dc36b670b7d5fd0034cb63fcb0c5cfcc8e72c78438806c2ac6020a2028281f"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // FIXME fix issue #5097 and enable private"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run-macros/gestalt-optional-staging/Macro_1.scala"},"region":{"startLine":24}}}],"partialFingerprints":{"codehealthFindingId/v1":"e2ef7bb698a6411a79c7ec935f08dd6508aac9f7e8c6d0241d24cf705ea09b84"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: ///TODO no overloads \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run-macros/i11685/Macro_1.scala"},"region":{"startLine":25}}}],"partialFingerprints":{"codehealthFindingId/v1":"ca3044498647e1adc8ff6cc6e78c4271c2f9ae1013af69a17501bc93840c5c3f"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: //TODO: is that public? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run-macros/i11685/Macro_1.scala"},"region":{"startLine":43}}}],"partialFingerprints":{"codehealthFindingId/v1":"8e41c235afb4e2104dd465d173e0f14fb6b93ccb67c126f390b2acc1e9cc4236"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO? if member.privateWithin \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run-macros/i11685/Macro_1.scala"},"region":{"startLine":44}}}],"partialFingerprints":{"codehealthFindingId/v1":"36800510b5d8c4d42aaa95c9964819cf17fec022d783bcceaa45a3482acfd877"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: require whitebox macros \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run-macros/i5941/usage_2.scala"},"region":{"startLine":36}}}],"partialFingerprints":{"codehealthFindingId/v1":"c97bcb4e867c3ef6a107d5eb4ddb80984dac9629d34cdac6466628a31c31a237"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: require whitebox macro \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run-macros/i5941/macro_1.scala"},"region":{"startLine":162}}}],"partialFingerprints":{"codehealthFindingId/v1":"82403a2facce38e88eb3c4be202c961102905506782c993e66d0882ebda5d954"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: require whitebox macro \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run-macros/i5941/macro_1.scala"},"region":{"startLine":176}}}],"partialFingerprints":{"codehealthFindingId/v1":"a3fcc16de2f33955322efbb8a55a63131ebd3c7b4b7f478b50a0d4295ab6cee9"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO derive a quoted.FromExpr \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run-macros/i7964/Macro_1.scala"},"region":{"startLine":3}}}],"partialFingerprints":{"codehealthFindingId/v1":"925b450c2f215cb0f14f4a5f5650e38a4400ab3f77dc9af1cc3eaf62028b1104"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO use type class derivation \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run-macros/inline-macro-staged-interpreter/Macro_1.scala"},"region":{"startLine":12}}}],"partialFingerprints":{"codehealthFindingId/v1":"53af7004e4398f7349bf608f3b05e0e3dab78bf14ed2970cfb1acae77abd2264"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: support applyDynamic/updateDynamic? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run-macros/places-proto/Macros_1.scala"},"region":{"startLine":5}}}],"partialFingerprints":{"codehealthFindingId/v1":"b0ab215503cd37b22bd53130aa86ccf2f24752a627b93ea0e9dd34bf2e5a2e25"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO check signature \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run-macros/places-proto/Macros_1.scala"},"region":{"startLine":18}}}],"partialFingerprints":{"codehealthFindingId/v1":"8b279e0cec480db96de0575a77c99e1ef0baac9f68f6a33e0c0c6e66646a89f7"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO hide from users \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run-macros/quoted-ToExpr-derivation-macro/Derivation_1.scala"},"region":{"startLine":22}}}],"partialFingerprints":{"codehealthFindingId/v1":"ede04d3b238ae3a0fb880adf465bd29b3df88cbf976f9be131b2f76161fa749e"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO hide from users \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run-macros/quoted-ToExpr-derivation-macro/Derivation_1.scala"},"region":{"startLine":33}}}],"partialFingerprints":{"codehealthFindingId/v1":"4ded9c76cc20db860c71d847be3d34120399548e0d97096589de8331dfb625c2"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO remove \u0060Type[T]\u0060 \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run-macros/quoted-liftable-derivation-macro/Derivation_1.scala"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"86a444f5016b7d92a9507ff91ad06f3c5ed71c0d6c907c4cf432d3c12ea15371"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO make Lft creation lazy \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run-macros/quoted-liftable-derivation-macro/Derivation_1.scala"},"region":{"startLine":27}}}],"partialFingerprints":{"codehealthFindingId/v1":"b217af6c600c172c654955504619eb74701a5a2abf4eff34af9e0230fdc8f858"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO should elems of \u0060new Record\u0060 and \u0060Record.fromUntypedTuple\u0060 be IArray[Object] \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run-macros/refined-selectable-macro/Macro_2.scala"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"28bcae8c6b3ff3ebb36fbba1150ce42db4c8d75bc8d66ffab00f12ba65eb6450"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: compiler failed to synthesize Type[T] \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run-macros/reflect-isFunctionType/test_2.scala"},"region":{"startLine":15}}}],"partialFingerprints":{"codehealthFindingId/v1":"54d6c1ada1e27dbc6e0fd2256b83e481bb83a5079fce884d3ad5f03f2b45cc18"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: compiler failed to synthesize Type[T] \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run-macros/reflect-isFunctionType/test_2.scala"},"region":{"startLine":19}}}],"partialFingerprints":{"codehealthFindingId/v1":"7750628a6bf521fd69686c9517b31e053d2afebaf1f77968cf316f87a04d3388"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO should all by name parameters be in an inline node? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run-macros/tasty-definitions-2/Macro_1.scala"},"region":{"startLine":12}}}],"partialFingerprints":{"codehealthFindingId/v1":"4b9f69a86e3fd441277881dc041651108d0f10f2e516a81328ae179cb42dad89"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO should all by name parameters be in an inline node? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run-macros/tasty-definitions-3/Macro_1.scala"},"region":{"startLine":12}}}],"partialFingerprints":{"codehealthFindingId/v1":"6adbe899cfd86ae17a970d16eef1df0d6c41aa924cf0e4aada3eecd066c7767f"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO put this class in the stdlib or separate project? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run-macros/tasty-interpolation-1/Macro.scala"},"region":{"startLine":30}}}],"partialFingerprints":{"codehealthFindingId/v1":"1a37f9681434eb6c2b2ad8e1ed8bbbfe9dc6bba7d3e7187a302298b88b141932"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO use ex.expr to recover the position \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run-macros/tasty-interpolation-1/Macro.scala"},"region":{"startLine":38}}}],"partialFingerprints":{"codehealthFindingId/v1":"839bd56f508eed6ce3992b05d8cf7dff4d96089f01efebf3b89b95d9201ff929"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO use ex.idx to recover the position \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run-macros/tasty-interpolation-1/Macro.scala"},"region":{"startLine":42}}}],"partialFingerprints":{"codehealthFindingId/v1":"0799a846cf7fdacdf3169464c31496c424b0dfebc86a407851eaecebf7638a55"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO use ex.idx to recover the position \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run-macros/tasty-interpolation-1/Macro.scala"},"region":{"startLine":46}}}],"partialFingerprints":{"codehealthFindingId/v1":"7de7d1c2fd28dad29352c51d0088458ec7716988d4afcd3271065dc77bced8ea"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO should all by name parameters be in an inline node \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run-macros/tasty-load-tree-1/quoted_1.scala"},"region":{"startLine":18}}}],"partialFingerprints":{"codehealthFindingId/v1":"5df54761e2717a9a4a46f81504d8ba5f3c66954db2469e6709ee5e63449dec97"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO should all by name parameters be in an inline node \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run-macros/tasty-load-tree-2/quoted_1.scala"},"region":{"startLine":17}}}],"partialFingerprints":{"codehealthFindingId/v1":"7919d9a3bc2f53ce7b5175354b62ca21d920014b67a7e62f9d59748032a58c9c"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: more complex types: \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run-macros/type-show/Test_2.scala"},"region":{"startLine":33}}}],"partialFingerprints":{"codehealthFindingId/v1":"0e46081edc90a55d2a7b0129b5c81d236f4a7a5e5cd76b33f37cf75ce5999bd9"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run-staging/unliftables.scala"},"region":{"startLine":25}}}],"partialFingerprints":{"codehealthFindingId/v1":"2d0f415e7b08878d93d8a99a293bab0d17ecb82abfa692294bb1b77d2a4b6879"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO improve printer \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run-staging/i3876-c.scala"},"region":{"startLine":15}}}],"partialFingerprints":{"codehealthFindingId/v1":"15fa163390bf3fcaf6615b6b388cf6d30e5b7ecf7c12c33314d8730f3af6249e"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO improve printer \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run-staging/i3876-b.scala"},"region":{"startLine":16}}}],"partialFingerprints":{"codehealthFindingId/v1":"029be46618cf0b5b1f77aad186e8fed59440ae7df1ce6a61a932c9e204e9c144"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO add elements \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run-staging/i3847.scala"},"region":{"startLine":10}}}],"partialFingerprints":{"codehealthFindingId/v1":"b94937daf91708123b332e7775d998a4cee741cdaf9578dc407d01202787fefc"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO add elements \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run-staging/i3847-b.scala"},"region":{"startLine":10}}}],"partialFingerprints":{"codehealthFindingId/v1":"333df87dbceb90529caf784b69c5b4158dd38b44a52990d8a9ebda6793dd3484"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO support blocks in the compiler to avoid creating trees of blocks? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run-staging/shonan-hmm/UnrolledExpr.scala"},"region":{"startLine":10}}}],"partialFingerprints":{"codehealthFindingId/v1":"86f9a3ffb2d279302155f3a72a5fdb28d18d1a2231f44b37312962e01a685c8f"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // FIXME used genlet v \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run-staging/shonan-hmm/MVmult.scala"},"region":{"startLine":158}}}],"partialFingerprints":{"codehealthFindingId/v1":"2d50e7caea3277de5ed9b272f548e2d6fe56c36744e5f0ce1fbcc10373b031e4"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO remove ascriptions when #6126 is fixed"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run-staging/staged-tuples/StagedTuple.scala"},"region":{"startLine":212}}}],"partialFingerprints":{"codehealthFindingId/v1":"2d0dde99257564eb9e7bac6a83685b6b62d1f3222bfd0e30d8735e879a97bf02"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: irrefutability should indicate we don\u0027t actually need to test, just deconstruct \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run/virtpatmat_valdef.scala"},"region":{"startLine":3}}}],"partialFingerprints":{"codehealthFindingId/v1":"88c76f65340651472812052ad4521c8f5d10db0611cacc1e0f11f0ecaae4f4d9"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Erase \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run/unit-lazy-val.scala"},"region":{"startLine":12}}}],"partialFingerprints":{"codehealthFindingId/v1":"2d2c2d515e0fe5777c2a6c4a51b9aca0fb67853824fd15cec43bbb9bc2180fb9"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Erase \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run/null-lazy-val.scala"},"region":{"startLine":12}}}],"partialFingerprints":{"codehealthFindingId/v1":"93353dcaa1bcf474d7604122ee3288983d25a5140c5b80c015ad0b48c79eb535"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Erase \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run/nothing-lazy-val.scala"},"region":{"startLine":16}}}],"partialFingerprints":{"codehealthFindingId/v1":"e28e3da6d22e468eff379749d7f6ff73c939c6670fa38852ccc9f26fd9378855"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // Todo: Make it strongly typed like the other cases \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run/tyql.scala"},"region":{"startLine":48}}}],"partialFingerprints":{"codehealthFindingId/v1":"3cc39e64dfee27594eccdc11c7957482ab55fde921b02f9586f80e80defe46fd"}},{"ruleId":"D17","level":"warning","message":{"text":"HackComment: // hack for Mirrors: allow passing of method names \u2014 a workaround marked in source: record what it is compensating for and what would allow its removal (the upstream fix, the API it is waiting on, the invariant it restores), so the next reader can judge whether it is still needed rather than rediscovering why it is there."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run/tcpoly_parseridioms.scala"},"region":{"startLine":64}}}],"partialFingerprints":{"codehealthFindingId/v1":"57a1f141fa0068f0969a3bc280f9a66295678029c4dd705e9e7f177206e37f56"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: \u0060.\u0060 --\u003E  java.lang.ClassFormatError: Illegal method name \u0022.\u0022 in class Idioms$Id$ \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run/tcpoly_parseridioms.scala"},"region":{"startLine":69}}}],"partialFingerprints":{"codehealthFindingId/v1":"fd8db083b6e09dd36319a6854dec2e068f77371b6affd2f0db3e9d9a1830b149"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // where x \u003C: s=\u003Et -- TODO can this be expressed without generalised constraints? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run/tcpoly_parseridioms.scala"},"region":{"startLine":76}}}],"partialFingerprints":{"codehealthFindingId/v1":"68d1b7068832bd20ee4613688f8e79b2427a7735f4ef9c57cfe09e5ac84f3288"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: how can parserIdiom(curry2(_)) be omitted? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run/tcpoly_parseridioms.scala"},"region":{"startLine":103}}}],"partialFingerprints":{"codehealthFindingId/v1":"9a288b922b852cc8196c7596f7924e099a1a8c611c2f5cb27805ddfd1cf6b783"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // todo signal test runner that test is skipped \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run/t6488.scala"},"region":{"startLine":37}}}],"partialFingerprints":{"codehealthFindingId/v1":"845df98246ce9a8ef8441fd5c88df544755522dde47b9b05586212cddd5480de"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO - Fail getOrElse? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run/t6333.scala"},"region":{"startLine":15}}}],"partialFingerprints":{"codehealthFindingId/v1":"5b4ba3a6efdceea10f664f4b384bfdc43450a3b404a0983b04c252573360feb1"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: remove this test case in 2.12, when the deprecation will go into effect and this will no longer compile \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run/t6111.scala"},"region":{"startLine":2}}}],"partialFingerprints":{"codehealthFindingId/v1":"5c6fc1c3566a4c88faa611091a4cf02abbbf3c88f783884cadb7a5b0a1761649"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: test bytecode equality for f and fDirect (and g and gDirect), \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run/t4577.scala"},"region":{"startLine":17}}}],"partialFingerprints":{"codehealthFindingId/v1":"df5d65035c1f5897019ade0f10314b63511f83feb99c7abc4d9bfb00b9730c50"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // FIXME: breaks ycheck, broken type inferencing. Gets a large union type \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run/numbereq.scala"},"region":{"startLine":5}}}],"partialFingerprints":{"codehealthFindingId/v1":"896dad626f22172215b4fcd58559079ed3aaf448db7a2dd9339e10cd90428c66"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // FIXME: breaks ycheck, broken type inferencing. Gets a large union type \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run/numbereq.scala"},"region":{"startLine":24}}}],"partialFingerprints":{"codehealthFindingId/v1":"d0ac300eb527e75e2be057bca73ba552b876a93a0e2b8b6e8f2b6b54bf90e5a4"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // i // FIXME: See #5350"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run/i5340.scala"},"region":{"startLine":21}}}],"partialFingerprints":{"codehealthFindingId/v1":"4bd9002bfd59a3b58412c7bd83e4a7f7b98a274a06360c907e1cbd295fbd72bd"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: enable after https://github.com/scala/scala3/issues/11700 is fixed"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run/i11583.scala"},"region":{"startLine":8}}}],"partialFingerprints":{"codehealthFindingId/v1":"cde187b6a04338a8381dda8da4dcd30bd33d52982f12d4d730594890a3d10a68"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: maybe reflect.Selectable should catch this? \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run/enum-values.scala"},"region":{"startLine":62}}}],"partialFingerprints":{"codehealthFindingId/v1":"c2a37b568e855efe224ef503e782872325db4954d6af7b677a89c3b785cd5a61"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // FIXME: case objects are not handled like Scala 2 currently, see #723"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run/case-class-toString.scala"},"region":{"startLine":9}}}],"partialFingerprints":{"codehealthFindingId/v1":"5596bddfb2a953db68f0b4bffc71fafa4aaa7436dc31305d8a3bc941484b6260"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // Dotty FIXME: type argument should not be needed \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run/UnrolledBuffer.scala"},"region":{"startLine":61}}}],"partialFingerprints":{"codehealthFindingId/v1":"5cf5ceb4434a6c1c5e97f9d74a0355b9b298f655b73da431af498e6924a6c092"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // FIXME ProductN for N \u003E 22 does not extends product \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run/Tuple-fromProduct.scala"},"region":{"startLine":32}}}],"partialFingerprints":{"codehealthFindingId/v1":"2b539869cd2c31a7fe761abb3f1557c09e9d7b2dde873d4fb23f2f9f40423c64"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // FIXME: would prefer to do scp.result(step) but this breaks capture checking error messages \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run/errorhandling/Validator.scala"},"region":{"startLine":29}}}],"partialFingerprints":{"codehealthFindingId/v1":"5b76d97c1b9271a791550aec64f47a7c1bc175892237bcb9dcdef19e3a81d414"}},{"ruleId":"D17","level":"warning","message":{"text":"FixmeComment: // val _: java.math.BigDecimal = BigDecimal(1).underlying // FIXME: inferred result type of non-private method \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run/scala2-library-test/Main.scala"},"region":{"startLine":52}}}],"partialFingerprints":{"codehealthFindingId/v1":"d1c19a5bda59b429e2a25e23cac0a3dc7488d68cffbe4402b3dd00becdf6dec0"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO add a bridge during mixin so we can expose \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/run/t3452d/Test.java"},"region":{"startLine":4}}}],"partialFingerprints":{"codehealthFindingId/v1":"5bd2956170fdc878006bc66a9b5d6e2f5d436e9986d1df2beed4ee113771accf"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: //      val tpsFresh = cloneSymbols(tparams1) // @M cloneSymbols(tparams2) should be equivalent -- TODO: check \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/untried/neg/tcpoly_ticket2101.scala"},"region":{"startLine":24}}}],"partialFingerprints":{"codehealthFindingId/v1":"c983c9283e8fc734a844346847328db7f72667ce27fd2596e64fb9a2de158d5f"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO warn \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/warn/unused-privates.scala"},"region":{"startLine":290}}}],"partialFingerprints":{"codehealthFindingId/v1":"f3fc9d879c88866adb59303e47fe1b95ec1a9868da1909e11d92efec77b5a653"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO warn \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/warn/unused-privates.scala"},"region":{"startLine":291}}}],"partialFingerprints":{"codehealthFindingId/v1":"052f8bc98d44ac8a504820e4f1b82c1e5a2b9f6344236cf481d6224e5fbd62f4"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO warn \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/warn/unused-privates.scala"},"region":{"startLine":292}}}],"partialFingerprints":{"codehealthFindingId/v1":"8ce8f23bfa84fff35a90a363603a4be71bc4313d5b0d8f72a14edb84cdc40e06"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO warn as we cannot distinguish unqualified private at top level \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/warn/unused-privates.scala"},"region":{"startLine":295}}}],"partialFingerprints":{"codehealthFindingId/v1":"a7052c00eebf983c7757c6da8276af3c41bda47b099e28aba27b123999c5f0cf"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: check \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/warn/t11681.scala"},"region":{"startLine":70}}}],"partialFingerprints":{"codehealthFindingId/v1":"b6a682d7b26875421ab79d9255212d3635c9682e36a8611f18e4f1d6f5acff29"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // warn TODO: could warn \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: #123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/warn/i16639a.scala"},"region":{"startLine":6}}}],"partialFingerprints":{"codehealthFindingId/v1":"2fb342a006a1d5275a4fee78aa192db6a506d54f686bcebaa03c939019303eee"}},{"ruleId":"D20","level":"note","message":{"text":"No ADRs found: No ADRs found. No recognised ADR directory (\u0060docs/adr/\u0060, \u0060docs/decisions/\u0060, \u0060adr/\u0060, \u0060docs/rfcs/\u0060, an \u0060ADR0001/\u0060 folder, or their siblings) exists anywhere in this tree. What was searched, so you can tell an empty log from a search that missed one: every directory under the tree (build output, dependencies and VCS metadata excepted), for a document that is either any non-index page inside a recognised ADR directory, whatever its name and however deeply nested (\u0060docs/adr/use-postgres.md\u0060, \u0060docs/adr/2024/0001-x.md\u0060); or a file anywhere whose name is ADR-shaped (\u00600001-use-postgres.md\u0060, \u0060adr-012-caching.md\u0060); or, when neither turned anything up, a document carrying the decision-record signature (an \u0022Architecture Decision Record\u0022 heading, or Status / Context / Decision / Consequences as section headings). A decision log that clears none of these \u2014 unnumbered files outside any recognised directory, without those headings \u2014 is not seen by this check and this row is then wrong. If that is your case, say so rather than renaming anything; otherwise, consider recording architectural decisions in \u0060docs/adr/\u0060."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"d2bea044ff79d7d275f5a91a6e2f548586178eaf480274c33960ad020c854631"}},{"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":"272772361a047f7e41b8e5afa745cf0710d48a3be27665f95c247c67625999c9"},"properties":{"commitSha":"a0713797442414c1d8d1215ecb5d80a5f9650565"}},{"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":"d5b8f11381d61a58459ffc7c595fd52d09c03c711894a63a9578043d2338412b"},"taxa":[{"id":"CWE-829","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"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":"7d8ecd8cc50fd39f8919ee588b260f62f4636eaf740c0419ebb5dc250da2849b"},"taxa":[{"id":"CWE-214","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-532","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"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":"fb17b69ec1007f3eb89be001fe1db8b9ff56d158ec30d9013887449d05d1f7a9"},"taxa":[{"id":"CWE-250","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"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":"073893b3bc0fa510ec095a3c0a89beb31b9d7123b5c4647efdf01bc8a2b59345"},"taxa":[{"id":"CWE-250","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"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":"96fd9c229bf41db5f5532d8ca53722806751a485a7332f1c91786aeddc14ab1e"},"taxa":[{"id":"CWE-250","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"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":"aaf127e2c1b9ed8074d3ab2d2342f97734d66a5bb36d39b4c67eb2406bf8b022"},"taxa":[{"id":"CWE-250","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"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":"6959d72820cf63acf77a1183dd26b52e5b29893f33a1fa47f6eb76f0a9c8aa67"},"taxa":[{"id":"CWE-250","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"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":"6d6553b63e2a7e65c022f67662346a1ab72c4182619c824df2655853372753b2"},"taxa":[{"id":"CWE-250","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"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":"75a0b60fff9f09970a26718ca9ec3b9417e2a8eac519da0d853517fb3de8060f"},"taxa":[{"id":"CWE-250","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"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":"7cc6522d2c5f8d2592e5502f8e9b3204c08c158d9831dddc55e9674c5ebb20ba"},"taxa":[{"id":"CWE-250","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"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":"f98857cf0c00f8732f5910c879dcbcdb271ae4a85a6073593c47e22f4be3c997"},"taxa":[{"id":"CWE-250","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"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":"b82748778f37b8cd5589018330d4281ec0c95b1158824bef4952e219e6c9ebb0"},"taxa":[{"id":"CWE-250","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"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":"ffd44306b60e25e4d6bace5e95cdb7adae70f4709487dff06a5b7fae264d858f"},"taxa":[{"id":"CWE-250","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"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":"21e74cb387c88c1fa18f00ca48c9f2788a0732e6431914aaf925d04fa0010c74"},"taxa":[{"id":"CWE-1357","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-829","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"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":"de3abf22ba9243671040bdcad37584e076f579bc4e077e10c5357cd1a01a3ca1"},"taxa":[{"id":"CWE-1357","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-829","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"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":"382a16e02492e55281c53475ecb06066670e62373e485da8a9bbf5625e273024"},"taxa":[{"id":"CWE-89","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":"7a94e86400bcd131e286ffe151b231a034446d64a6a3743b526f1beec7c2fc35"},"taxa":[{"id":"CWE-522","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-552","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":"b6722f9a5008165f56b6600902a4db8048e0f7e0e371912841afab9ed5ffb641"},"taxa":[{"id":"CWE-522","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}},{"id":"CWE-552","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":"17de5873cf9732fe879dc1b8cde44a5be9a18e9773fd892910890320c531076f"},"taxa":[{"id":"CWE-125","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":"3653f22b809984f381abb8dbb1015eb0763eb57268e5a4b8862e25469dbab627"},"taxa":[{"id":"CWE-125","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":"50a23cb6f99838aaba7257318c3df66f512b3921d162a63959d1fca98d92437b"},"taxa":[{"id":"CWE-125","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":"1786750bf2b86eff48bcf4289b844e02ae080be2d2d184ed2e4bbe16f1c3d6ff"},"taxa":[{"id":"CWE-125","toolComponent":{"name":"CWE","guid":"c3a2b1d0-7f3e-4b2a-9c1d-5e6f7a8b9c0d"}}]},{"ruleId":"D34","level":"error","message":{"text":"Orphaned knowledge: No living knowledge remains for this large file \u2014 its last meaningful change has decayed away; if it breaks, no one currently understands it. Schedule a read-through / add characterisation tests before it bites."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"library-js/src/scala/reflect/Manifest.scala"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"aca9470135755ac2401f2dc73fe71e3f39acecc5ab36d29272446c351ea7d0f6"}},{"ruleId":"D34","level":"error","message":{"text":"Orphaned knowledge: No living knowledge remains for this large file \u2014 its last meaningful change has decayed away; if it breaks, no one currently understands it. Schedule a read-through / add characterisation tests before it bites."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/src/dotty/tools/scaladoc/tasty/comments/wiki/Parser.scala"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2662ef46d7ad9fe0119c7c474d15577d82955ab6f64e1d883da13493ff107c7a"}},{"ruleId":"D34","level":"note","message":{"text":"Further orphaned files (smaller): 64 smaller file(s) also have no living knowledge \u2014 folded into the freshness score and metrics rather than raised one row each \u2014 most significant first: compiler/src/dotty/tools/dotc/quoted/QuotePatterns.scala, compiler/src/dotty/tools/dotc/core/classfile/ClassfileConstants.scala, library/src/scala/runtime/TupledFunctions.scala, compiler/src/dotty/tools/dotc/staging/CrossStageSafety.scala, scaladoc/src/dotty/tools/scaladoc/Inkuire.scala, project/TastyMiMaFilters.scala, compiler/src/dotty/tools/dotc/core/unpickleScala2/PickleFormat.scala, compiler/src/dotty/tools/dotc/typer/ConstFold.scala (and 56 more) (66 orphaned of 868 analysed files in total, counted over production source files of roughly 2,400 bytes or more, excluding vendored, generated and example/demo trees and test files identified by path convention, largest first; 868 of the 1635 production source files in this repository met that bar). Attach the read to the next change that touches one of them: have a second person review that change, and leave behind a short comment or test recording what the file is for, so the knowledge comes back at the cost of a change you were making anyway."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"ce861fd78f6935114d3a342cb90ad25870f984e1042954fcbbe27c0e23be3658"}},{"ruleId":"D36","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":"1b213f6eedd4b140d0bc37bdf1496f72811a643f34064f12518b32e9e83bcfc7"}},{"ruleId":"D36","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":"eb00976a698a5d68999b7ee6d27206fd374e916853e7ff1ead5eed42386f043f"}},{"ruleId":"M1","level":"note","message":{"text":"Thin README: The root README is 108 words, against a bar of 120. Of the three newcomer-critical sections this check looks for by heading, it found no a build/run or getting-started section, no a testing section, no an architecture or project-map section. Sections are matched on HEADING text only, so material written under a heading this check does not recognise \u2014 or with no heading at all \u2014 is not seen and this row may understate what the document covers."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"5fc8f78bec0b6b3daab9d9139ba49b687f61b54f8310b64c159df9616f47e38e"}},{"ruleId":"M2","level":"note","message":{"text":"No ADRs: No Architecture Decision Records found \u2014 no conventional ADR directory, no numbered \u0060NNNN-title\u0060 documents in any markup this check reads, and nothing ADR-shaped by content. Design rationale recorded elsewhere (a design-notes tree, a mailing list, pull-request discussion) is not visible to this check and is not re-findable per decision, so a future maintainer cannot ask why one choice was made and get an answer."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"670b3d6e36a756d63097d0dfbf90afd5fc761308800b9354894a07c3f4e4aa14"}},{"ruleId":"P3","level":"note","message":{"text":"No SAST: No static application security testing detected. For this repository\u0027s stack, add scalafix or scapegoat (or \u0060semgrep --config=auto\u0060, which runs on any language) as a CI step. What was searched, so you can tell an absence from a miss: the 113938 CI workflow file(s) in this repository, and the scanner and linter configuration checked in beside them. A scan that runs outside CI, one configured in your forge\u0027s web UI rather than in a committed file, or a tool whose name is none of those this check carries, is not seen \u2014 if that is your case the row is wrong, and saying so is more useful than adding a second scanner."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"6e54424179c892f03ef2fd003130ac4bd43f39bbf3b1ca0a0143e25acb80ec87"}},{"ruleId":"R1","level":"warning","message":{"text":"Type Safety: 0 typed \u00B7 12 plain JS \u2014 the untyped files are scaladoc/resources/dotty_res/hljs/highlight.pack.js, scaladoc/resources/dotty_res/scripts/common/component.js, scaladoc/resources/dotty_res/scripts/common/utils.js, scaladoc/resources/dotty_res/scripts/components/DocumentableList.js, scaladoc/resources/dotty_res/scripts/components/Filter.js, scaladoc/resources/dotty_res/scripts/components/FilterBar.js (\u002B6 more)."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"d00ee7953f55325a823d27e5db9657c80ca9b9861c0c0abf8fe487cd3fa586d3"}},{"ruleId":"R10","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2 locations): scaladoc/resources/dotty_res/hljs/highlight.pack.js:310 \u00B7 scaladoc/resources/dotty_res/hljs/highlight.pack.js:451 \u2014 all 2 copies are in the same file, and the CITED SPAN is a run of DECLARATIONS inside a construct \u2014 the members of a type, or the entries of an object or array literal \u2014 with no statement anywhere in it. Do not read this as an extract-a-helper row: nothing here executes, so there is no call site, and a call expression cannot stand where a member declaration or a literal\u0027s entry was. What repeats is a SHAPE, and which shape decides the move. Where the copies declare the same members, the repetition is a missing common ancestor: give it a base type, an interface both extend, a generic instantiated twice, or \u2014 where the copies are a literal\u0027s entries rather than a type\u0027s members \u2014 one shared constant each site spreads or refers to, so the set is written once. Where they declare DIFFERENT members and only the form is shared \u2014 a decorator and its options, an annotation, a registration table\u0027s keys \u2014 the form is prescribed by a framework or a schema rather than copied, and the only collapse available is to generate the declarations from that schema; where you do not own the generator, this is the cost of the framework and there is nothing to extract. Check which of the two it is before acting: these copies still drift apart the first time only one of them is edited, which is why the repetition is reported, but the sentence to act on is not the same in both cases."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/resources/dotty_res/hljs/highlight.pack.js"},"region":{"startLine":310}}}],"partialFingerprints":{"codehealthFindingId/v1":"fd7b900e451c396f8e34602083b1960b4817788635206b22c7ca50f88d54617a"}},{"ruleId":"R10","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2 locations): scaladoc/resources/dotty_res/scripts/ux.js:639 \u00B7 scaladoc/resources/dotty_res/scripts/ux.js:651 \u2014 both copies are in the same file, so extract the block into one function there and call it from each site \u2014 the copies drift apart the first time only one of them is edited."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/resources/dotty_res/scripts/ux.js"},"region":{"startLine":639}}}],"partialFingerprints":{"codehealthFindingId/v1":"8dbd96e29d4d8aafc3f163398c3d88e20a442e684f2eb919934b32baadbb0f4b"}},{"ruleId":"R2","level":"warning","message":{"text":"Complex function t (cyclomatic 24, cognitive 19): t has cyclomatic complexity 24 and cognitive complexity 19; this row is raised above a cyclomatic bar of 10. The two numbers answer different questions and the gap between them is what decides whether to act: cyclomatic counts the independent arms through the body, cognitive counts what it costs to hold them in your head, so nesting and mixed boolean chains raise it while a flat run of independent arms does not. Cognitive sits below cyclomatic here, so much of the count is breadth \u2014 arms side by side rather than stacked \u2014 and splitting per arm would leave a function per arm; group the work between the checks into named steps instead. Measured by this repository\u0027s own parse of the file, so a body assembled at runtime, or generated, is counted as written rather than as it executes."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/resources/dotty_res/hljs/highlight.pack.js"},"region":{"startLine":116}}}],"partialFingerprints":{"codehealthFindingId/v1":"49309cd28099ea7ed4536704b931703a8b96599e1156ef315c4b933fce6a914d"}},{"ruleId":"R2","level":"warning","message":{"text":"Complex function x (cyclomatic 18, cognitive 17): x has cyclomatic complexity 18 and cognitive complexity 17; this row is raised above a cyclomatic bar of 10. The two numbers answer different questions and the gap between them is what decides whether to act: cyclomatic counts the independent arms through the body, cognitive counts what it costs to hold them in your head, so nesting and mixed boolean chains raise it while a flat run of independent arms does not. Cognitive sits below cyclomatic here, so much of the count is breadth \u2014 arms side by side rather than stacked \u2014 and splitting per arm would leave a function per arm; group the work between the checks into named steps instead. Measured by this repository\u0027s own parse of the file, so a body assembled at runtime, or generated, is counted as written rather than as it executes."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/resources/dotty_res/hljs/highlight.pack.js"},"region":{"startLine":193}}}],"partialFingerprints":{"codehealthFindingId/v1":"66a9a2a3881e9206cbd93c389d4abe0c3524a913a41d18cf111dd2b2dd44e144"}},{"ruleId":"R2","level":"warning","message":{"text":"Complex function attachAllListeners (cyclomatic 17, cognitive 26): attachAllListeners has cyclomatic complexity 17 and cognitive complexity 26; this row is raised above a cyclomatic bar of 10. The two numbers answer different questions and the gap between them is what decides whether to act: cyclomatic counts the independent arms through the body, cognitive counts what it costs to hold them in your head, so nesting and mixed boolean chains raise it while a flat run of independent arms does not. Cognitive is at or above cyclomatic here, so the branching is nested or entangled rather than laid out side by side \u2014 extracting each decision into its own named function is the change that pays. Measured by this repository\u0027s own parse of the file, so a body assembled at runtime, or generated, is counted as written rather than as it executes."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/resources/dotty_res/scripts/ux.js"},"region":{"startLine":52}}}],"partialFingerprints":{"codehealthFindingId/v1":"39178ee5707bc440f7282ca3b43cc2f16f6782cddb71a1ad68b640650466fa5a"}},{"ruleId":"R2","level":"warning","message":{"text":"Complex function b (cyclomatic 14, cognitive 10): b has cyclomatic complexity 14 and cognitive complexity 10; this row is raised above a cyclomatic bar of 10. The two numbers answer different questions and the gap between them is what decides whether to act: cyclomatic counts the independent arms through the body, cognitive counts what it costs to hold them in your head, so nesting and mixed boolean chains raise it while a flat run of independent arms does not. Cognitive sits below cyclomatic here, so much of the count is breadth \u2014 arms side by side rather than stacked \u2014 and splitting per arm would leave a function per arm; group the work between the checks into named steps instead. Measured by this repository\u0027s own parse of the file, so a body assembled at runtime, or generated, is counted as written rather than as it executes."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/resources/dotty_res/hljs/highlight.pack.js"},"region":{"startLine":187}}}],"partialFingerprints":{"codehealthFindingId/v1":"596bc7310c4d9cb85fe45ea5671a5490b510207e0416f2dacbddd861d5f07536"}},{"ruleId":"R2","level":"warning","message":{"text":"Complex function (anonymous) (cyclomatic 11, cognitive 9): (anonymous) has cyclomatic complexity 11 and cognitive complexity 9; this row is raised above a cyclomatic bar of 10. The two numbers answer different questions and the gap between them is what decides whether to act: cyclomatic counts the independent arms through the body, cognitive counts what it costs to hold them in your head, so nesting and mixed boolean chains raise it while a flat run of independent arms does not. Cognitive sits below cyclomatic here, so much of the count is breadth \u2014 arms side by side rather than stacked \u2014 and splitting per arm would leave a function per arm; group the work between the checks into named steps instead. Measured by this repository\u0027s own parse of the file, so a body assembled at runtime, or generated, is counted as written rather than as it executes."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"scaladoc/resources/dotty_res/hljs/highlight.pack.js"},"region":{"startLine":198}}}],"partialFingerprints":{"codehealthFindingId/v1":"1874686bef81e5705d5319e2fbc9d6f2a6aaf70a3e0b5090f613a5234ea1337b"}},{"ruleId":"R3","level":"warning","message":{"text":"Large Files: 1 file(s) over 400 lines (counted as significant lines \u2014 blank lines excluded \u2014 over production source only, tests excluded), largest first: scaladoc/resources/dotty_res/hljs/highlight.pack.js (1064)."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"cecee31b569df4f07e06db732f1ca037af27b5afef9023da51f9673d931a142f"}}],"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-1032","guid":"5f21e517-68aa-a650-9a25-5771ef024637","name":"OWASP Top Ten \u2014 Security Misconfiguration category","shortDescription":{"text":"OWASP Top Ten \u2014 Security Misconfiguration category"},"helpUri":"https://cwe.mitre.org/data/definitions/1032.html"},{"id":"CWE-1059","guid":"a2381a08-60f6-9554-a8b8-f3018cfaaca5","name":"Insufficient Technical Documentation","shortDescription":{"text":"Insufficient Technical Documentation"},"helpUri":"https://cwe.mitre.org/data/definitions/1059.html"},{"id":"CWE-125","guid":"98717707-96bf-ca5b-9568-8d1d257574c1","name":"CWE-125","shortDescription":{"text":"CWE-125"},"helpUri":"https://cwe.mitre.org/data/definitions/125.html"},{"id":"CWE-1357","guid":"e4d2e772-757e-0a5c-bd7d-77052949d866","name":"Reliance on Insufficiently Trustworthy Component","shortDescription":{"text":"Reliance on Insufficiently Trustworthy Component"},"helpUri":"https://cwe.mitre.org/data/definitions/1357.html"},{"id":"CWE-1395","guid":"800e09e7-c11a-8654-9fa6-86f398995fed","name":"Dependency on Vulnerable Third-Party Component","shortDescription":{"text":"Dependency on Vulnerable Third-Party Component"},"helpUri":"https://cwe.mitre.org/data/definitions/1395.html"},{"id":"CWE-16","guid":"659db3ea-affc-8453-8add-c1218fbfcb92","name":"Configuration","shortDescription":{"text":"Configuration"},"helpUri":"https://cwe.mitre.org/data/definitions/16.html"},{"id":"CWE-214","guid":"b10ad120-fb22-1351-9348-aa23b453e815","name":"CWE-214","shortDescription":{"text":"CWE-214"},"helpUri":"https://cwe.mitre.org/data/definitions/214.html"},{"id":"CWE-250","guid":"52ee12e8-390a-7351-b1e6-388afa694e54","name":"CWE-250","shortDescription":{"text":"CWE-250"},"helpUri":"https://cwe.mitre.org/data/definitions/250.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-494","guid":"b8a65e0d-e459-4a55-a931-fc1136482375","name":"Download of Code Without Integrity Check","shortDescription":{"text":"Download of Code Without Integrity Check"},"helpUri":"https://cwe.mitre.org/data/definitions/494.html"},{"id":"CWE-506","guid":"401d6455-56e3-0552-9a39-f77461673e3f","name":"CWE-506","shortDescription":{"text":"CWE-506"},"helpUri":"https://cwe.mitre.org/data/definitions/506.html"},{"id":"CWE-522","guid":"71fb233e-ce6a-ae57-9419-ef8373540b09","name":"CWE-522","shortDescription":{"text":"CWE-522"},"helpUri":"https://cwe.mitre.org/data/definitions/522.html"},{"id":"CWE-532","guid":"1cd8877a-76e8-ce54-b40b-779af23364a0","name":"CWE-532","shortDescription":{"text":"CWE-532"},"helpUri":"https://cwe.mitre.org/data/definitions/532.html"},{"id":"CWE-552","guid":"3492436b-eca2-9c54-9ba3-5dade427c903","name":"CWE-552","shortDescription":{"text":"CWE-552"},"helpUri":"https://cwe.mitre.org/data/definitions/552.html"},{"id":"CWE-732","guid":"1da27e8f-b330-7650-ab63-bd61953eae5d","name":"Incorrect Permission Assignment for Critical Resource","shortDescription":{"text":"Incorrect Permission Assignment for Critical Resource"},"helpUri":"https://cwe.mitre.org/data/definitions/732.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-829","guid":"13c33925-97fb-5a5e-b40c-56d328b8a4d7","name":"CWE-829","shortDescription":{"text":"CWE-829"},"helpUri":"https://cwe.mitre.org/data/definitions/829.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-937","guid":"16f316ae-415c-b354-a59b-1f7905f756e9","name":"Using Components with Known Vulnerabilities","shortDescription":{"text":"Using Components with Known Vulnerabilities"},"helpUri":"https://cwe.mitre.org/data/definitions/937.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":26,"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."]}]}