Commit Graph

90695 Commits

Author SHA1 Message Date
Nikolay Krasko 701e6ec91e Remove unused junit 4.12 from verification-metadata.xml
KTI-606
2022-01-21 20:59:41 +03:00
Ivan Kochurkin ed836f28f4 [FIR2IR] Function reference type approximation hack KT-49526 2022-01-21 19:34:11 +03:00
Ivan Kochurkin 070e860669 [FIR] Fix visibility for property accessors in raw fir common 2022-01-21 19:34:10 +03:00
Ivan Kochurkin defb0cf611 [FIR] Fix ambiguity between Sequence.forEach and Iterable.forEach (with @HidesMembers) ^KT-50776 Fixed 2022-01-21 19:34:10 +03:00
Ivan Kochurkin 4a200a2d7e [FIR2IR] Fix NSEE in case of lambda in enum entry constructor call, ^KT-50774 Fixed 2022-01-21 19:34:09 +03:00
Svyatoslav Scherbina a65b278f71 Native: generate debug locations for catch parameters
^KT-50558 Fixed
2022-01-21 16:08:13 +00:00
Ilya Kirillov d74418f575 LL API: remove old resolve api 2022-01-21 16:46:40 +01:00
Ilya Kirillov 6dd01a2ff5 LL API: do not lazy resolve local declarations 2022-01-21 16:46:39 +01:00
Ilya Kirillov c7729689c4 LL API: always create FirFile with lazy bodies 2022-01-21 16:46:38 +01:00
Ilya Kirillov 75ae37fcbf LL API: remove unused resolve api 2022-01-21 16:46:36 +01:00
Ilya Kirillov 7a0d1ce0d1 LL API: consider enum entries as structure elements 2022-01-21 16:46:30 +01:00
Ilya Kirillov e1fece6402 Analysis API: fix testdata of reference resolve tests which started to pass 2022-01-21 16:46:28 +01:00
Ilya Kirillov 16fbc09997 Analysis API: use FirSymbol in KtFirSymbol's instead of FirDeclaration
^KT-50271 fixed
2022-01-21 16:46:27 +01:00
Ilya Kirillov b20859e305 FIR: use "value" name in default setter value parameter symbol
This name is used in corresponding declaration
2022-01-21 16:46:26 +01:00
Ilya Kirillov d1335d3f44 Docs: add basic FIR compiler documentation
Originally written by Dmitriy Novozhilov
2022-01-21 15:56:47 +01:00
Anastasia.Shadrina 87b0670bbb [Tests] Add CompileKotlinAgainstCustomBinaries test for CR 2022-01-21 17:22:00 +03:00
Anastasia.Shadrina a86b4d767e [FE] KT-50878 Prohibit using contextual declarations without -Xcontext-receivers 2022-01-21 17:21:59 +03:00
Ivan Gavrilovic c93594331b [Gradle] Move some of the DSL to the API module
DSL exposed in the build scripts in effectively
an API, so this change moves it to the kotlin-gradle-plugin-api
subproject.

^KT-50869 In Progress
2022-01-21 16:57:23 +03:00
Dmitriy Novozhilov bb4f996467 Advance bootstrap to 1.7.0-dev-911 2022-01-21 15:44:04 +03:00
nataliya.valtman 791762d7ea Update kotlin report properties
-add kotlin.build.report.output to add file/http/build_scan reports
-all reports verbose by default
-verbose reports includes compiler metrics
-fix "custom value exceed length limit"
2022-01-21 09:43:21 +00:00
Ilya Goncharov 72656b49f4 [Gradle, JS] Fix Native test and not consider artifact in path 2022-01-21 09:17:41 +00:00
Ilya Goncharov 443c0bf74f [Gradle, JS] Fix case with multiple artifacts in module 2022-01-21 09:17:41 +00:00
Dmitriy Novozhilov bea2bc3980 [Parcelize] Move FIR related parts of parcelize to separate module
This is needed to avoid bundling of FIR classes to IDE plugin for
  parcelize, because it can cause compatibility issues, because
  IDE plugin does not contain FIR compiler
2022-01-21 10:22:39 +03:00
Mikhail Glukhikh 756ff6cf43 Minor performance improvements in tryToCompleteWithBuilderInference 2022-01-20 23:46:40 +03:00
Mikhail Glukhikh 98cdc95cd0 FIR DFA: exit delegate expression only after accessor completion
This commit fixes DFA problem (see test) when we accidentally try
to merge incoming flows from member property (val ... by cached ...) and
the following function. While completing lambda of buildList { ... }
inside by cached we accidentally assume that delegate is already left
and add the lambda into exitsFromCompletedPostponedAnonymousFunction.
This commit fixes the problem by exiting delegate later, after completion.
2022-01-20 23:46:39 +03:00
Mikhail Glukhikh c324bbfc37 FIR: fold two last getOrderedAllTypeVariables calls into one (stage 7,8)
This commit saves us some performance and fixes test for KT-35684.
FIR-based constraint completer at this moment can't extract type
variables from already completed calls.
Folding allows us to extract ordered type variables before completion.
2022-01-20 23:46:38 +03:00
Mikhail Glukhikh 7f62d1bc5a FIR: move down inference session handling in PostponedArgumentsAnalyzer
After this commit the handling of inference session in similar for
FIR and FE 1.0
2022-01-20 23:46:37 +03:00
Mikhail Glukhikh bd6fef7841 FIR: don't add partially resolved call in builder inference mode 2022-01-20 23:46:37 +03:00
Mikhail Glukhikh e8be9d4861 FIR: support don't use builder inference if possible
In this commit we upgrade FIR builder inference logic from
the compiler version to 1.7. FIR-based compiler now works with
"don't use builder inference" flag always ON and supports switching
the flag "use builder inference only if needed". To do it,
ContraintSystemCompleter (FIR) and KotlinConstraintSystemCompleter (FE 1.0)
are made similar with extracting some common parts into
ConstraintSystemCompletionContext.

