Commit Graph

76 Commits

Author SHA1 Message Date
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
Alexander Udalov fad40ac11e Rename package jet -> kotlin in ant
org.jetbrains.jet.buildtools.ant -> org.jetbrains.kotlin.ant

The old antlib.xml is kept for migration purposes
2015-01-03 15:16:17 +03:00
Alexander Udalov f08c9d9815 Rename module build-tools -> ant 2014-12-10 18:23:46 +03:00
Nikolay Krasko 863ef64c61 Replace http://teamcity.jetbrains.com to https 2014-10-24 16:24:53 +04:00
Evgeny Gerashchenko e03eaf6dde Removed @author javadocs from code. 2012-12-28 17:44:31 +04:00
Andrey Breslav f72fb51a55 JVMLS lsides 2012-08-20 11:26:13 +04:00
Andrey Breslav 69e74cb147 Confluence docs. Initial version 2012-05-30 14:41:40 +04:00