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
|
|
|
|
|
|
|
|
Avoids the confusion when original 1.0 declarations can be thought of having since kotlin version 1.2 because their common documentation is shown on the first tab.
Common declaration are removed from documentation versions < 1.2 with a different approach - by not configuring a common source set.
|
|
classlikes (#2749)
|
|
* Introduce `extraOptions`
* Make 'SinceKotlin' option
* Display 'SinceKotlin' everywhere
* Dump API
* Fix CLI bug
* Show custom tags in property brief
* Show custom tags in extension brief
* Show `SinceKotlin` for TypeAlias
* Fix `stdlib.diff`
* Add a test
* Display doc for actual typealias
* Propagate SinceKotlin
* Refactor
* Refactor in `SinceKotlinTransformer`
* Revert "Introduce `extraOptions`"
This reverts commit b83fdf5da31a97e2ae037f46a735d34a2f84d2ec.
* Revert "Make 'SinceKotlin' option"
This reverts commit 69f4641d1776f3a4bcd361919212c2de7fa2364e.
* Introduce `dokka.SinceKotlin` system property instead of extra arg
* Fix API
* Fix tests
* Rename
* Spread on extensions
* Put doc and rename prop
|
|
|
|
|
|
|
|
* Underline `@param` tag key for more consistency
* Correct keyValue table column ratio
|
|
|
|
|
|
|
|
|
|
* Enable warnings as errors and fix all warnings
* Enable skip-metadata-version-check compiler setting
|
|
* Add option to merge implicit expect-actual declarations
* Merge entries, constructors
* Fix StdLib integration test
* Add doc
|
|
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
|
|
|
|
* Introduce `documentedVisibilities` setting
* Remove hardcoded doc generation for Visibility.PUBLIC, correct tests
* Add maven, gradle and cli integration tests for documentedVisibilities
* Fix maven plugin configuration overriding the default value
* Remove test debug prints
* Correct an inconsistency with default values and leave a comment of intentions
* Add a test for visibility of private setter
|
|
* Remove extra top margin in paragraph
* Remove margin-bottom from platform-hinted
* Fix link underlining in table and anchor icon
* Make breakable names of constructors
* Add test for breakable name of constructor
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Webhelp like frontend
|
|
* 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>
|
|
* Make briefs contain first paragraph as in spec, resolve issues with i.e.
* Html and the end
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* Annotations for parameters
* Annotations for parameters
|
|
|
|
* Parsing of JvmName
* Make JvmName processor run after KaJ
|
|
|