Test status: one BB test fails after this commit (KT-49285).
Also we have a crush in DFA logic in FIR bootstrap test and somehow
questionable behavior in FIR diagnostic test. However,
two BB tests were fixed, the 3rd case from KT-49925 were also fixed.

#KT-49925 Fixed
2022-01-20 23:46:36 +03:00
Mikhail Glukhikh d2bfb7153e Add test from KT-49925 (example 3, fails yet) 2022-01-20 23:46:35 +03:00
Ilya Kirillov ce1e4f252f FIR: make transformInplace to be thread safe if no transformation was done
^KT-50822 fixed
2022-01-20 23:28:08 +03:00
Ilya Kirillov 0eda3d6cd5 LL API: fix unresolved class supertype from importing scope 2022-01-20 23:26:29 +03:00
Ilya Kirillov 3b943706d8 Analysis API: fix call resolve inside plusAssign target
^KT-50864 fixed
2022-01-20 23:26:28 +03:00
Ilya Kirillov db1dedc9fe LL API: add source element kind rendering to the GetOrBuildFirTest 2022-01-20 23:26:28 +03:00
Nikolay Krasko 87bf6e010e Use relative paths in stdlib klib artifacts
Intentionally use doFirst section to trick gradle and not affect
inputs with absolute path usage.

Old behaviour can be returned by kotlin.build.use.absolute.paths.in.klib
in local.properties

Should be removed after KT-50876 fix.

^KTI-730 In Progress
2022-01-20 21:50:20 +03:00
Igor Yakovlev b22190ccc1 [WASM] Initialize constant fields by wasm-initializers 2022-01-20 19:18:46 +03:00
Alexander Udalov f40a0ca704 JVM IR: avoid unnecessary toIrBasedKotlinType in ExpressionCodegen
Result of calling `ExpressionCodegen.gen` was used only in two call
sites in the inliner. In all other call sites, we were doing unnecessary
work (and sometimes were even failing) by trying to construct a
KotlinType instance out from an IrType.

Note that even though the code from KT-50617 no longer fails to compile,
the underlying problem is still not solved, since the IrType for foo's
dispatch receiver is constructed incorrectly. The reason is that
SymbolTable links everything by IdSignature, which is identical for
classes with the same FQ name.

 #KT-50617 Fixed
2022-01-20 16:05:42 +01:00
Yahor Berdnikau 5f22bcd03b Migrated ExecutionStrategyIT tests to new DSL
^KT-45745 In Progress
2022-01-20 14:20:57 +01:00
Dmitry Petrov 12d8b189a9 JVM_IR KT-50856 fix generic signature for SAM proxy function 2022-01-20 10:41:55 +00:00
Dmitriy Novozhilov cd578e9d13 [FIR] Fix inference in presence of Unit expected type 2022-01-20 11:25:47 +03:00
Dmitriy Novozhilov 8624d97f29 [FIR] Extract adding of constraints from expected type to separate method 2022-01-20 11:25:47 +03:00
Dmitriy Novozhilov def799cc4e [FIR] Fix inference of postponed lambdas if containg call has explicit type arguments 2022-01-20 11:25:46 +03:00
Dmitriy Novozhilov fbab32c4dd [FIR] Remove redundant nullability from findFunctionalTypesInConstraints return type 2022-01-20 11:25:46 +03:00
Dmitriy Novozhilov 7d8a8d543f [FIR] Fix processing calls on unstable smartcasts with check not null call 2022-01-20 11:25:45 +03:00
Dmitriy Novozhilov 1a3841d66d [FIR] Properly enhance raw Class type in java annotations 2022-01-20 11:25:44 +03:00
Dmitriy Novozhilov 239a330ddd [FE 1.0] Add test for KT-50850 2022-01-20 11:25:41 +03:00
Xin Wang 56e5db9f0e JVM_IR KT-50074 generate tableswitch for literal string subject of when expression 2022-01-19 22:25:49 +03:00
Alexander Shabalin 69bb2587eb [K/N] Make GC scheduler less aggressive
^KT-48537

Merge-request: KT-MR-5319
Merged-by: Alexander Shabalin <Alexander.Shabalin@jetbrains.com>
2022-01-19 19:11:15 +00:00
Alexander Udalov 3e7b1c027f IR: make IrConst.copyWithOffsets an extension function
Co-authored-by: mcpiroman <mcpiroman@gmail.com>
2022-01-19 17:50:36 +01:00
Alexander Udalov 785eb83822 IR: refactor IrMemberAccessExpression internals
The idea is to keep the subclasses as simple as possible, to simplify
transition to auto-generated IR.

Co-authored-by: mcpiroman <mcpiroman@gmail.com>
2022-01-19 17:50:36 +01:00