Skip to content

Tidy up post-refactoring analysis modules #3058

@IgnatBeresnev

Description

@IgnatBeresnev

The refactoring done in #3034 uncovered a lot of difficult to comprehend code, as well as introduced more code / abstractions that are in themselves difficult to comprehend. The PR was merged into master prematurely to avoid having an enormous long-lived branch just collecting merge conflicts, so it's not perfect to say the least, and some of the code needs to be revisited in the near future while the context is still fresh in memory.

This is an umbrella issue for post-refactoring refactorings.

Issues:

  • Move analysis-related unit tests from dokka-base into the new analysis modules. Note: some tests rely on the implementation details, so some refactoring is needed as well. Assignee: @IgnatBeresnev
  • Add detailed descriptions for the new analysis modules. Update developer guides.
  • Add an internal switch between implementations (K1 and K2) of the Analysis API
  • Tidy up the Java Analysis module:
    • Remove excessive abstractions that were needed at the time of refactoring, but are not needed now.
    • Document the general flow and internals of the Java analysis, especially when it comes to how the @inheritdoc tag works.
    • Resolve numerous fresh TODO comments, marked as TODO [beresnev]
  • Remove the dependency on jsoup in analysis-markdown-jb (used for something insignificant)
  • Remove the dependency on analysis-markdown-jb in analysis-java-psi (used for something insignificant)
  • Resolve numerous fresh TODO comments in dokka-base and other modules. The TODOs are marked as TODO [beresnev]

Metadata

Metadata

Assignees

Labels

epicA large body of work that is broken down into smaller issueslanguage: JavaIssue/PR related to the Java language feature/analysis/docslanguage: KotlinIssue/PR related to the Kotlin language feature/analysis/docstech-debtA technical issue that is not observable by the users, but improves maintainers quality of life

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions