Commit Graph

82 Commits

Author SHA1 Message Date
Nikita Bobko 5c8d55fba7 Update docs/fir/k2_kmp.md wrt KT-62590 2023-11-06 14:41:28 +00:00
Anastasiia Spaseeva a991a13295 Reproducible builds: convert instruction to the template
^Relates to KTI-1222
2023-11-01 12:59:13 +00:00
Simon Ogorodnik 024e94a479 [K2] Document KMP implementation in the K2 Compiler
Add comprehensive documentation explaining the implementation and
functions of the Kotlin multiplatform (KMP) support in the K2 Compiler.
2023-10-12 12:27:54 +00:00
Vsevolod Tolstopyatov d8a5d3e938 Introduce code_authoring_and_core_review.md
The corresponding rationale and the goals of the proposals can be found here: https://docs.google.com/document/d/1PWBlAvd1VTVoR0DLcf8At5qRTpG4--tGhLOdlOcS3H4


Co-authored-by: Simon Ogorodnik <Simon.Ogorodnik@gmail.com>


Merge-request: KT-MR-11375
Merged-by: Vsevolod Tolstopyatov <qwwdfsad@gmail.com>
2023-09-20 17:26:31 +00:00
Denis.Zharkov a02cb16fb2 K2: Rewrite delegate inference
The main idea is getting rid of stub types and using just type variables
See more detailed description at docs/fir/delegated_property_inference.md

The problem with stub types is that they need really special treatment
in many places, and on the other hand, there are no clear contracts on
how they should work (that regularly leads to bugs like KT-59529)

^KT-61060 Fixed
^KT-61075 Fixed
^KT-61077 Fixed
^KT-59529 Fixed
^KT-61633 Related
^KT-61618 Related
^KT-61740 Related
^KT-59107 Related
^KT-61747 Related
^KT-61077 Related
^KT-61781 Related
2023-09-08 07:11:48 +00:00
Margarita Bobova affe0754bf Add ChangeLog for 1.9.0 and move ChangeLog for 1.8.X to a separate file 2023-08-09 12:26:03 +00:00
Simon Ogorodnik 3e6b42083b FIR: Fix leakage of type variables in builder inference for lambdas returning Unit
When BI/incomplete call is present in return argument, it will be
added to the main call-tree, leading to requirement violation in
`ConstraintSystemCompleter.getOrderedAllTypeVariables`
as after `FirBuilderInferenceSession.inferPostponedVariables` it will
be completed, and its type variables couldn't be found anymore

In K1, we actually do the same, but we are able to find type variables
of such calls due to architecture difference:
In K2, `getOrderedAllTypeVariables` uses FIR as the main source to
lookup
In K1, `getOrderedAllTypeVariables` uses resolution atom tree, where
candidate/CS of the call is still available after
`inferPostponedVariables`

In fact, all incomplete calls were analyzed in FULL mode according to
the contract of `FirBuilderInferenceSession.addPartiallyResolvedCall`.
Thus, it means we normally shouldn't add them to the main call-tree, but
accidentally do it as incomplete calls contain non-completed candidate

This particular commit addresses the problem partially, only
in cases when the expected return type for the lambda is Unit and when
the incomplete call is located in the last expression of the lambda

In such cases, we can skip the call from the last expression completely,
since all potential calls there were analyzed in FULL mode,
and couldn't introduce any useful info to the CS of the main call-tree

