Age | Commit message (Collapse) | Author |
|
* Reorganize project model for MPP
We map Dokka's source set directly to a source module of Analysis API inside one Analysis Standalone session.
Analysis API session is created in src/main/kotlin/org/jetbrains/dokka/analysis/kotlin/symbols/plugin/KotlinAnalysis.kt (see fun createAnalysisSession)
Before the PR, one Dokka's source set corresponded to one Standalone API session with one source module that has source roots from dependent source sets.
* Add 'caffeine' dependency from Analysis API
* Fix sample provider
* Fix tests
* Enable tests and update the version of Analysis API.
The PR allows the enabling of some tests annotated with OnlyDescriptorsMPP.
Also, tests with OnlyDescriptorsMPP that have unresolved common symbols are fixed by the new version of Analysis API.
|
|
|
|
Due to the recent changes in how Analysis API handles builtins, the update to the fresh version of Analysis API requires registering Kotlin stdlib in every testsuite.
|
|
* Add the default copyright profile and enable IDEA project settings
* Add the license notice file
|
|
|
|
Dokka has its own documentable model to represent analyzed code. The analysis is performed by a compiler frontend.
In K1 the compiler frontend has descriptors that use the underlying Binding Context (global shared stateful structure). Dokka just maps descriptors to Documentable by DefaultDescriptorToDocumentableTranslator.
K2 compiler has FIR tree, which means “Frontend Intermediate Representation”, instead of Binding Context. But we do not use FIR in Dokka directly, since it is too low-level for analysis. The Kotlin compiler provides high-level Analysis API for this case. The API is used by KSP too. Analysis API represent elements of FIR (declarations, parameters and so on) as Symbols. For more details see KtSymbolByFirBuilder, KtSymbol.
For Dokka symbol is the replacement of descriptor in K2.
Also, to set up the environment of project analysis in K1 we use idea dependencies (or copy-past from there). In K2 for these aims, there is a Standalone mode for Analysis API.
|
|
* Extract analysis into separate modules
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Co-authored-by: Felix Dombek <Felix.Dombek@tomtom.com>
|
|
* Disable copy button for signatures
|
|
Fixes #2539
|
|
|
|
|
|
* Support definitely non-nullable types
[Definitely non-nullable types](https://github.com/Kotlin/KEEP/blob/c72601cf35c1e95a541bb4b230edb474a6d1d1a8/proposals/definitely-non-nullable-types.md) are enabled since Kotlin 1.7
|
|
* Don't expose enum constructor arguments to documentation
Enum constructor arguments is mostly internal detail of enums that
isn't supposed to be exposed to clients of some library so let's
don't put it in the generated documentations result.
|
|
* Enable warnings as errors and fix all warnings
* Enable skip-metadata-version-check compiler setting
|
|
|
|
* Make a default value dependent on source set
* Get a default value from an expect source set
* Fix default value for expect properties
* Deprecate `DefaultValue.value`
* Add test
* Refactor
* Reformat
|
|
* Fix empty parentheses for no-arg enum entry
Fixes #2355
* Move parentheses punctuation inside `list` call
* Revert formatting
* Correct expected ordering of enum entries in tests
|
|
* Update Jsoup to 1.14.3
* Fix Jsoup API breaking changes after the update
* Fix new Qodana inspections
* Replace IllegalStateException with more appropriate NoSuchElementException
|
|
|
|
Fixes #1880
|
|
* Implement vertical alignment (wrapping) of parameters for kt
* Add tests for params wrapping and extend matchers to check for classes
* Add distinguishable parameters block to kotlinAsJava, extract common logic
* Create a separate Kind for symbol function parameters
|
|
* Keep ui tabs
* Group functions by description
* Fix tests for keeping ui tabs
|
|
|
|
* Add manual code highlighting
* Fix test
* Add kotlinAsJava highlighting
* Add runtime highlighting via Prism
* Add copy-button for code block
* Add tests and refactor
* Replace `<br>` for prism.js
* Parse trivial default values
Co-authored-by: Marcin Aman <marcin.aman@gmail.com>
|
|
|
|
omit parentheses if there are no parameters
add quotes for string literals into annotations
|
|
|
|
|
|
|
|
* Parsing of JvmName
* Make JvmName processor run after KaJ
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
default values
|
|
|
|
|
|
|
|
|