^KT-54294
2023-05-17 10:50:36 +00:00
Simon Ogorodnik 4d1ea06c17 FIR. Document current builder inference algorithm 2023-05-10 10:40:04 +00:00
Margarita Bobova ea2145415d Move ChangeLog for 1.7.X to a separate file 2023-04-25 13:37:32 +02:00
Nikolay Krasko a5876811d8 Instruction for 1.8.20 build 2023-04-17 13:33:50 +00:00
Nikolay Krasko 6afaa13eab Add docker file for building Kotlin build environment
KTI-1119
2023-02-06 10:01:53 +00:00
Bogdan Mukvich 71a80c5e36 Reproducible build should not run as root inside docker 2023-01-17 09:33:30 +00:00
Nikolay Krasko 3d4af8e1ab Remove mentioning of maven.zip in 1.8.0 instruction
KTI-1091
2023-01-11 16:46:08 +00:00
Nikolay Krasko 1451ef74c2 Additional note in instruction for reproducibility 1.8.0 2023-01-10 18:06:38 +01:00
Nikolay Krasko 4c925d0588 Instructions for building 1.8.0 2022-12-30 11:13:40 +00:00
Nikolay Krasko 03d3885eff Instruction for building 1.8.0-Beta release 2022-11-24 12:55:06 +00:00
Nikolay Krasko e02395fa61 Instruction for building 1.7.21 release 2022-11-24 12:55:05 +00:00
Nikolay Krasko 4c16d7597a Instructions for building 1.7.20 release 2022-11-22 20:29:21 +00:00
Nikolay Krasko 2ea0cdf46d Rules for commit messages
Part of KTI-944 about adding automatic checks to commit messages.
2022-10-12 09:39:51 +00:00
Svyatoslav Scherbina 527e8dde27 docs: add more links for contributing to Kotlin/Native 2022-10-10 14:55:36 +00:00
Margarita Bobova 71e617a7f5 Add changelog for 1.7.0 2022-06-14 13:07:32 +02:00
Jinseong Jeon 4700ad3e9e Docs: fix links to sources in FIR plugins 2022-06-08 11:28:56 +02:00
Dmitriy Novozhilov 7048cac770 [FIR] Move FirPredicateBasedProvider to :compiler:fir:tree module 2022-06-07 14:12:17 +00:00
Ilya Kirillov b5ad6f5db4 [analysis api] move analysis session classes to separate packages, use KtAnalysisApiInternals to mark internal API 2022-05-12 16:15:14 +02:00
Ilya Kirillov ef0160c026 [analysis api] rename ValidityToken -> KtLifetimeToken 2022-05-12 16:15:02 +02:00
Kristoffer Andersen 4614ca94c5 Update analysis-api.md 2022-05-04 02:27:23 +02:00
Shumaf Lovpache 729afb6149 Docs: fix typos and references
Fix reference to fir_basics
2022-02-10 13:55:11 +01:00
Dmitriy Novozhilov 086d874fe2 Docs: Fix links to sources in FIR Plugins documentation 2022-01-31 16:28:03 +03:00
Ilya Kirillov d38e797399 Docs: Analysis API Usage document 2022-01-28 18:14:41 +01:00
Ilya Kirillov b67e011930 Docs: fix small typos 2022-01-28 18:14:40 +01:00
Ilya Kirillov 5e6827e65e Docs: change analysis docs structure 2022-01-28 18:14:40 +01:00
Dmitriy Novozhilov ee180a37a6 Docs: add basic FIR plugin API documentation 2022-01-24 11:11:07 +03:00
Ilya Kirillov d1335d3f44 Docs: add basic FIR compiler documentation
Originally written by Dmitriy Novozhilov
2022-01-21 15:56:47 +01:00
Ilya Kirillov c80d9d8dfb Docs: introduce some basic docs and contribution guides for Analysis API 2022-01-11 14:33:24 +03:00
Margarita Bobova 3b98c330fd Add changelog for 1.5.32 2021-12-01 14:34:20 +03:00
Margarita Bobova 7f3b546288 Add changelog for 1.6.0 2021-11-18 17:39:02 +03:00
max-kammerer 71d59f89cb Fix type 2021-06-29 12:54:43 +02:00
Andrei Klunnyi 72d188efd9 Update contributing guide
After Kotlin-IDE-plugin is moved to intellij repository, this commit
updates contributing.md guide with corresponding references.
Other than that brief information on current repository is provided.
2021-06-29 10:46:29 +00:00
Margarita Bobova eaed67df29 Move 1.4.x changelog to a separate file 2021-06-17 14:50:36 +03:00
Alexander Udalov 82abc80215 Move old changelogs to docs/changelogs/ 2021-01-06 21:53:12 +01:00
Yanis Batura a65967a164 Mention the master branch as the target of pull requests in contributing.md. (#2533)
Also, improve grammar a bit in the same guide.
2019-09-02 14:54:31 +03:00
Mikhail Glukhikh b68e536e2a Add note about inspection highlighting range 2019-05-20 12:31:58 +03:00
ilya-g 66fb47e715 Fix relative link in contributing guide 2019-05-01 07:59:15 +03:00
Nikolay Krasko 01c0c3c924 Addition note about intention and quick-fixes execution in UI thread 2019-04-29 11:56:07 +03:00
Nikolay Krasko 5723bfdcaf Add a point about invalidated state between inspection checks and quick-fix run 2019-04-02 11:48:47 +03:00
Nikolay Krasko fb2e5f970d Add intention/inspections/quickfix contribution quick notes 2019-03-23 11:53:29 +03:00
Nikolay Krasko 9dd40cb904 Extract contributing guide for better GitHub integration 2018-12-21 16:06:51 +03:00
Pavel V. Talanov 498bb89358 Delete docs folder with old confluence documentation and talks presentations 2015-03-17 15:46:52 +03:00
Dmitry Jemerov 2e01c3b90a Remove outdated version of puzzlers from the Kotlin repository. An up-to-date version is available at https://github.com/kotlin-projects/ex-puzzlers 2015-01-19 15:58:33 +01:00
Alexander Udalov f3b2193afd Delete traces of "jet" in test data and unimportant code 2015-01-13 15:02:16 +03:00